Merge pull request #7 from tobspr/master

Update
This commit is contained in:
Killgaru 2020-06-16 13:13:29 +03:00 committed by GitHub
commit 2f829a4883
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
69 changed files with 2972 additions and 1499 deletions

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6463b33b2cae50d1ecb11f0a845f06633aff331a5c2c0998d9eb93e40ad576b1
size 636254
oid sha256:7d05e340acb18f7b6b6f05fa7536f14179cda54a9ead0923fbb8e39c68da148c
size 703229

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

BIN
artwork/reddit/banner.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:47b6aca7fe07f4628b041f32ce813a840793cfdce8ffa27c7ff4562858ac05f9
size 194245
oid sha256:92f3784f7a51e846da6f6fad53bc07d9525188a5133bab1a793eb6040a4c4341
size 185127

Binary file not shown.

After

Width:  |  Height:  |  Size: 380 KiB

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e0cd2d82917e470202d38d32277f7519ccfd1821cb21791266539ddf07486d1b
size 7314327

BIN
electron/favicon.icns Normal file

Binary file not shown.

View File

@ -1,60 +1,25 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
<path style="fill:#C8414B;" d="M400,0H112C50.144,0,0,50.144,0,112v288c0,61.856,50.144,112,112,112h288 c61.856,0,112-50.144,112-112V112C512,50.144,461.856,0,400,0z"/>
<rect y="106.63" style="fill:#FFD250;" width="512" height="298.74"/>
<path style="fill:#C8414B;" d="M223.091,256.412l8.255-33.665c0.76-3.1-1.843-6.041-5.347-6.041h-5.815 c-3.504,0-6.108,2.941-5.347,6.041L223.091,256.412z"/>
<rect x="213.35" y="238.76" style="fill:#F5F5F5;" width="19.473" height="75"/>
<rect x="208.49" y="229.94" style="fill:#FAB446;" width="29.21" height="8.823"/>
<g>
<rect x="189.01" y="256.41" style="fill:#C8414B;" width="48.681" height="8.823"/>
<polygon style="fill:#C8414B;" points="237.696,291.706 208.487,282.882 208.487,274.059 237.696,282.882 "/>
<path style="fill:#C8414B;" d="M77.047,256.412l8.255-33.665c0.76-3.1-1.843-6.041-5.347-6.041H74.14 c-3.504,0-6.108,2.941-5.347,6.041L77.047,256.412z"/>
</g>
<path style="fill:#F5F5F5;" d="M111.124,229.941c-5.377,0-9.736,3.95-9.736,8.824v57.353c0,10.721,11.041,30.882,48.682,30.882 s48.682-20.162,48.682-30.882v-57.353c0-4.873-4.359-8.824-9.736-8.824L111.124,229.941L111.124,229.941z"/>
<g>
<path style="fill:#C8414B;" d="M150.069,274.059h-48.682V239.21c0-5.119,4.15-9.269,9.269-9.269h39.413V274.059z"/>
<path style="fill:#C8414B;" d="M150.069,274.059h48.682v20.946c0,12.797-10.374,23.172-23.172,23.172h-2.338 c-12.797,0-23.172-10.374-23.172-23.172L150.069,274.059L150.069,274.059z"/>
</g>
<path style="fill:#FAB446;" d="M101.387,274.059h48.682v20.946c0,12.797-10.374,23.172-23.172,23.172h-2.338 c-12.797,0-23.172-10.374-23.172-23.172C101.387,295.005,101.387,274.059,101.387,274.059z"/>
<g>
<path style="fill:#C8414B;" d="M140.333,313.665v-39.606h-9.736v43.673C134.217,317.065,137.49,315.612,140.333,313.665z"/>
<path style="fill:#C8414B;" d="M120.86,317.732v-43.673h-9.736v39.606C113.967,315.612,117.239,317.065,120.86,317.732z"/>
</g>
<rect x="111.12" y="256.41" style="fill:#FFB441;" width="29.21" height="8.823"/>
<g>
<rect x="111.12" y="238.76" style="fill:#FAB446;" width="29.21" height="8.824"/>
<rect x="115.99" y="244.01" style="fill:#FAB446;" width="19.473" height="15.985"/>
</g>
<rect x="67.31" y="238.76" style="fill:#F5F5F5;" width="19.473" height="75"/>
<g>
<rect x="62.44" y="309.35" style="fill:#FAB446;" width="29.21" height="8.823"/>
<rect x="62.44" y="229.94" style="fill:#FAB446;" width="29.21" height="8.823"/>
</g>
<rect x="57.57" y="318.18" style="fill:#5064AA;" width="38.945" height="8.823"/>
<rect x="213.35" y="309.35" style="fill:#FAB446;" width="29.21" height="8.823"/>
<rect x="203.62" y="318.18" style="fill:#5064AA;" width="38.945" height="8.823"/>
<rect x="120.86" y="221.12" style="fill:#FAB446;" width="58.42" height="8.823"/>
<rect x="145.2" y="194.65" style="fill:#FFB441;" width="9.736" height="26.471"/>
<g>
<path style="fill:#F5F5F5;" d="M140.333,207.882c-8.053,0-14.604-5.937-14.604-13.235s6.551-13.235,14.604-13.235 c8.053,0,14.604,5.937,14.604,13.235S148.386,207.882,140.333,207.882z M140.333,190.235c-2.686,0-4.868,1.978-4.868,4.412 s2.182,4.412,4.868,4.412c2.686,0,4.868-1.978,4.868-4.412C145.201,192.213,143.019,190.235,140.333,190.235z"/>
<path style="fill:#F5F5F5;" d="M159.805,207.882c-8.053,0-14.604-5.937-14.604-13.235s6.551-13.235,14.604-13.235 c8.053,0,14.604,5.937,14.604,13.235S167.859,207.882,159.805,207.882z M159.805,190.235c-2.686,0-4.868,1.978-4.868,4.412 s2.182,4.412,4.868,4.412c2.686,0,4.868-1.978,4.868-4.412C164.673,192.213,162.491,190.235,159.805,190.235z"/>
<path style="fill:#F5F5F5;" d="M179.278,216.706c-8.053,0-14.604-5.937-14.604-13.235s6.551-13.235,14.604-13.235 c8.053,0,14.605,5.937,14.605,13.235S187.331,216.706,179.278,216.706z M179.278,199.059c-2.686,0-4.868,1.978-4.868,4.412 s2.182,4.412,4.868,4.412c2.686,0,4.868-1.978,4.868-4.412C184.146,201.036,181.964,199.059,179.278,199.059z"/>
<path style="fill:#F5F5F5;" d="M120.86,216.706c-8.053,0-14.604-5.937-14.604-13.235s6.551-13.235,14.604-13.235 s14.604,5.937,14.604,13.235S128.913,216.706,120.86,216.706z M120.86,199.059c-2.686,0-4.868,1.978-4.868,4.412 s2.182,4.412,4.868,4.412s4.868-1.978,4.868-4.412C125.728,201.036,123.546,199.059,120.86,199.059z"/>
</g>
<path style="fill:#FAB446;" d="M179.278,291.706v4.412c0,2.433-2.184,4.412-4.868,4.412c-2.684,0-4.868-1.979-4.868-4.412v-4.412 H179.278 M189.014,282.882h-29.209v13.235c0,7.298,6.552,13.235,14.604,13.235c8.053,0,14.605-5.938,14.605-13.235V282.882 L189.014,282.882z"/>
<path style="fill:#FFA0D2;" d="M174.877,265.235h-0.935c-5.119,0-9.269-4.15-9.269-9.269v-7.933c0-5.119,4.15-9.269,9.269-9.269 h0.935c5.119,0,9.269,4.15,9.269,9.269v7.933C184.146,261.086,179.996,265.235,174.877,265.235z"/>
<ellipse style="fill:#5064AA;" cx="150.07" cy="274.06" rx="14.604" ry="13.235"/>
<rect x="145.2" y="177" style="fill:#FAB446;" width="9.736" height="26.471"/>
<path style="fill:#C8414B;" d="M120.86,221.118l-9.736-8.824l5.703-5.169c8.816-7.99,20.774-12.478,33.242-12.478l0,0 c12.468,0,24.426,4.489,33.242,12.478l5.703,5.169l-9.736,8.824H120.86z"/>
<g>
<ellipse style="fill:#FFD250;" cx="150.07" cy="212.29" rx="4.868" ry="4.412"/>
<ellipse style="fill:#FFD250;" cx="130.6" cy="212.29" rx="4.868" ry="4.412"/>
<ellipse style="fill:#FFD250;" cx="169.54" cy="212.29" rx="4.868" ry="4.412"/>
</g>
<g>
<rect x="62.44" y="256.41" style="fill:#C8414B;" width="48.681" height="8.823"/>
<polygon style="fill:#C8414B;" points="62.442,291.706 91.651,282.882 91.651,274.059 62.442,282.882 "/>
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
<g transform="translate(-1)">
<path style="fill:#46B29D;" d="M328.61,98.163h0.088c1.971-0.012,3.923,0.379,5.738,1.148l71.683,29.484
c4.07,1.723,7.249,5.049,8.787,9.193c1.537,4.144,1.297,8.739-0.665,12.699l-11.652,24.099
c-5.942,12.252-10.388,25.174-13.242,38.488l-12.624,58.086c-1.107,5.424-5.003,9.857-10.24,11.652l-11.653,3.972
c-5.094,1.809-8.94,6.053-10.241,11.299l-6.885,28.513c-0.25,1.103-0.635,2.17-1.148,3.178l-5.473,11.211
c-2.003,4.139-5.709,7.201-10.152,8.386l-18.715,4.855c-7.018,1.83-11.893,8.196-11.829,15.448v11.211
c-0.023,3.42-1.102,6.75-3.09,9.534l-19.51,26.748c-3.683,5.056-5.967,10.993-6.621,17.214l-6.091,56.585
c-0.638,5.71-3.3,11.002-7.503,14.919c-4.172,3.812-9.621,5.922-15.272,5.914c-10.207-0.042-19.147-6.854-21.896-16.684
L187.45,416.75c-0.269-0.922-0.447-1.868-0.53-2.825l-17.656-163.84c-0.585-5.323-3.801-9.997-8.563-12.447l-21.629-11.211
c-5.391-2.781-9.662-7.331-12.094-12.888l-26.661-61.793c-4.326-9.941-2.235-21.509,5.297-29.308l10.064-10.417
c3.583-3.658,5.192-8.813,4.326-13.859l-4.414-27.63c-2.316-13.91,2.107-28.094,11.918-38.223l18.715-19.244
C154.266,4.72,165.356,0.003,176.945,0h29.662c11.59,0.003,22.679,4.72,30.721,13.065l16.244,16.684L328.61,98.163z"/>
<path style="fill:#BDC3C7;" d="M283.478,97.103h35.31V220.69c0,9.751-7.904,17.655-17.655,17.655l0,0
c-9.751,0-17.655-7.904-17.655-17.655V97.103z"/>
<circle style="fill:#CC4B4C;" cx="301.133" cy="52.966" r="52.966"/>
<path style="fill:#FB7B76;" d="M283.478,61.793c-4.875,0-8.828-3.952-8.828-8.828c0.016-14.619,11.863-26.467,26.483-26.483
c4.875,0,8.828,3.952,8.828,8.828s-3.952,8.828-8.828,8.828c-4.873,0.006-8.821,3.955-8.828,8.828
C292.305,57.841,288.353,61.793,283.478,61.793z"/>
</g>
<g>
</g>

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

41
res/ui/languages/no.svg Normal file
View File

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
<path style="fill:#FF4B55;" d="M400,0H112C50.144,0,0,50.144,0,112v288c0,61.856,50.144,112,112,112h288
c61.856,0,112-50.144,112-112V112C512,50.144,461.856,0,400,0z"/>
<polygon style="fill:#F5F5F5;" points="512,211.862 229.517,211.862 229.517,0 141.241,0 141.241,211.862 0,211.862 0,300.138
141.241,300.138 141.241,512 229.517,512 229.517,300.138 512,300.138 "/>
<polygon style="fill:#41479B;" points="512,229.517 211.862,229.517 211.862,0 158.897,0 158.897,229.517 0,229.517 0,282.483
158.897,282.483 158.897,512 211.862,512 211.862,282.483 512,282.483 "/>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
<path style="fill:#FF4B55;" d="M400,0H185.379v512H400c61.856,0,112-50.144,112-112V112C512,50.144,461.856,0,400,0z"/>
<path style="fill:#73AF00;" d="M112,0C50.144,0,0,50.144,0,112v288c0,61.856,50.144,112,112,112h73.379V0H112z"/>
<circle style="fill:#FFE15A;" cx="185.45" cy="256" r="112.38"/>
<path style="fill:#FF4B55;" d="M222.941,218.508v49.99c0,20.673-16.819,37.492-37.492,37.492s-37.492-16.819-37.492-37.492v-49.99
L222.941,218.508 M235.438,193.513h-99.98c-6.902,0-12.497,5.595-12.497,12.497v62.487c0,34.511,27.977,62.487,62.487,62.487
s62.487-27.977,62.487-62.487V206.01C247.936,199.108,242.34,193.513,235.438,193.513L235.438,193.513z"/>
<path style="fill:#F5F5F5;" d="M211.931,229.517v35.31c0,14.603-11.88,26.483-26.483,26.483s-26.483-11.88-26.483-26.483v-35.31
H211.931"/>
<g>
<circle style="fill:#FFE15A;" cx="135.36" cy="206.01" r="6.249"/>
<circle style="fill:#FFE15A;" cx="235.34" cy="206.01" r="6.249"/>
<circle style="fill:#FFE15A;" cx="135.36" cy="256" r="6.249"/>
<circle style="fill:#FFE15A;" cx="235.34" cy="256" r="6.249"/>
<circle style="fill:#FFE15A;" cx="185.35" cy="206.01" r="6.249"/>
<circle style="fill:#FFE15A;" cx="222.87" cy="302.08" r="6.249"/>
<circle style="fill:#FFE15A;" cx="148.57" cy="302.08" r="6.249"/>
</g>
<g>
<path style="fill:#41479B;" d="M193.52,252.832v10.762c0,4.451-3.621,8.071-8.071,8.071s-8.071-3.621-8.071-8.071v-10.762H193.52"
/>
<path style="fill:#41479B;" d="M193.52,227.317v10.762c0,4.451-3.621,8.071-8.071,8.071s-8.071-3.621-8.071-8.071v-10.762H193.52"
/>
<path style="fill:#41479B;" d="M193.52,278.608v10.762c0,4.451-3.621,8.071-8.071,8.071s-8.071-3.621-8.071-8.071v-10.762H193.52"
/>
<path style="fill:#41479B;" d="M215.26,252.832v10.762c0,4.451-3.621,8.071-8.071,8.071s-8.071-3.621-8.071-8.071v-10.762H215.26"
/>
<path style="fill:#41479B;" d="M171.779,252.832v10.762c0,4.451-3.621,8.071-8.071,8.071s-8.071-3.621-8.071-8.071v-10.762H171.779
"/>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -2,7 +2,7 @@
"sprites/belt/forward_0.png":
{
"frame": {"x":204,"y":26,"w":13,"h":13},
"frame": {"x":95,"y":372,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -10,7 +10,7 @@
},
"sprites/belt/forward_1.png":
{
"frame": {"x":221,"y":26,"w":13,"h":13},
"frame": {"x":112,"y":372,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -18,7 +18,7 @@
},
"sprites/belt/forward_2.png":
{
"frame": {"x":238,"y":26,"w":13,"h":13},
"frame": {"x":26,"y":356,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -26,7 +26,7 @@
},
"sprites/belt/forward_3.png":
{
"frame": {"x":255,"y":26,"w":13,"h":13},
"frame": {"x":43,"y":356,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -34,7 +34,7 @@
},
"sprites/belt/forward_4.png":
{
"frame": {"x":272,"y":26,"w":13,"h":13},
"frame": {"x":26,"y":373,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -42,7 +42,7 @@
},
"sprites/belt/forward_5.png":
{
"frame": {"x":245,"y":112,"w":13,"h":13},
"frame": {"x":3,"y":375,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -50,7 +50,7 @@
},
"sprites/belt/left_0.png":
{
"frame": {"x":262,"y":112,"w":13,"h":13},
"frame": {"x":43,"y":373,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -58,7 +58,7 @@
},
"sprites/belt/left_1.png":
{
"frame": {"x":279,"y":112,"w":13,"h":13},
"frame": {"x":60,"y":375,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -66,7 +66,7 @@
},
"sprites/belt/left_2.png":
{
"frame": {"x":296,"y":112,"w":13,"h":13},
"frame": {"x":77,"y":375,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -74,7 +74,7 @@
},
"sprites/belt/left_3.png":
{
"frame": {"x":313,"y":112,"w":13,"h":13},
"frame": {"x":94,"y":389,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -82,7 +82,7 @@
},
"sprites/belt/left_4.png":
{
"frame": {"x":289,"y":26,"w":13,"h":13},
"frame": {"x":111,"y":389,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -90,7 +90,7 @@
},
"sprites/belt/left_5.png":
{
"frame": {"x":306,"y":26,"w":13,"h":13},
"frame": {"x":20,"y":390,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -98,7 +98,7 @@
},
"sprites/belt/right_0.png":
{
"frame": {"x":330,"y":112,"w":13,"h":13},
"frame": {"x":3,"y":392,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -106,7 +106,7 @@
},
"sprites/belt/right_1.png":
{
"frame": {"x":347,"y":112,"w":13,"h":13},
"frame": {"x":37,"y":390,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -114,7 +114,7 @@
},
"sprites/belt/right_2.png":
{
"frame": {"x":323,"y":26,"w":13,"h":13},
"frame": {"x":54,"y":392,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -122,7 +122,7 @@
},
"sprites/belt/right_3.png":
{
"frame": {"x":364,"y":111,"w":13,"h":13},
"frame": {"x":71,"y":392,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -130,7 +130,7 @@
},
"sprites/belt/right_4.png":
{
"frame": {"x":381,"y":111,"w":13,"h":13},
"frame": {"x":20,"y":407,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -138,7 +138,7 @@
},
"sprites/belt/right_5.png":
{
"frame": {"x":340,"y":25,"w":13,"h":13},
"frame": {"x":3,"y":409,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -146,7 +146,7 @@
},
"sprites/blueprints/belt_left.png":
{
"frame": {"x":357,"y":23,"w":13,"h":13},
"frame": {"x":37,"y":407,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -154,7 +154,7 @@
},
"sprites/blueprints/belt_right.png":
{
"frame": {"x":374,"y":23,"w":13,"h":13},
"frame": {"x":88,"y":406,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -162,7 +162,7 @@
},
"sprites/blueprints/belt_top.png":
{
"frame": {"x":391,"y":23,"w":13,"h":13},
"frame": {"x":105,"y":406,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -170,7 +170,7 @@
},
"sprites/blueprints/cutter-quad.png":
{
"frame": {"x":82,"y":3,"w":76,"h":19},
"frame": {"x":3,"y":49,"w":76,"h":19},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":76,"h":19},
@ -178,7 +178,7 @@
},
"sprites/blueprints/cutter.png":
{
"frame": {"x":207,"y":43,"w":36,"h":19},
"frame": {"x":3,"y":221,"w":36,"h":19},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":36,"h":19},
@ -186,7 +186,7 @@
},
"sprites/blueprints/miner-chainable.png":
{
"frame": {"x":285,"y":3,"w":19,"h":19},
"frame": {"x":44,"y":175,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@ -194,7 +194,7 @@
},
"sprites/blueprints/miner.png":
{
"frame": {"x":245,"y":89,"w":19,"h":19},
"frame": {"x":44,"y":198,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@ -202,7 +202,7 @@
},
"sprites/blueprints/mixer.png":
{
"frame": {"x":166,"y":45,"w":37,"h":19},
"frame": {"x":3,"y":175,"w":37,"h":19},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":37,"h":19},
@ -210,15 +210,23 @@
},
"sprites/blueprints/painter-double.png":
{
"frame": {"x":84,"y":82,"w":38,"h":38},
"frame": {"x":84,"y":3,"w":38,"h":38},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":38,"h":38},
"sourceSize": {"w":38,"h":38}
},
"sprites/blueprints/painter-mirrored.png":
{
"frame": {"x":83,"y":87,"w":38,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":38,"h":19},
"sourceSize": {"w":38,"h":19}
},
"sprites/blueprints/painter-quad.png":
{
"frame": {"x":3,"y":83,"w":77,"h":19},
"frame": {"x":3,"y":3,"w":77,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":77,"h":19},
@ -226,7 +234,7 @@
},
"sprites/blueprints/painter.png":
{
"frame": {"x":82,"y":49,"w":38,"h":19},
"frame": {"x":82,"y":110,"w":38,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":38,"h":19},
@ -234,7 +242,7 @@
},
"sprites/blueprints/rotater-ccw.png":
{
"frame": {"x":268,"y":89,"w":19,"h":19},
"frame": {"x":43,"y":221,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@ -242,7 +250,7 @@
},
"sprites/blueprints/rotater.png":
{
"frame": {"x":285,"y":66,"w":19,"h":19},
"frame": {"x":106,"y":225,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@ -250,7 +258,7 @@
},
"sprites/blueprints/splitter-compact-inverse.png":
{
"frame": {"x":291,"y":89,"w":19,"h":19},
"frame": {"x":43,"y":244,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@ -258,7 +266,7 @@
},
"sprites/blueprints/splitter-compact.png":
{
"frame": {"x":287,"y":43,"w":19,"h":19},
"frame": {"x":106,"y":248,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@ -266,7 +274,7 @@
},
"sprites/blueprints/splitter.png":
{
"frame": {"x":245,"y":3,"w":36,"h":19},
"frame": {"x":66,"y":225,"w":36,"h":19},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":36,"h":19},
@ -274,7 +282,7 @@
},
"sprites/blueprints/stacker.png":
{
"frame": {"x":204,"y":3,"w":37,"h":19},
"frame": {"x":81,"y":179,"w":37,"h":19},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":37,"h":19},
@ -282,7 +290,7 @@
},
"sprites/blueprints/trash-storage.png":
{
"frame": {"x":126,"y":79,"w":35,"h":38},
"frame": {"x":3,"y":267,"w":35,"h":38},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":35,"h":38},
@ -290,7 +298,7 @@
},
"sprites/blueprints/trash.png":
{
"frame": {"x":308,"y":66,"w":19,"h":19},
"frame": {"x":42,"y":267,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@ -298,7 +306,7 @@
},
"sprites/blueprints/underground_belt_entry-tier2.png":
{
"frame": {"x":360,"y":89,"w":19,"h":18},
"frame": {"x":72,"y":313,"w":19,"h":18},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":1,"w":19,"h":18},
@ -306,7 +314,7 @@
},
"sprites/blueprints/underground_belt_entry.png":
{
"frame": {"x":354,"y":3,"w":19,"h":16},
"frame": {"x":72,"y":335,"w":19,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":3,"w":19,"h":16},
@ -314,7 +322,7 @@
},
"sprites/blueprints/underground_belt_exit-tier2.png":
{
"frame": {"x":356,"y":42,"w":19,"h":16},
"frame": {"x":95,"y":339,"w":19,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":16},
@ -322,7 +330,7 @@
},
"sprites/blueprints/underground_belt_exit.png":
{
"frame": {"x":377,"y":62,"w":19,"h":16},
"frame": {"x":26,"y":336,"w":19,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":16},
@ -330,7 +338,7 @@
},
"sprites/buildings/belt_left.png":
{
"frame": {"x":262,"y":112,"w":13,"h":13},
"frame": {"x":43,"y":373,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -338,7 +346,7 @@
},
"sprites/buildings/belt_right.png":
{
"frame": {"x":330,"y":112,"w":13,"h":13},
"frame": {"x":3,"y":392,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -346,7 +354,7 @@
},
"sprites/buildings/belt_top.png":
{
"frame": {"x":204,"y":26,"w":13,"h":13},
"frame": {"x":95,"y":372,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -354,7 +362,7 @@
},
"sprites/buildings/cutter-quad.png":
{
"frame": {"x":82,"y":26,"w":76,"h":19},
"frame": {"x":3,"y":72,"w":76,"h":19},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":76,"h":19},
@ -362,7 +370,7 @@
},
"sprites/buildings/cutter.png":
{
"frame": {"x":245,"y":66,"w":36,"h":19},
"frame": {"x":3,"y":244,"w":36,"h":19},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":36,"h":19},
@ -370,7 +378,7 @@
},
"sprites/buildings/hub.png":
{
"frame": {"x":3,"y":3,"w":75,"h":76},
"frame": {"x":3,"y":95,"w":75,"h":76},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":1,"w":75,"h":76},
@ -378,7 +386,7 @@
},
"sprites/buildings/miner-chainable.png":
{
"frame": {"x":314,"y":89,"w":19,"h":19},
"frame": {"x":42,"y":290,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@ -386,7 +394,7 @@
},
"sprites/buildings/miner.png":
{
"frame": {"x":310,"y":43,"w":19,"h":19},
"frame": {"x":104,"y":271,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@ -394,7 +402,7 @@
},
"sprites/buildings/mixer.png":
{
"frame": {"x":204,"y":68,"w":37,"h":19},
"frame": {"x":81,"y":202,"w":37,"h":19},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":37,"h":19},
@ -402,15 +410,23 @@
},
"sprites/buildings/painter-double.png":
{
"frame": {"x":162,"y":3,"w":38,"h":38},
"frame": {"x":84,"y":45,"w":38,"h":38},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":38,"h":38},
"sourceSize": {"w":38,"h":38}
},
"sprites/buildings/painter-mirrored.png":
{
"frame": {"x":82,"y":133,"w":38,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":38,"h":19},
"sourceSize": {"w":38,"h":19}
},
"sprites/buildings/painter-quad.png":
{
"frame": {"x":3,"y":106,"w":77,"h":19},
"frame": {"x":3,"y":26,"w":77,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":77,"h":19},
@ -418,7 +434,7 @@
},
"sprites/buildings/painter.png":
{
"frame": {"x":124,"y":49,"w":38,"h":19},
"frame": {"x":82,"y":156,"w":38,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":38,"h":19},
@ -426,7 +442,7 @@
},
"sprites/buildings/rotater-ccw.png":
{
"frame": {"x":331,"y":66,"w":19,"h":19},
"frame": {"x":104,"y":294,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@ -434,7 +450,7 @@
},
"sprites/buildings/rotater.png":
{
"frame": {"x":337,"y":89,"w":19,"h":19},
"frame": {"x":3,"y":309,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@ -442,7 +458,7 @@
},
"sprites/buildings/splitter-compact-inverse.png":
{
"frame": {"x":308,"y":3,"w":19,"h":19},
"frame": {"x":26,"y":313,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@ -450,7 +466,7 @@
},
"sprites/buildings/splitter-compact.png":
{
"frame": {"x":333,"y":43,"w":19,"h":19},
"frame": {"x":3,"y":332,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@ -458,7 +474,7 @@
},
"sprites/buildings/splitter.png":
{
"frame": {"x":247,"y":43,"w":36,"h":19},
"frame": {"x":66,"y":248,"w":36,"h":19},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":36,"h":19},
@ -466,7 +482,7 @@
},
"sprites/buildings/stacker.png":
{
"frame": {"x":204,"y":91,"w":37,"h":19},
"frame": {"x":3,"y":198,"w":37,"h":19},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":37,"h":19},
@ -474,7 +490,7 @@
},
"sprites/buildings/trash-storage.png":
{
"frame": {"x":165,"y":72,"w":35,"h":38},
"frame": {"x":65,"y":271,"w":35,"h":38},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":35,"h":38},
@ -482,7 +498,7 @@
},
"sprites/buildings/trash.png":
{
"frame": {"x":354,"y":66,"w":19,"h":19},
"frame": {"x":49,"y":313,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@ -490,7 +506,7 @@
},
"sprites/buildings/underground_belt_entry-tier2.png":
{
"frame": {"x":331,"y":3,"w":19,"h":18},
"frame": {"x":95,"y":317,"w":19,"h":18},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":1,"w":19,"h":18},
@ -498,7 +514,7 @@
},
"sprites/buildings/underground_belt_entry.png":
{
"frame": {"x":383,"y":82,"w":19,"h":16},
"frame": {"x":3,"y":355,"w":19,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":3,"w":19,"h":16},
@ -506,7 +522,7 @@
},
"sprites/buildings/underground_belt_exit-tier2.png":
{
"frame": {"x":377,"y":3,"w":19,"h":16},
"frame": {"x":49,"y":336,"w":19,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":16},
@ -514,7 +530,7 @@
},
"sprites/buildings/underground_belt_exit.png":
{
"frame": {"x":379,"y":40,"w":19,"h":16},
"frame": {"x":72,"y":355,"w":19,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":16},
@ -522,7 +538,7 @@
},
"sprites/debug/acceptor_slot.png":
{
"frame": {"x":82,"y":72,"w":6,"h":6},
"frame": {"x":67,"y":203,"w":6,"h":6},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":6,"h":6},
@ -530,7 +546,7 @@
},
"sprites/debug/ejector_slot.png":
{
"frame": {"x":92,"y":72,"w":6,"h":6},
"frame": {"x":67,"y":213,"w":6,"h":6},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":6,"h":6},
@ -538,7 +554,7 @@
},
"sprites/map_overview/belt_forward.png":
{
"frame": {"x":102,"y":72,"w":3,"h":3},
"frame": {"x":122,"y":179,"w":3,"h":3},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":3,"h":3},
@ -546,7 +562,7 @@
},
"sprites/map_overview/belt_left.png":
{
"frame": {"x":109,"y":72,"w":3,"h":3},
"frame": {"x":122,"y":186,"w":3,"h":3},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":3,"h":3},
@ -554,7 +570,7 @@
},
"sprites/map_overview/belt_right.png":
{
"frame": {"x":116,"y":72,"w":3,"h":3},
"frame": {"x":122,"y":193,"w":3,"h":3},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":3,"h":3},
@ -562,15 +578,23 @@
},
"sprites/misc/deletion_marker.png":
{
"frame": {"x":187,"y":114,"w":10,"h":10},
"frame": {"x":67,"y":175,"w":10,"h":10},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":10,"h":10},
"sourceSize": {"w":10,"h":10}
},
"sprites/misc/hub_direction_indicator.png":
{
"frame": {"x":122,"y":200,"w":3,"h":3},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":3,"h":3},
"sourceSize": {"w":3,"h":3}
},
"sprites/misc/slot_bad_arrow.png":
{
"frame": {"x":187,"y":114,"w":10,"h":10},
"frame": {"x":67,"y":175,"w":10,"h":10},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":10,"h":10},
@ -578,7 +602,7 @@
},
"sprites/misc/slot_good_arrow.png":
{
"frame": {"x":201,"y":114,"w":10,"h":10},
"frame": {"x":67,"y":189,"w":10,"h":10},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":10,"h":10},
@ -586,7 +610,7 @@
},
"sprites/misc/storage_overlay.png":
{
"frame": {"x":165,"y":114,"w":18,"h":9},
"frame": {"x":95,"y":359,"w":18,"h":9},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":18,"h":9},
@ -594,7 +618,7 @@
},
"sprites/misc/waypoint.png":
{
"frame": {"x":123,"y":72,"w":3,"h":3},
"frame": {"x":122,"y":207,"w":3,"h":3},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":3,"h":3},
@ -605,8 +629,8 @@
"version": "1.0",
"image": "atlas0_10.png",
"format": "RGBA8888",
"size": {"w":407,"h":128},
"size": {"w":128,"h":425},
"scale": "0.1",
"smartupdate": "$TexturePacker:SmartUpdate:3dd7a89f30024dd4787ad4af6b14588a:9ba11f8b02134c4376ab4e0a44f8b850:f159918d23e5952766c6d23ab52278c6$"
"smartupdate": "$TexturePacker:SmartUpdate:d89b36ef407ab57010cdc305dbead00b:d53090b6a8e7ddd3fb089e71bf9d20ca:f159918d23e5952766c6d23ab52278c6$"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 50 KiB

View File

@ -2,7 +2,7 @@
"sprites/belt/forward_0.png":
{
"frame": {"x":1871,"y":1504,"w":100,"h":126},
"frame": {"x":1876,"y":1166,"w":100,"h":126},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":0,"w":100,"h":126},
@ -10,7 +10,7 @@
},
"sprites/belt/forward_1.png":
{
"frame": {"x":1871,"y":240,"w":100,"h":126},
"frame": {"x":1876,"y":1296,"w":100,"h":126},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":0,"w":100,"h":126},
@ -18,7 +18,7 @@
},
"sprites/belt/forward_2.png":
{
"frame": {"x":1844,"y":394,"w":100,"h":126},
"frame": {"x":1869,"y":1543,"w":100,"h":126},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":0,"w":100,"h":126},
@ -26,7 +26,7 @@
},
"sprites/belt/forward_3.png":
{
"frame": {"x":1871,"y":1634,"w":100,"h":126},
"frame": {"x":1857,"y":395,"w":100,"h":126},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":0,"w":100,"h":126},
@ -34,7 +34,7 @@
},
"sprites/belt/forward_4.png":
{
"frame": {"x":1433,"y":785,"w":100,"h":126},
"frame": {"x":1865,"y":1690,"w":100,"h":126},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":0,"w":100,"h":126},
@ -42,7 +42,7 @@
},
"sprites/belt/forward_5.png":
{
"frame": {"x":917,"y":1564,"w":100,"h":126},
"frame": {"x":920,"y":1370,"w":100,"h":126},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":0,"w":100,"h":126},
@ -50,7 +50,7 @@
},
"sprites/belt/left_0.png":
{
"frame": {"x":1021,"y":1563,"w":113,"h":113},
"frame": {"x":1870,"y":1426,"w":113,"h":113},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
@ -58,7 +58,7 @@
},
"sprites/belt/left_1.png":
{
"frame": {"x":1138,"y":1563,"w":113,"h":113},
"frame": {"x":920,"y":1500,"w":113,"h":113},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
@ -66,7 +66,7 @@
},
"sprites/belt/left_2.png":
{
"frame": {"x":1255,"y":1563,"w":113,"h":113},
"frame": {"x":935,"y":1617,"w":113,"h":113},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
@ -74,7 +74,7 @@
},
"sprites/belt/left_3.png":
{
"frame": {"x":1372,"y":1562,"w":113,"h":113},
"frame": {"x":935,"y":1734,"w":113,"h":113},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
@ -82,7 +82,7 @@
},
"sprites/belt/left_4.png":
{
"frame": {"x":1489,"y":1562,"w":113,"h":113},
"frame": {"x":1052,"y":1721,"w":113,"h":113},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
@ -90,7 +90,7 @@
},
"sprites/belt/left_5.png":
{
"frame": {"x":1021,"y":1680,"w":113,"h":113},
"frame": {"x":1169,"y":1721,"w":113,"h":113},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
@ -98,7 +98,7 @@
},
"sprites/belt/right_0.png":
{
"frame": {"x":1138,"y":1680,"w":113,"h":113},
"frame": {"x":1286,"y":1721,"w":113,"h":113},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
@ -106,7 +106,7 @@
},
"sprites/belt/right_1.png":
{
"frame": {"x":1255,"y":1680,"w":113,"h":113},
"frame": {"x":1403,"y":1721,"w":113,"h":113},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
@ -114,7 +114,7 @@
},
"sprites/belt/right_2.png":
{
"frame": {"x":1372,"y":1679,"w":113,"h":113},
"frame": {"x":1520,"y":1721,"w":113,"h":113},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
@ -122,7 +122,7 @@
},
"sprites/belt/right_3.png":
{
"frame": {"x":1489,"y":1679,"w":113,"h":113},
"frame": {"x":1052,"y":1552,"w":113,"h":113},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
@ -130,7 +130,7 @@
},
"sprites/belt/right_4.png":
{
"frame": {"x":1606,"y":1676,"w":113,"h":113},
"frame": {"x":1169,"y":1552,"w":113,"h":113},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
@ -138,7 +138,7 @@
},
"sprites/belt/right_5.png":
{
"frame": {"x":1723,"y":1676,"w":113,"h":113},
"frame": {"x":1286,"y":1554,"w":113,"h":113},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
@ -162,7 +162,7 @@
},
"sprites/blueprints/belt_top.png":
{
"frame": {"x":1871,"y":1374,"w":102,"h":126},
"frame": {"x":1871,"y":240,"w":102,"h":126},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":12,"y":0,"w":102,"h":126},
@ -178,7 +178,7 @@
},
"sprites/blueprints/cutter.png":
{
"frame": {"x":726,"y":979,"w":341,"h":191},
"frame": {"x":1433,"y":785,"w":341,"h":191},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":23,"y":0,"w":341,"h":191},
@ -186,7 +186,7 @@
},
"sprites/blueprints/miner-chainable.png":
{
"frame": {"x":1500,"y":1368,"w":182,"h":190},
"frame": {"x":749,"y":1655,"w":182,"h":190},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":0,"w":182,"h":190},
@ -194,7 +194,7 @@
},
"sprites/blueprints/miner.png":
{
"frame": {"x":1437,"y":590,"w":182,"h":190},
"frame": {"x":1690,"y":1174,"w":182,"h":190},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":0,"w":182,"h":190},
@ -202,7 +202,7 @@
},
"sprites/blueprints/mixer.png":
{
"frame": {"x":735,"y":590,"w":347,"h":191},
"frame": {"x":1123,"y":590,"w":347,"h":191},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":18,"y":0,"w":347,"h":191},
@ -216,6 +216,14 @@
"spriteSourceSize": {"x":0,"y":0,"w":384,"h":382},
"sourceSize": {"w":384,"h":384}
},
"sprites/blueprints/painter-mirrored.png":
{
"frame": {"x":1485,"y":3,"w":384,"h":192},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":384,"h":192},
"sourceSize": {"w":384,"h":192}
},
"sprites/blueprints/painter-quad.png":
{
"frame": {"x":735,"y":3,"w":746,"h":192},
@ -226,7 +234,7 @@
},
"sprites/blueprints/painter.png":
{
"frame": {"x":1485,"y":3,"w":384,"h":192},
"frame": {"x":1483,"y":199,"w":384,"h":192},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":384,"h":192},
@ -234,7 +242,7 @@
},
"sprites/blueprints/rotater-ccw.png":
{
"frame": {"x":1116,"y":1368,"w":189,"h":191},
"frame": {"x":922,"y":1174,"w":189,"h":191},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":189,"h":191},
@ -242,7 +250,7 @@
},
"sprites/blueprints/rotater.png":
{
"frame": {"x":724,"y":1564,"w":189,"h":191},
"frame": {"x":1115,"y":1173,"w":189,"h":191},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":189,"h":191},
@ -250,7 +258,7 @@
},
"sprites/blueprints/splitter-compact-inverse.png":
{
"frame": {"x":1652,"y":394,"w":188,"h":182},
"frame": {"x":1756,"y":980,"w":188,"h":182},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":4,"w":188,"h":182},
@ -258,7 +266,7 @@
},
"sprites/blueprints/splitter-compact.png":
{
"frame": {"x":1623,"y":587,"w":185,"h":182},
"frame": {"x":1306,"y":1368,"w":185,"h":182},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":7,"y":4,"w":185,"h":182},
@ -266,7 +274,7 @@
},
"sprites/blueprints/splitter.png":
{
"frame": {"x":1071,"y":979,"w":340,"h":191},
"frame": {"x":726,"y":979,"w":340,"h":191},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":23,"y":0,"w":340,"h":191},
@ -274,7 +282,7 @@
},
"sprites/blueprints/stacker.png":
{
"frame": {"x":1086,"y":590,"w":347,"h":191},
"frame": {"x":1474,"y":590,"w":347,"h":191},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":18,"y":0,"w":347,"h":191},
@ -290,7 +298,7 @@
},
"sprites/blueprints/trash.png":
{
"frame": {"x":724,"y":1368,"w":192,"h":192},
"frame": {"x":726,"y":1174,"w":192,"h":192},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":192,"h":192},
@ -298,7 +306,7 @@
},
"sprites/blueprints/underground_belt_entry-tier2.png":
{
"frame": {"x":1791,"y":1035,"w":183,"h":166},
"frame": {"x":1683,"y":1368,"w":183,"h":166},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":26,"w":183,"h":166},
@ -306,7 +314,7 @@
},
"sprites/blueprints/underground_belt_entry.png":
{
"frame": {"x":1812,"y":580,"w":182,"h":148},
"frame": {"x":192,"y":1702,"w":182,"h":148},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":44,"w":182,"h":148},
@ -314,7 +322,7 @@
},
"sprites/blueprints/underground_belt_exit-tier2.png":
{
"frame": {"x":1623,"y":773,"w":185,"h":148},
"frame": {"x":3,"y":1702,"w":185,"h":148},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":185,"h":148},
@ -322,7 +330,7 @@
},
"sprites/blueprints/underground_belt_exit.png":
{
"frame": {"x":1812,"y":732,"w":182,"h":148},
"frame": {"x":1683,"y":1538,"w":182,"h":148},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":0,"w":182,"h":148},
@ -330,7 +338,7 @@
},
"sprites/buildings/belt_left.png":
{
"frame": {"x":1021,"y":1563,"w":113,"h":113},
"frame": {"x":1870,"y":1426,"w":113,"h":113},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
@ -338,7 +346,7 @@
},
"sprites/buildings/belt_right.png":
{
"frame": {"x":1138,"y":1680,"w":113,"h":113},
"frame": {"x":1286,"y":1721,"w":113,"h":113},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
@ -346,7 +354,7 @@
},
"sprites/buildings/belt_top.png":
{
"frame": {"x":1871,"y":1504,"w":100,"h":126},
"frame": {"x":1876,"y":1166,"w":100,"h":126},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":0,"w":100,"h":126},
@ -362,7 +370,7 @@
},
"sprites/buildings/cutter.png":
{
"frame": {"x":726,"y":1174,"w":339,"h":190},
"frame": {"x":1070,"y":979,"w":339,"h":190},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":24,"y":0,"w":339,"h":190},
@ -378,7 +386,7 @@
},
"sprites/buildings/miner-chainable.png":
{
"frame": {"x":1469,"y":395,"w":179,"h":188},
"frame": {"x":1825,"y":590,"w":179,"h":188},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":8,"y":1,"w":179,"h":188},
@ -386,7 +394,7 @@
},
"sprites/buildings/miner.png":
{
"frame": {"x":1415,"y":979,"w":179,"h":189},
"frame": {"x":1778,"y":785,"w":179,"h":189},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":8,"y":0,"w":179,"h":189},
@ -408,6 +416,14 @@
"spriteSourceSize": {"x":0,"y":0,"w":384,"h":381},
"sourceSize": {"w":384,"h":384}
},
"sprites/buildings/painter-mirrored.png":
{
"frame": {"x":735,"y":590,"w":384,"h":191},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":384,"h":191},
"sourceSize": {"w":384,"h":192}
},
"sprites/buildings/painter-quad.png":
{
"frame": {"x":735,"y":199,"w":744,"h":192},
@ -418,7 +434,7 @@
},
"sprites/buildings/painter.png":
{
"frame": {"x":1483,"y":199,"w":384,"h":191},
"frame": {"x":1469,"y":395,"w":384,"h":191},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":384,"h":191},
@ -426,7 +442,7 @@
},
"sprites/buildings/rotater-ccw.png":
{
"frame": {"x":1309,"y":1368,"w":187,"h":190},
"frame": {"x":1308,"y":1174,"w":187,"h":190},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":187,"h":190},
@ -434,7 +450,7 @@
},
"sprites/buildings/rotater.png":
{
"frame": {"x":1412,"y":1174,"w":187,"h":190},
"frame": {"x":1499,"y":1174,"w":187,"h":190},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":187,"h":190},
@ -442,7 +458,7 @@
},
"sprites/buildings/splitter-compact-inverse.png":
{
"frame": {"x":1598,"y":925,"w":187,"h":180},
"frame": {"x":1115,"y":1368,"w":187,"h":180},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":5,"w":187,"h":180},
@ -450,7 +466,7 @@
},
"sprites/buildings/splitter-compact.png":
{
"frame": {"x":1603,"y":1109,"w":184,"h":180},
"frame": {"x":1495,"y":1368,"w":184,"h":180},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":8,"y":5,"w":184,"h":180},
@ -458,7 +474,7 @@
},
"sprites/buildings/splitter.png":
{
"frame": {"x":1069,"y":1174,"w":339,"h":190},
"frame": {"x":1413,"y":980,"w":339,"h":190},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":24,"y":0,"w":339,"h":190},
@ -482,7 +498,7 @@
},
"sprites/buildings/trash.png":
{
"frame": {"x":920,"y":1368,"w":192,"h":191},
"frame": {"x":724,"y":1370,"w":192,"h":191},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":1,"w":192,"h":191},
@ -490,7 +506,7 @@
},
"sprites/buildings/underground_belt_entry-tier2.png":
{
"frame": {"x":1791,"y":1205,"w":181,"h":165},
"frame": {"x":1495,"y":1552,"w":181,"h":165},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":7,"y":27,"w":181,"h":165},
@ -498,7 +514,7 @@
},
"sprites/buildings/underground_belt_entry.png":
{
"frame": {"x":1686,"y":1374,"w":181,"h":147},
"frame": {"x":564,"y":1707,"w":181,"h":147},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":7,"y":45,"w":181,"h":147},
@ -506,7 +522,7 @@
},
"sprites/buildings/underground_belt_exit-tier2.png":
{
"frame": {"x":1812,"y":884,"w":182,"h":147},
"frame": {"x":378,"y":1707,"w":182,"h":147},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":7,"y":0,"w":182,"h":147},
@ -514,7 +530,7 @@
},
"sprites/buildings/underground_belt_exit.png":
{
"frame": {"x":1686,"y":1525,"w":181,"h":147},
"frame": {"x":1680,"y":1690,"w":181,"h":147},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":7,"y":0,"w":181,"h":147},
@ -522,7 +538,7 @@
},
"sprites/debug/acceptor_slot.png":
{
"frame": {"x":1603,"y":1293,"w":50,"h":64},
"frame": {"x":1961,"y":782,"w":50,"h":64},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":7,"y":0,"w":50,"h":64},
@ -530,7 +546,7 @@
},
"sprites/debug/ejector_slot.png":
{
"frame": {"x":1606,"y":1562,"w":50,"h":64},
"frame": {"x":1961,"y":850,"w":50,"h":64},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":7,"y":0,"w":50,"h":64},
@ -538,7 +554,7 @@
},
"sprites/map_overview/belt_forward.png":
{
"frame": {"x":353,"y":1702,"w":24,"h":32},
"frame": {"x":1857,"y":525,"w":24,"h":32},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":24,"h":32},
@ -546,7 +562,7 @@
},
"sprites/map_overview/belt_left.png":
{
"frame": {"x":1433,"y":915,"w":28,"h":28},
"frame": {"x":1052,"y":1669,"w":28,"h":28},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":4,"w":28,"h":28},
@ -554,7 +570,7 @@
},
"sprites/map_overview/belt_right.png":
{
"frame": {"x":1433,"y":947,"w":28,"h":28},
"frame": {"x":1885,"y":525,"w":28,"h":28},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":4,"w":28,"h":28},
@ -562,15 +578,23 @@
},
"sprites/misc/deletion_marker.png":
{
"frame": {"x":267,"y":1702,"w":82,"h":82},
"frame": {"x":1403,"y":1554,"w":82,"h":82},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":7,"y":7,"w":82,"h":82},
"sourceSize": {"w":96,"h":96}
},
"sprites/misc/hub_direction_indicator.png":
{
"frame": {"x":1961,"y":918,"w":32,"h":32},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
"sourceSize": {"w":32,"h":32}
},
"sprites/misc/slot_bad_arrow.png":
{
"frame": {"x":267,"y":1702,"w":82,"h":82},
"frame": {"x":1403,"y":1554,"w":82,"h":82},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":7,"y":7,"w":82,"h":82},
@ -578,7 +602,7 @@
},
"sprites/misc/slot_good_arrow.png":
{
"frame": {"x":183,"y":1702,"w":80,"h":96},
"frame": {"x":1024,"y":1369,"w":80,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":8,"y":0,"w":80,"h":96},
@ -586,7 +610,7 @@
},
"sprites/misc/storage_overlay.png":
{
"frame": {"x":3,"y":1702,"w":176,"h":86},
"frame": {"x":724,"y":1565,"w":176,"h":86},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":4,"w":176,"h":86},
@ -594,7 +618,7 @@
},
"sprites/misc/waypoint.png":
{
"frame": {"x":1844,"y":524,"w":24,"h":32},
"frame": {"x":1637,"y":1721,"w":24,"h":32},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":24,"h":32},
@ -605,8 +629,8 @@
"version": "1.0",
"image": "atlas0_100.png",
"format": "RGBA8888",
"size": {"w":1997,"h":1801},
"size": {"w":2014,"h":1857},
"scale": "1",
"smartupdate": "$TexturePacker:SmartUpdate:3dd7a89f30024dd4787ad4af6b14588a:9ba11f8b02134c4376ab4e0a44f8b850:f159918d23e5952766c6d23ab52278c6$"
"smartupdate": "$TexturePacker:SmartUpdate:d89b36ef407ab57010cdc305dbead00b:d53090b6a8e7ddd3fb089e71bf9d20ca:f159918d23e5952766c6d23ab52278c6$"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 743 KiB

After

Width:  |  Height:  |  Size: 775 KiB

View File

@ -2,7 +2,7 @@
"sprites/belt/forward_0.png":
{
"frame": {"x":479,"y":103,"w":28,"h":32},
"frame": {"x":825,"y":210,"w":28,"h":32},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":28,"h":32},
@ -10,7 +10,7 @@
},
"sprites/belt/forward_1.png":
{
"frame": {"x":479,"y":139,"w":28,"h":32},
"frame": {"x":857,"y":210,"w":28,"h":32},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":28,"h":32},
@ -18,7 +18,7 @@
},
"sprites/belt/forward_2.png":
{
"frame": {"x":479,"y":175,"w":28,"h":32},
"frame": {"x":889,"y":210,"w":28,"h":32},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":28,"h":32},
@ -26,7 +26,7 @@
},
"sprites/belt/forward_3.png":
{
"frame": {"x":262,"y":331,"w":28,"h":32},
"frame": {"x":921,"y":210,"w":28,"h":32},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":28,"h":32},
@ -34,7 +34,7 @@
},
"sprites/belt/forward_4.png":
{
"frame": {"x":285,"y":383,"w":28,"h":32},
"frame": {"x":546,"y":207,"w":28,"h":32},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":28,"h":32},
@ -42,7 +42,7 @@
},
"sprites/belt/forward_5.png":
{
"frame": {"x":317,"y":383,"w":28,"h":32},
"frame": {"x":578,"y":206,"w":28,"h":32},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":28,"h":32},
@ -50,7 +50,7 @@
},
"sprites/belt/left_0.png":
{
"frame": {"x":343,"y":159,"w":30,"h":30},
"frame": {"x":240,"y":207,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":2,"w":30,"h":30},
@ -58,7 +58,7 @@
},
"sprites/belt/left_1.png":
{
"frame": {"x":343,"y":193,"w":30,"h":30},
"frame": {"x":274,"y":207,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":2,"w":30,"h":30},
@ -66,7 +66,7 @@
},
"sprites/belt/left_2.png":
{
"frame": {"x":477,"y":211,"w":30,"h":30},
"frame": {"x":308,"y":207,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":2,"w":30,"h":30},
@ -74,7 +74,7 @@
},
"sprites/belt/left_3.png":
{
"frame": {"x":477,"y":245,"w":30,"h":30},
"frame": {"x":342,"y":207,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":2,"w":30,"h":30},
@ -82,7 +82,7 @@
},
"sprites/belt/left_4.png":
{
"frame": {"x":469,"y":279,"w":30,"h":30},
"frame": {"x":376,"y":207,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":2,"w":30,"h":30},
@ -90,7 +90,7 @@
},
"sprites/belt/left_5.png":
{
"frame": {"x":3,"y":331,"w":30,"h":30},
"frame": {"x":410,"y":207,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":2,"w":30,"h":30},
@ -98,7 +98,7 @@
},
"sprites/belt/right_0.png":
{
"frame": {"x":37,"y":331,"w":30,"h":30},
"frame": {"x":444,"y":207,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":2,"w":30,"h":30},
@ -106,7 +106,7 @@
},
"sprites/belt/right_1.png":
{
"frame": {"x":71,"y":331,"w":30,"h":30},
"frame": {"x":478,"y":207,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":2,"w":30,"h":30},
@ -114,7 +114,7 @@
},
"sprites/belt/right_2.png":
{
"frame": {"x":3,"y":296,"w":30,"h":30},
"frame": {"x":512,"y":207,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":2,"w":30,"h":30},
@ -122,7 +122,7 @@
},
"sprites/belt/right_3.png":
{
"frame": {"x":37,"y":296,"w":30,"h":30},
"frame": {"x":610,"y":211,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":2,"w":30,"h":30},
@ -130,7 +130,7 @@
},
"sprites/belt/right_4.png":
{
"frame": {"x":71,"y":296,"w":30,"h":30},
"frame": {"x":644,"y":211,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":2,"w":30,"h":30},
@ -138,7 +138,7 @@
},
"sprites/belt/right_5.png":
{
"frame": {"x":105,"y":331,"w":30,"h":30},
"frame": {"x":678,"y":211,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":2,"w":30,"h":30},
@ -146,7 +146,7 @@
},
"sprites/blueprints/belt_left.png":
{
"frame": {"x":139,"y":331,"w":30,"h":30},
"frame": {"x":712,"y":211,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":2,"w":30,"h":30},
@ -154,7 +154,7 @@
},
"sprites/blueprints/belt_right.png":
{
"frame": {"x":173,"y":331,"w":30,"h":30},
"frame": {"x":746,"y":211,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":2,"w":30,"h":30},
@ -162,7 +162,7 @@
},
"sprites/blueprints/belt_top.png":
{
"frame": {"x":467,"y":416,"w":28,"h":32},
"frame": {"x":1051,"y":101,"w":28,"h":32},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":28,"h":32},
@ -170,7 +170,7 @@
},
"sprites/blueprints/cutter-quad.png":
{
"frame": {"x":191,"y":55,"w":184,"h":48},
"frame": {"x":3,"y":192,"w":184,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":184,"h":48},
@ -178,7 +178,7 @@
},
"sprites/blueprints/cutter.png":
{
"frame": {"x":95,"y":244,"w":87,"h":48},
"frame": {"x":662,"y":107,"w":87,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":87,"h":48},
@ -186,7 +186,7 @@
},
"sprites/blueprints/miner-chainable.png":
{
"frame": {"x":262,"y":419,"w":47,"h":48},
"frame": {"x":621,"y":159,"w":47,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":48},
@ -194,7 +194,7 @@
},
"sprites/blueprints/miner.png":
{
"frame": {"x":313,"y":419,"w":47,"h":48},
"frame": {"x":672,"y":159,"w":47,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":48},
@ -202,7 +202,7 @@
},
"sprites/blueprints/mixer.png":
{
"frame": {"x":191,"y":211,"w":89,"h":48},
"frame": {"x":583,"y":55,"w":89,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":89,"h":48},
@ -210,15 +210,23 @@
},
"sprites/blueprints/painter-double.png":
{
"frame": {"x":387,"y":3,"w":96,"h":96},
"frame": {"x":191,"y":107,"w":96,"h":96},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
"sourceSize": {"w":96,"h":96}
},
"sprites/blueprints/painter-mirrored.png":
{
"frame": {"x":383,"y":55,"w":96,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":48},
"sourceSize": {"w":96,"h":48}
},
"sprites/blueprints/painter-quad.png":
{
"frame": {"x":3,"y":3,"w":188,"h":48},
"frame": {"x":191,"y":3,"w":188,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":188,"h":48},
@ -226,7 +234,7 @@
},
"sprites/blueprints/painter.png":
{
"frame": {"x":191,"y":159,"w":96,"h":48},
"frame": {"x":571,"y":3,"w":96,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":48},
@ -234,7 +242,7 @@
},
"sprites/blueprints/rotater-ccw.png":
{
"frame": {"x":291,"y":159,"w":48,"h":48},
"frame": {"x":954,"y":3,"w":48,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
@ -242,7 +250,7 @@
},
"sprites/blueprints/rotater.png":
{
"frame": {"x":459,"y":313,"w":48,"h":48},
"frame": {"x":859,"y":55,"w":48,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
@ -250,7 +258,7 @@
},
"sprites/blueprints/splitter-compact-inverse.png":
{
"frame": {"x":210,"y":315,"w":48,"h":48},
"frame": {"x":844,"y":107,"w":48,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
@ -258,7 +266,7 @@
},
"sprites/blueprints/splitter-compact.png":
{
"frame": {"x":415,"y":416,"w":47,"h":47},
"frame": {"x":825,"y":159,"w":47,"h":47},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":47},
@ -266,7 +274,7 @@
},
"sprites/blueprints/splitter.png":
{
"frame": {"x":186,"y":263,"w":87,"h":48},
"frame": {"x":863,"y":3,"w":87,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":87,"h":48},
@ -274,7 +282,7 @@
},
"sprites/blueprints/stacker.png":
{
"frame": {"x":284,"y":227,"w":89,"h":48},
"frame": {"x":569,"y":107,"w":89,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":89,"h":48},
@ -282,7 +290,7 @@
},
"sprites/blueprints/trash-storage.png":
{
"frame": {"x":3,"y":365,"w":85,"h":96},
"frame": {"x":391,"y":107,"w":85,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":0,"w":85,"h":96},
@ -290,7 +298,7 @@
},
"sprites/blueprints/trash.png":
{
"frame": {"x":181,"y":391,"w":48,"h":48},
"frame": {"x":1006,"y":3,"w":48,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
@ -298,7 +306,7 @@
},
"sprites/blueprints/underground_belt_entry-tier2.png":
{
"frame": {"x":3,"y":465,"w":48,"h":43},
"frame": {"x":569,"y":159,"w":48,"h":43},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":5,"w":48,"h":43},
@ -306,7 +314,7 @@
},
"sprites/blueprints/underground_belt_entry.png":
{
"frame": {"x":106,"y":465,"w":48,"h":38},
"frame": {"x":927,"y":159,"w":48,"h":38},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":10,"w":48,"h":38},
@ -314,7 +322,7 @@
},
"sprites/blueprints/underground_belt_exit-tier2.png":
{
"frame": {"x":158,"y":465,"w":48,"h":38},
"frame": {"x":979,"y":158,"w":48,"h":38},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":38},
@ -322,7 +330,7 @@
},
"sprites/blueprints/underground_belt_exit.png":
{
"frame": {"x":262,"y":471,"w":48,"h":38},
"frame": {"x":953,"y":201,"w":48,"h":38},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":38},
@ -330,7 +338,7 @@
},
"sprites/buildings/belt_left.png":
{
"frame": {"x":343,"y":159,"w":30,"h":30},
"frame": {"x":240,"y":207,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":2,"w":30,"h":30},
@ -338,7 +346,7 @@
},
"sprites/buildings/belt_right.png":
{
"frame": {"x":37,"y":331,"w":30,"h":30},
"frame": {"x":444,"y":207,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":2,"w":30,"h":30},
@ -346,7 +354,7 @@
},
"sprites/buildings/belt_top.png":
{
"frame": {"x":479,"y":103,"w":28,"h":32},
"frame": {"x":825,"y":210,"w":28,"h":32},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":28,"h":32},
@ -354,7 +362,7 @@
},
"sprites/buildings/cutter-quad.png":
{
"frame": {"x":191,"y":107,"w":184,"h":48},
"frame": {"x":383,"y":3,"w":184,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":184,"h":48},
@ -362,7 +370,7 @@
},
"sprites/buildings/cutter.png":
{
"frame": {"x":277,"y":279,"w":87,"h":48},
"frame": {"x":768,"y":55,"w":87,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":87,"h":48},
@ -370,7 +378,7 @@
},
"sprites/buildings/hub.png":
{
"frame": {"x":3,"y":55,"w":184,"h":185},
"frame": {"x":3,"y":3,"w":184,"h":185},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":4,"w":184,"h":185},
@ -378,7 +386,7 @@
},
"sprites/buildings/miner-chainable.png":
{
"frame": {"x":349,"y":365,"w":47,"h":48},
"frame": {"x":723,"y":159,"w":47,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":48},
@ -386,7 +394,7 @@
},
"sprites/buildings/miner.png":
{
"frame": {"x":364,"y":417,"w":47,"h":48},
"frame": {"x":774,"y":159,"w":47,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":48},
@ -394,7 +402,7 @@
},
"sprites/buildings/mixer.png":
{
"frame": {"x":377,"y":255,"w":88,"h":48},
"frame": {"x":771,"y":3,"w":88,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":88,"h":48},
@ -402,15 +410,23 @@
},
"sprites/buildings/painter-double.png":
{
"frame": {"x":379,"y":103,"w":96,"h":96},
"frame": {"x":291,"y":107,"w":96,"h":96},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
"sourceSize": {"w":96,"h":96}
},
"sprites/buildings/painter-mirrored.png":
{
"frame": {"x":483,"y":55,"w":96,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":48},
"sourceSize": {"w":96,"h":48}
},
"sprites/buildings/painter-quad.png":
{
"frame": {"x":195,"y":3,"w":188,"h":48},
"frame": {"x":191,"y":55,"w":188,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":188,"h":48},
@ -418,7 +434,7 @@
},
"sprites/buildings/painter.png":
{
"frame": {"x":377,"y":203,"w":96,"h":48},
"frame": {"x":671,"y":3,"w":96,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":48},
@ -426,7 +442,7 @@
},
"sprites/buildings/rotater-ccw.png":
{
"frame": {"x":210,"y":443,"w":48,"h":48},
"frame": {"x":911,"y":55,"w":48,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
@ -434,7 +450,7 @@
},
"sprites/buildings/rotater.png":
{
"frame": {"x":233,"y":367,"w":48,"h":48},
"frame": {"x":896,"y":107,"w":48,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
@ -442,7 +458,7 @@
},
"sprites/buildings/splitter-compact-inverse.png":
{
"frame": {"x":400,"y":365,"w":48,"h":47},
"frame": {"x":948,"y":107,"w":48,"h":47},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":47},
@ -450,7 +466,7 @@
},
"sprites/buildings/splitter-compact.png":
{
"frame": {"x":452,"y":365,"w":47,"h":47},
"frame": {"x":876,"y":159,"w":47,"h":47},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":47},
@ -458,7 +474,7 @@
},
"sprites/buildings/splitter.png":
{
"frame": {"x":368,"y":307,"w":87,"h":48},
"frame": {"x":753,"y":107,"w":87,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":87,"h":48},
@ -466,7 +482,7 @@
},
"sprites/buildings/stacker.png":
{
"frame": {"x":3,"y":244,"w":88,"h":48},
"frame": {"x":676,"y":55,"w":88,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":88,"h":48},
@ -474,7 +490,7 @@
},
"sprites/buildings/trash-storage.png":
{
"frame": {"x":92,"y":365,"w":85,"h":96},
"frame": {"x":480,"y":107,"w":85,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":0,"w":85,"h":96},
@ -482,7 +498,7 @@
},
"sprites/buildings/trash.png":
{
"frame": {"x":294,"y":331,"w":48,"h":48},
"frame": {"x":963,"y":55,"w":48,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
@ -490,7 +506,7 @@
},
"sprites/buildings/underground_belt_entry-tier2.png":
{
"frame": {"x":55,"y":465,"w":47,"h":42},
"frame": {"x":1015,"y":55,"w":47,"h":42},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":6,"w":47,"h":42},
@ -498,7 +514,7 @@
},
"sprites/buildings/underground_belt_entry.png":
{
"frame": {"x":314,"y":471,"w":47,"h":38},
"frame": {"x":1005,"y":200,"w":47,"h":38},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":10,"w":47,"h":38},
@ -506,7 +522,7 @@
},
"sprites/buildings/underground_belt_exit-tier2.png":
{
"frame": {"x":365,"y":469,"w":47,"h":38},
"frame": {"x":1000,"y":107,"w":47,"h":38},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":38},
@ -514,7 +530,7 @@
},
"sprites/buildings/underground_belt_exit.png":
{
"frame": {"x":416,"y":467,"w":47,"h":38},
"frame": {"x":1031,"y":149,"w":47,"h":38},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":38},
@ -522,7 +538,7 @@
},
"sprites/debug/acceptor_slot.png":
{
"frame": {"x":487,"y":3,"w":14,"h":16},
"frame": {"x":1058,"y":31,"w":14,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":14,"h":16},
@ -530,7 +546,7 @@
},
"sprites/debug/ejector_slot.png":
{
"frame": {"x":487,"y":23,"w":14,"h":16},
"frame": {"x":806,"y":211,"w":14,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":14,"h":16},
@ -538,7 +554,7 @@
},
"sprites/map_overview/belt_forward.png":
{
"frame": {"x":487,"y":43,"w":8,"h":8},
"frame": {"x":1051,"y":137,"w":8,"h":8},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":8,"h":8},
@ -546,7 +562,7 @@
},
"sprites/map_overview/belt_left.png":
{
"frame": {"x":499,"y":43,"w":8,"h":8},
"frame": {"x":1063,"y":137,"w":8,"h":8},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":8,"h":8},
@ -554,7 +570,7 @@
},
"sprites/map_overview/belt_right.png":
{
"frame": {"x":487,"y":55,"w":8,"h":8},
"frame": {"x":191,"y":234,"w":8,"h":8},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":8,"h":8},
@ -562,15 +578,23 @@
},
"sprites/misc/deletion_marker.png":
{
"frame": {"x":181,"y":365,"w":22,"h":22},
"frame": {"x":780,"y":211,"w":22,"h":22},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":1,"w":22,"h":22},
"sourceSize": {"w":24,"h":24}
},
"sprites/misc/hub_direction_indicator.png":
{
"frame": {"x":203,"y":234,"w":8,"h":8},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":8,"h":8},
"sourceSize": {"w":8,"h":8}
},
"sprites/misc/slot_bad_arrow.png":
{
"frame": {"x":181,"y":365,"w":22,"h":22},
"frame": {"x":780,"y":211,"w":22,"h":22},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":1,"w":22,"h":22},
@ -578,7 +602,7 @@
},
"sprites/misc/slot_good_arrow.png":
{
"frame": {"x":105,"y":296,"w":22,"h":24},
"frame": {"x":1058,"y":3,"w":22,"h":24},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":22,"h":24},
@ -586,7 +610,7 @@
},
"sprites/misc/storage_overlay.png":
{
"frame": {"x":131,"y":296,"w":45,"h":23},
"frame": {"x":191,"y":207,"w":45,"h":23},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":45,"h":23},
@ -594,7 +618,7 @@
},
"sprites/misc/waypoint.png":
{
"frame": {"x":499,"y":55,"w":8,"h":8},
"frame": {"x":215,"y":234,"w":8,"h":8},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":8,"h":8},
@ -605,8 +629,8 @@
"version": "1.0",
"image": "atlas0_25.png",
"format": "RGBA8888",
"size": {"w":510,"h":512},
"size": {"w":1083,"h":245},
"scale": "0.25",
"smartupdate": "$TexturePacker:SmartUpdate:3dd7a89f30024dd4787ad4af6b14588a:9ba11f8b02134c4376ab4e0a44f8b850:f159918d23e5952766c6d23ab52278c6$"
"smartupdate": "$TexturePacker:SmartUpdate:d89b36ef407ab57010cdc305dbead00b:d53090b6a8e7ddd3fb089e71bf9d20ca:f159918d23e5952766c6d23ab52278c6$"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 KiB

After

Width:  |  Height:  |  Size: 165 KiB

View File

@ -2,7 +2,7 @@
"sprites/belt/forward_0.png":
{
"frame": {"x":49,"y":1765,"w":51,"h":63},
"frame": {"x":1966,"y":3,"w":51,"h":63},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":0,"w":51,"h":63},
@ -10,7 +10,7 @@
},
"sprites/belt/forward_1.png":
{
"frame": {"x":3,"y":1902,"w":51,"h":63},
"frame": {"x":1835,"y":203,"w":51,"h":63},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":0,"w":51,"h":63},
@ -18,7 +18,7 @@
},
"sprites/belt/forward_2.png":
{
"frame": {"x":58,"y":1902,"w":51,"h":63},
"frame": {"x":1879,"y":304,"w":51,"h":63},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":0,"w":51,"h":63},
@ -26,7 +26,7 @@
},
"sprites/belt/forward_3.png":
{
"frame": {"x":113,"y":1887,"w":51,"h":63},
"frame": {"x":1934,"y":304,"w":51,"h":63},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":0,"w":51,"h":63},
@ -34,7 +34,7 @@
},
"sprites/belt/forward_4.png":
{
"frame": {"x":168,"y":1830,"w":51,"h":63},
"frame": {"x":1844,"y":381,"w":51,"h":63},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":0,"w":51,"h":63},
@ -42,7 +42,7 @@
},
"sprites/belt/forward_5.png":
{
"frame": {"x":168,"y":1897,"w":51,"h":63},
"frame": {"x":1899,"y":371,"w":51,"h":63},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":0,"w":51,"h":63},
@ -50,7 +50,7 @@
},
"sprites/belt/left_0.png":
{
"frame": {"x":104,"y":1765,"w":57,"h":57},
"frame": {"x":1890,"y":243,"w":57,"h":57},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":6,"w":57,"h":57},
@ -58,7 +58,7 @@
},
"sprites/belt/left_1.png":
{
"frame": {"x":165,"y":1769,"w":57,"h":57},
"frame": {"x":1951,"y":243,"w":57,"h":57},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":6,"w":57,"h":57},
@ -66,7 +66,7 @@
},
"sprites/belt/left_2.png":
{
"frame": {"x":104,"y":1826,"w":57,"h":57},
"frame": {"x":1783,"y":381,"w":57,"h":57},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":6,"w":57,"h":57},
@ -74,7 +74,7 @@
},
"sprites/belt/left_3.png":
{
"frame": {"x":226,"y":1782,"w":57,"h":57},
"frame": {"x":1954,"y":371,"w":57,"h":57},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":6,"w":57,"h":57},
@ -82,7 +82,7 @@
},
"sprites/belt/left_4.png":
{
"frame": {"x":287,"y":1782,"w":57,"h":57},
"frame": {"x":1954,"y":432,"w":57,"h":57},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":6,"w":57,"h":57},
@ -90,7 +90,7 @@
},
"sprites/belt/left_5.png":
{
"frame": {"x":348,"y":1835,"w":57,"h":57},
"frame": {"x":1363,"y":403,"w":57,"h":57},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":6,"w":57,"h":57},
@ -98,7 +98,7 @@
},
"sprites/belt/right_0.png":
{
"frame": {"x":409,"y":1835,"w":57,"h":57},
"frame": {"x":1424,"y":403,"w":57,"h":57},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":6,"w":57,"h":57},
@ -106,7 +106,7 @@
},
"sprites/belt/right_1.png":
{
"frame": {"x":223,"y":1896,"w":57,"h":57},
"frame": {"x":1485,"y":403,"w":57,"h":57},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":6,"w":57,"h":57},
@ -114,7 +114,7 @@
},
"sprites/belt/right_2.png":
{
"frame": {"x":284,"y":1843,"w":57,"h":57},
"frame": {"x":1546,"y":403,"w":57,"h":57},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":6,"w":57,"h":57},
@ -122,7 +122,7 @@
},
"sprites/belt/right_3.png":
{
"frame": {"x":284,"y":1904,"w":57,"h":57},
"frame": {"x":1607,"y":402,"w":57,"h":57},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":6,"w":57,"h":57},
@ -130,7 +130,7 @@
},
"sprites/belt/right_4.png":
{
"frame": {"x":345,"y":1896,"w":57,"h":57},
"frame": {"x":1668,"y":402,"w":57,"h":57},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":6,"w":57,"h":57},
@ -138,7 +138,7 @@
},
"sprites/belt/right_5.png":
{
"frame": {"x":406,"y":1896,"w":57,"h":57},
"frame": {"x":1952,"y":181,"w":57,"h":57},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":6,"w":57,"h":57},
@ -146,7 +146,7 @@
},
"sprites/blueprints/belt_left.png":
{
"frame": {"x":178,"y":1707,"w":58,"h":58},
"frame": {"x":1301,"y":400,"w":58,"h":58},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":5,"w":58,"h":58},
@ -154,7 +154,7 @@
},
"sprites/blueprints/belt_right.png":
{
"frame": {"x":370,"y":1773,"w":58,"h":58},
"frame": {"x":1890,"y":181,"w":58,"h":58},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":5,"w":58,"h":58},
@ -162,7 +162,7 @@
},
"sprites/blueprints/belt_top.png":
{
"frame": {"x":3,"y":1835,"w":53,"h":63},
"frame": {"x":1151,"y":403,"w":53,"h":63},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":53,"h":63},
@ -170,7 +170,7 @@
},
"sprites/blueprints/cutter-quad.png":
{
"frame": {"x":3,"y":574,"w":366,"h":96},
"frame": {"x":3,"y":374,"w":366,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":11,"y":0,"w":366,"h":96},
@ -178,7 +178,7 @@
},
"sprites/blueprints/cutter.png":
{
"frame": {"x":3,"y":1465,"w":172,"h":96},
"frame": {"x":1285,"y":203,"w":172,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":11,"y":0,"w":172,"h":96},
@ -186,7 +186,7 @@
},
"sprites/blueprints/miner-chainable.png":
{
"frame": {"x":179,"y":1507,"w":92,"h":96},
"frame": {"x":1401,"y":303,"w":92,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":92,"h":96},
@ -194,7 +194,7 @@
},
"sprites/blueprints/miner.png":
{
"frame": {"x":178,"y":1607,"w":92,"h":96},
"frame": {"x":1497,"y":303,"w":92,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":92,"h":96},
@ -202,7 +202,7 @@
},
"sprites/blueprints/mixer.png":
{
"frame": {"x":296,"y":1217,"w":175,"h":96},
"frame": {"x":1143,"y":103,"w":175,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":8,"y":0,"w":175,"h":96},
@ -210,15 +210,23 @@
},
"sprites/blueprints/painter-double.png":
{
"frame": {"x":3,"y":774,"w":192,"h":192},
"frame": {"x":373,"y":203,"w":192,"h":192},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":192,"h":192},
"sourceSize": {"w":192,"h":192}
},
"sprites/blueprints/painter-mirrored.png":
{
"frame": {"x":751,"y":103,"w":192,"h":96},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":192,"h":96},
"sourceSize": {"w":192,"h":96}
},
"sprites/blueprints/painter-quad.png":
{
"frame": {"x":3,"y":3,"w":374,"h":96},
"frame": {"x":373,"y":3,"w":374,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":374,"h":96},
@ -226,7 +234,7 @@
},
"sprites/blueprints/painter.png":
{
"frame": {"x":3,"y":1165,"w":192,"h":96},
"frame": {"x":1121,"y":3,"w":192,"h":96},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":192,"h":96},
@ -234,7 +242,7 @@
},
"sprites/blueprints/rotater-ccw.png":
{
"frame": {"x":373,"y":249,"w":96,"h":96},
"frame": {"x":1866,"y":3,"w":96,"h":96},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
@ -242,7 +250,7 @@
},
"sprites/blueprints/rotater.png":
{
"frame": {"x":373,"y":349,"w":96,"h":96},
"frame": {"x":1675,"y":103,"w":96,"h":96},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
@ -250,7 +258,7 @@
},
"sprites/blueprints/splitter-compact-inverse.png":
{
"frame": {"x":370,"y":849,"w":95,"h":93},
"frame": {"x":1205,"y":303,"w":95,"h":93},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":1,"w":95,"h":93},
@ -258,7 +266,7 @@
},
"sprites/blueprints/splitter-compact.png":
{
"frame": {"x":369,"y":1120,"w":93,"h":93},
"frame": {"x":1304,"y":303,"w":93,"h":93},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":1,"w":93,"h":93},
@ -266,7 +274,7 @@
},
"sprites/blueprints/splitter.png":
{
"frame": {"x":3,"y":1565,"w":171,"h":96},
"frame": {"x":1691,"y":3,"w":171,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":11,"y":0,"w":171,"h":96},
@ -274,7 +282,7 @@
},
"sprites/blueprints/stacker.png":
{
"frame": {"x":296,"y":1317,"w":175,"h":96},
"frame": {"x":1106,"y":203,"w":175,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":8,"y":0,"w":175,"h":96},
@ -282,7 +290,7 @@
},
"sprites/blueprints/trash-storage.png":
{
"frame": {"x":199,"y":774,"w":167,"h":192},
"frame": {"x":765,"y":203,"w":167,"h":192},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":167,"h":192},
@ -290,7 +298,7 @@
},
"sprites/blueprints/trash.png":
{
"frame": {"x":373,"y":449,"w":96,"h":96},
"frame": {"x":1636,"y":203,"w":96,"h":96},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
@ -298,7 +306,7 @@
},
"sprites/blueprints/underground_belt_entry-tier2.png":
{
"frame": {"x":199,"y":1261,"w":93,"h":84},
"frame": {"x":764,"y":399,"w":93,"h":84},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":12,"w":93,"h":84},
@ -306,7 +314,7 @@
},
"sprites/blueprints/underground_belt_entry.png":
{
"frame": {"x":199,"y":1349,"w":93,"h":75},
"frame": {"x":373,"y":399,"w":93,"h":75},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":21,"w":93,"h":75},
@ -314,7 +322,7 @@
},
"sprites/blueprints/underground_belt_exit-tier2.png":
{
"frame": {"x":369,"y":1041,"w":94,"h":75},
"frame": {"x":957,"y":399,"w":94,"h":75},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":94,"h":75},
@ -322,7 +330,7 @@
},
"sprites/blueprints/underground_belt_exit.png":
{
"frame": {"x":181,"y":1428,"w":93,"h":75},
"frame": {"x":470,"y":399,"w":93,"h":75},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":93,"h":75},
@ -330,7 +338,7 @@
},
"sprites/buildings/belt_left.png":
{
"frame": {"x":104,"y":1765,"w":57,"h":57},
"frame": {"x":1890,"y":243,"w":57,"h":57},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":6,"w":57,"h":57},
@ -338,7 +346,7 @@
},
"sprites/buildings/belt_right.png":
{
"frame": {"x":409,"y":1835,"w":57,"h":57},
"frame": {"x":1424,"y":403,"w":57,"h":57},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":6,"w":57,"h":57},
@ -346,7 +354,7 @@
},
"sprites/buildings/belt_top.png":
{
"frame": {"x":49,"y":1765,"w":51,"h":63},
"frame": {"x":1966,"y":3,"w":51,"h":63},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":0,"w":51,"h":63},
@ -354,7 +362,7 @@
},
"sprites/buildings/cutter-quad.png":
{
"frame": {"x":3,"y":674,"w":366,"h":96},
"frame": {"x":751,"y":3,"w":366,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":11,"y":0,"w":366,"h":96},
@ -362,7 +370,7 @@
},
"sprites/buildings/cutter.png":
{
"frame": {"x":275,"y":1517,"w":171,"h":96},
"frame": {"x":1500,"y":103,"w":171,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":11,"y":0,"w":171,"h":96},
@ -370,7 +378,7 @@
},
"sprites/buildings/hub.png":
{
"frame": {"x":3,"y":203,"w":366,"h":367},
"frame": {"x":3,"y":3,"w":366,"h":367},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":10,"w":366,"h":367},
@ -378,7 +386,7 @@
},
"sprites/buildings/miner-chainable.png":
{
"frame": {"x":381,"y":3,"w":91,"h":95},
"frame": {"x":1593,"y":303,"w":91,"h":95},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":91,"h":95},
@ -386,7 +394,7 @@
},
"sprites/buildings/miner.png":
{
"frame": {"x":381,"y":102,"w":91,"h":95},
"frame": {"x":1688,"y":303,"w":91,"h":95},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":91,"h":95},
@ -394,7 +402,7 @@
},
"sprites/buildings/mixer.png":
{
"frame": {"x":296,"y":1417,"w":174,"h":96},
"frame": {"x":1513,"y":3,"w":174,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":0,"w":174,"h":96},
@ -402,15 +410,23 @@
},
"sprites/buildings/painter-double.png":
{
"frame": {"x":3,"y":970,"w":192,"h":191},
"frame": {"x":569,"y":203,"w":192,"h":191},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":192,"h":191},
"sourceSize": {"w":192,"h":192}
},
"sprites/buildings/painter-mirrored.png":
{
"frame": {"x":947,"y":103,"w":192,"h":96},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":192,"h":96},
"sourceSize": {"w":192,"h":96}
},
"sprites/buildings/painter-quad.png":
{
"frame": {"x":3,"y":103,"w":374,"h":96},
"frame": {"x":373,"y":103,"w":374,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":374,"h":96},
@ -418,7 +434,7 @@
},
"sprites/buildings/painter.png":
{
"frame": {"x":3,"y":1265,"w":192,"h":96},
"frame": {"x":1317,"y":3,"w":192,"h":96},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":192,"h":96},
@ -426,7 +442,7 @@
},
"sprites/buildings/rotater-ccw.png":
{
"frame": {"x":373,"y":649,"w":95,"h":96},
"frame": {"x":1736,"y":203,"w":95,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":95,"h":96},
@ -434,7 +450,7 @@
},
"sprites/buildings/rotater.png":
{
"frame": {"x":373,"y":749,"w":95,"h":96},
"frame": {"x":1106,"y":303,"w":95,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":95,"h":96},
@ -442,7 +458,7 @@
},
"sprites/buildings/splitter-compact-inverse.png":
{
"frame": {"x":370,"y":946,"w":94,"h":91},
"frame": {"x":569,"y":398,"w":94,"h":91},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":2,"w":94,"h":91},
@ -450,7 +466,7 @@
},
"sprites/buildings/splitter-compact.png":
{
"frame": {"x":199,"y":1166,"w":93,"h":91},
"frame": {"x":667,"y":398,"w":93,"h":91},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":2,"w":93,"h":91},
@ -458,7 +474,7 @@
},
"sprites/buildings/splitter.png":
{
"frame": {"x":3,"y":1665,"w":171,"h":96},
"frame": {"x":1461,"y":203,"w":171,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":11,"y":0,"w":171,"h":96},
@ -466,7 +482,7 @@
},
"sprites/buildings/stacker.png":
{
"frame": {"x":3,"y":1365,"w":174,"h":96},
"frame": {"x":1322,"y":103,"w":174,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":0,"w":174,"h":96},
@ -474,7 +490,7 @@
},
"sprites/buildings/trash-storage.png":
{
"frame": {"x":199,"y":970,"w":166,"h":192},
"frame": {"x":936,"y":203,"w":166,"h":192},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":166,"h":192},
@ -482,7 +498,7 @@
},
"sprites/buildings/trash.png":
{
"frame": {"x":373,"y":549,"w":96,"h":96},
"frame": {"x":1775,"y":103,"w":96,"h":96},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
@ -490,7 +506,7 @@
},
"sprites/buildings/underground_belt_entry-tier2.png":
{
"frame": {"x":274,"y":1617,"w":92,"h":83},
"frame": {"x":861,"y":399,"w":92,"h":83},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":13,"w":92,"h":83},
@ -498,7 +514,7 @@
},
"sprites/buildings/underground_belt_entry.png":
{
"frame": {"x":370,"y":1617,"w":92,"h":74},
"frame": {"x":1875,"y":103,"w":92,"h":74},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":22,"w":92,"h":74},
@ -506,7 +522,7 @@
},
"sprites/buildings/underground_belt_exit-tier2.png":
{
"frame": {"x":370,"y":1695,"w":92,"h":74},
"frame": {"x":1783,"y":303,"w":92,"h":74},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":92,"h":74},
@ -514,7 +530,7 @@
},
"sprites/buildings/underground_belt_exit.png":
{
"frame": {"x":274,"y":1704,"w":92,"h":74},
"frame": {"x":1055,"y":403,"w":92,"h":74},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":92,"h":74},
@ -522,7 +538,7 @@
},
"sprites/debug/acceptor_slot.png":
{
"frame": {"x":240,"y":1707,"w":26,"h":32},
"frame": {"x":1989,"y":304,"w":26,"h":32},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":26,"h":32},
@ -530,7 +546,7 @@
},
"sprites/debug/ejector_slot.png":
{
"frame": {"x":240,"y":1743,"w":26,"h":32},
"frame": {"x":1971,"y":116,"w":26,"h":32},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":26,"h":32},
@ -538,7 +554,7 @@
},
"sprites/map_overview/belt_forward.png":
{
"frame": {"x":181,"y":1365,"w":14,"h":16},
"frame": {"x":1208,"y":448,"w":14,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":14,"h":16},
@ -546,7 +562,7 @@
},
"sprites/map_overview/belt_left.png":
{
"frame": {"x":342,"y":1166,"w":15,"h":15},
"frame": {"x":3,"y":474,"w":15,"h":15},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":1,"w":15,"h":15},
@ -554,7 +570,7 @@
},
"sprites/map_overview/belt_right.png":
{
"frame": {"x":342,"y":1185,"w":15,"h":15},
"frame": {"x":22,"y":474,"w":15,"h":15},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":1,"w":15,"h":15},
@ -562,15 +578,23 @@
},
"sprites/misc/deletion_marker.png":
{
"frame": {"x":296,"y":1166,"w":42,"h":42},
"frame": {"x":1971,"y":70,"w":42,"h":42},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":3,"w":42,"h":42},
"sourceSize": {"w":48,"h":48}
},
"sprites/misc/hub_direction_indicator.png":
{
"frame": {"x":2001,"y":116,"w":16,"h":16},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":16,"h":16},
"sourceSize": {"w":16,"h":16}
},
"sprites/misc/slot_bad_arrow.png":
{
"frame": {"x":296,"y":1166,"w":42,"h":42},
"frame": {"x":1971,"y":70,"w":42,"h":42},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":3,"w":42,"h":42},
@ -578,7 +602,7 @@
},
"sprites/misc/slot_good_arrow.png":
{
"frame": {"x":3,"y":1782,"w":42,"h":48},
"frame": {"x":1729,"y":402,"w":42,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":42,"h":48},
@ -586,7 +610,7 @@
},
"sprites/misc/storage_overlay.png":
{
"frame": {"x":381,"y":201,"w":89,"h":44},
"frame": {"x":1208,"y":400,"w":89,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":1,"w":89,"h":44},
@ -594,7 +618,7 @@
},
"sprites/misc/waypoint.png":
{
"frame": {"x":181,"y":1385,"w":14,"h":16},
"frame": {"x":1835,"y":270,"w":14,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":14,"h":16},
@ -605,8 +629,8 @@
"version": "1.0",
"image": "atlas0_50.png",
"format": "RGBA8888",
"size": {"w":475,"h":1968},
"size": {"w":2020,"h":492},
"scale": "0.5",
"smartupdate": "$TexturePacker:SmartUpdate:3dd7a89f30024dd4787ad4af6b14588a:9ba11f8b02134c4376ab4e0a44f8b850:f159918d23e5952766c6d23ab52278c6$"
"smartupdate": "$TexturePacker:SmartUpdate:d89b36ef407ab57010cdc305dbead00b:d53090b6a8e7ddd3fb089e71bf9d20ca:f159918d23e5952766c6d23ab52278c6$"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 374 KiB

After

Width:  |  Height:  |  Size: 397 KiB

View File

@ -2,7 +2,7 @@
"sprites/belt/forward_0.png":
{
"frame": {"x":1936,"y":151,"w":77,"h":95},
"frame": {"x":1963,"y":102,"w":77,"h":95},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":0,"w":77,"h":95},
@ -10,7 +10,7 @@
},
"sprites/belt/forward_1.png":
{
"frame": {"x":1936,"y":250,"w":77,"h":95},
"frame": {"x":1963,"y":201,"w":77,"h":95},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":0,"w":77,"h":95},
@ -18,7 +18,7 @@
},
"sprites/belt/forward_2.png":
{
"frame": {"x":1600,"y":708,"w":77,"h":95},
"frame": {"x":1967,"y":300,"w":77,"h":95},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":0,"w":77,"h":95},
@ -26,7 +26,7 @@
},
"sprites/belt/forward_3.png":
{
"frame": {"x":1544,"y":808,"w":77,"h":95},
"frame": {"x":1967,"y":399,"w":77,"h":95},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":0,"w":77,"h":95},
@ -34,7 +34,7 @@
},
"sprites/belt/forward_4.png":
{
"frame": {"x":1625,"y":807,"w":77,"h":95},
"frame": {"x":1967,"y":498,"w":77,"h":95},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":0,"w":77,"h":95},
@ -42,7 +42,7 @@
},
"sprites/belt/forward_5.png":
{
"frame": {"x":1544,"y":907,"w":77,"h":95},
"frame": {"x":1679,"y":952,"w":77,"h":95},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":0,"w":77,"h":95},
@ -50,7 +50,7 @@
},
"sprites/belt/left_0.png":
{
"frame": {"x":1680,"y":593,"w":86,"h":86},
"frame": {"x":1217,"y":969,"w":86,"h":86},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":9,"w":86,"h":86},
@ -58,7 +58,7 @@
},
"sprites/belt/left_1.png":
{
"frame": {"x":1770,"y":592,"w":86,"h":86},
"frame": {"x":1307,"y":969,"w":86,"h":86},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":9,"w":86,"h":86},
@ -66,7 +66,7 @@
},
"sprites/belt/left_2.png":
{
"frame": {"x":1860,"y":592,"w":86,"h":86},
"frame": {"x":1916,"y":597,"w":86,"h":86},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":9,"w":86,"h":86},
@ -74,7 +74,7 @@
},
"sprites/belt/left_3.png":
{
"frame": {"x":1681,"y":683,"w":86,"h":86},
"frame": {"x":1916,"y":687,"w":86,"h":86},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":9,"w":86,"h":86},
@ -82,7 +82,7 @@
},
"sprites/belt/left_4.png":
{
"frame": {"x":1771,"y":682,"w":86,"h":86},
"frame": {"x":1916,"y":777,"w":86,"h":86},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":9,"w":86,"h":86},
@ -90,7 +90,7 @@
},
"sprites/belt/left_5.png":
{
"frame": {"x":1861,"y":682,"w":86,"h":86},
"frame": {"x":1914,"y":867,"w":86,"h":86},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":9,"w":86,"h":86},
@ -98,7 +98,7 @@
},
"sprites/belt/right_0.png":
{
"frame": {"x":1706,"y":773,"w":86,"h":86},
"frame": {"x":1499,"y":852,"w":86,"h":86},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":9,"w":86,"h":86},
@ -106,7 +106,7 @@
},
"sprites/belt/right_1.png":
{
"frame": {"x":1796,"y":772,"w":86,"h":86},
"frame": {"x":1397,"y":967,"w":86,"h":86},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":9,"w":86,"h":86},
@ -114,7 +114,7 @@
},
"sprites/belt/right_2.png":
{
"frame": {"x":1886,"y":772,"w":86,"h":86},
"frame": {"x":1589,"y":862,"w":86,"h":86},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":9,"w":86,"h":86},
@ -122,7 +122,7 @@
},
"sprites/belt/right_3.png":
{
"frame": {"x":1716,"y":863,"w":86,"h":86},
"frame": {"x":1679,"y":862,"w":86,"h":86},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":9,"w":86,"h":86},
@ -130,7 +130,7 @@
},
"sprites/belt/right_4.png":
{
"frame": {"x":1806,"y":862,"w":86,"h":86},
"frame": {"x":1499,"y":942,"w":86,"h":86},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":9,"w":86,"h":86},
@ -138,7 +138,7 @@
},
"sprites/belt/right_5.png":
{
"frame": {"x":1896,"y":862,"w":86,"h":86},
"frame": {"x":1589,"y":952,"w":86,"h":86},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":9,"w":86,"h":86},
@ -146,7 +146,7 @@
},
"sprites/blueprints/belt_left.png":
{
"frame": {"x":1924,"y":349,"w":87,"h":87},
"frame": {"x":1397,"y":593,"w":87,"h":87},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":8,"w":87,"h":87},
@ -154,7 +154,7 @@
},
"sprites/blueprints/belt_right.png":
{
"frame": {"x":1625,"y":906,"w":87,"h":87},
"frame": {"x":1397,"y":684,"w":87,"h":87},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":8,"y":8,"w":87,"h":87},
@ -162,7 +162,7 @@
},
"sprites/blueprints/belt_top.png":
{
"frame": {"x":1517,"y":709,"w":79,"h":95},
"frame": {"x":1963,"y":3,"w":79,"h":95},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":8,"y":0,"w":79,"h":95},
@ -186,7 +186,7 @@
},
"sprites/blueprints/miner-chainable.png":
{
"frame": {"x":1784,"y":299,"w":136,"h":143},
"frame": {"x":1827,"y":447,"w":136,"h":143},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":136,"h":143},
@ -194,7 +194,7 @@
},
"sprites/blueprints/miner.png":
{
"frame": {"x":1544,"y":446,"w":136,"h":143},
"frame": {"x":1076,"y":739,"w":136,"h":143},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":136,"h":143},
@ -202,7 +202,7 @@
},
"sprites/blueprints/mixer.png":
{
"frame": {"x":1671,"y":151,"w":261,"h":144},
"frame": {"x":547,"y":738,"w":261,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":0,"w":261,"h":144},
@ -216,6 +216,14 @@
"spriteSourceSize": {"x":0,"y":0,"w":288,"h":287},
"sourceSize": {"w":288,"h":288}
},
"sprites/blueprints/painter-mirrored.png":
{
"frame": {"x":1119,"y":150,"w":288,"h":144},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":288,"h":144},
"sourceSize": {"w":288,"h":144}
},
"sprites/blueprints/painter-quad.png":
{
"frame": {"x":555,"y":3,"w":560,"h":144},
@ -226,7 +234,7 @@
},
"sprites/blueprints/painter.png":
{
"frame": {"x":1119,"y":150,"w":288,"h":144},
"frame": {"x":1671,"y":3,"w":288,"h":144},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":288,"h":144},
@ -234,7 +242,7 @@
},
"sprites/blueprints/rotater-ccw.png":
{
"frame": {"x":1397,"y":445,"w":143,"h":144},
"frame": {"x":1639,"y":299,"w":143,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":143,"h":144},
@ -242,7 +250,7 @@
},
"sprites/blueprints/rotater.png":
{
"frame": {"x":1084,"y":594,"w":143,"h":144},
"frame": {"x":1786,"y":299,"w":143,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":143,"h":144},
@ -250,7 +258,7 @@
},
"sprites/blueprints/splitter-compact-inverse.png":
{
"frame": {"x":1071,"y":742,"w":142,"h":138},
"frame": {"x":1071,"y":886,"w":142,"h":138},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":2,"w":142,"h":138},
@ -258,7 +266,7 @@
},
"sprites/blueprints/splitter-compact.png":
{
"frame": {"x":1217,"y":742,"w":139,"h":138},
"frame": {"x":1488,"y":594,"w":139,"h":138},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":2,"w":139,"h":138},
@ -266,7 +274,7 @@
},
"sprites/blueprints/splitter.png":
{
"frame": {"x":1119,"y":298,"w":256,"h":144},
"frame": {"x":811,"y":886,"w":256,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":17,"y":0,"w":256,"h":144},
@ -274,7 +282,7 @@
},
"sprites/blueprints/stacker.png":
{
"frame": {"x":555,"y":590,"w":261,"h":144},
"frame": {"x":847,"y":591,"w":261,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":0,"w":261,"h":144},
@ -290,7 +298,7 @@
},
"sprites/blueprints/trash.png":
{
"frame": {"x":1101,"y":446,"w":144,"h":144},
"frame": {"x":1241,"y":445,"w":144,"h":144},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":144,"h":144},
@ -298,7 +306,7 @@
},
"sprites/blueprints/underground_belt_entry-tier2.png":
{
"frame": {"x":835,"y":885,"w":138,"h":125},
"frame": {"x":1774,"y":594,"w":138,"h":125},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":19,"w":138,"h":125},
@ -306,7 +314,7 @@
},
"sprites/blueprints/underground_belt_entry.png":
{
"frame": {"x":1261,"y":884,"w":138,"h":112},
"frame": {"x":1774,"y":723,"w":138,"h":112},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":32,"w":138,"h":112},
@ -314,7 +322,7 @@
},
"sprites/blueprints/underground_belt_exit-tier2.png":
{
"frame": {"x":1118,"y":884,"w":139,"h":112},
"frame": {"x":1488,"y":736,"w":139,"h":112},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":139,"h":112},
@ -322,7 +330,7 @@
},
"sprites/blueprints/underground_belt_exit.png":
{
"frame": {"x":1397,"y":593,"w":138,"h":112},
"frame": {"x":1772,"y":839,"w":138,"h":112},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":138,"h":112},
@ -330,7 +338,7 @@
},
"sprites/buildings/belt_left.png":
{
"frame": {"x":1680,"y":593,"w":86,"h":86},
"frame": {"x":1217,"y":969,"w":86,"h":86},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":9,"w":86,"h":86},
@ -338,7 +346,7 @@
},
"sprites/buildings/belt_right.png":
{
"frame": {"x":1706,"y":773,"w":86,"h":86},
"frame": {"x":1499,"y":852,"w":86,"h":86},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":9,"w":86,"h":86},
@ -346,7 +354,7 @@
},
"sprites/buildings/belt_top.png":
{
"frame": {"x":1936,"y":151,"w":77,"h":95},
"frame": {"x":1963,"y":102,"w":77,"h":95},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":0,"w":77,"h":95},
@ -362,7 +370,7 @@
},
"sprites/buildings/cutter.png":
{
"frame": {"x":811,"y":738,"w":256,"h":143},
"frame": {"x":1119,"y":298,"w":256,"h":143},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":17,"y":0,"w":256,"h":143},
@ -378,7 +386,7 @@
},
"sprites/buildings/miner-chainable.png":
{
"frame": {"x":1684,"y":446,"w":136,"h":142},
"frame": {"x":1101,"y":445,"w":136,"h":142},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":136,"h":142},
@ -386,7 +394,7 @@
},
"sprites/buildings/miner.png":
{
"frame": {"x":1824,"y":446,"w":136,"h":142},
"frame": {"x":1112,"y":593,"w":136,"h":142},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":136,"h":142},
@ -394,7 +402,7 @@
},
"sprites/buildings/mixer.png":
{
"frame": {"x":547,"y":738,"w":260,"h":143},
"frame": {"x":812,"y":739,"w":260,"h":143},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":260,"h":143},
@ -408,6 +416,14 @@
"spriteSourceSize": {"x":0,"y":0,"w":288,"h":286},
"sourceSize": {"w":288,"h":288}
},
"sprites/buildings/painter-mirrored.png":
{
"frame": {"x":1671,"y":151,"w":288,"h":144},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":288,"h":144},
"sourceSize": {"w":288,"h":144}
},
"sprites/buildings/painter-quad.png":
{
"frame": {"x":555,"y":151,"w":560,"h":144},
@ -418,7 +434,7 @@
},
"sprites/buildings/painter.png":
{
"frame": {"x":1671,"y":3,"w":288,"h":144},
"frame": {"x":555,"y":590,"w":288,"h":144},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":288,"h":144},
@ -426,7 +442,7 @@
},
"sprites/buildings/rotater-ccw.png":
{
"frame": {"x":1231,"y":594,"w":141,"h":143},
"frame": {"x":1537,"y":447,"w":141,"h":143},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":141,"h":143},
@ -434,7 +450,7 @@
},
"sprites/buildings/rotater.png":
{
"frame": {"x":1639,"y":299,"w":141,"h":143},
"frame": {"x":1682,"y":447,"w":141,"h":143},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":141,"h":143},
@ -442,7 +458,7 @@
},
"sprites/buildings/splitter-compact-inverse.png":
{
"frame": {"x":547,"y":885,"w":141,"h":136},
"frame": {"x":1252,"y":593,"w":141,"h":136},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":3,"w":141,"h":136},
@ -450,7 +466,7 @@
},
"sprites/buildings/splitter-compact.png":
{
"frame": {"x":692,"y":885,"w":139,"h":136},
"frame": {"x":1631,"y":594,"w":139,"h":136},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":3,"w":139,"h":136},
@ -466,7 +482,7 @@
},
"sprites/buildings/stacker.png":
{
"frame": {"x":820,"y":591,"w":260,"h":143},
"frame": {"x":547,"y":886,"w":260,"h":143},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":260,"h":143},
@ -482,7 +498,7 @@
},
"sprites/buildings/trash.png":
{
"frame": {"x":1249,"y":446,"w":144,"h":144},
"frame": {"x":1389,"y":445,"w":144,"h":144},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":144,"h":144},
@ -490,7 +506,7 @@
},
"sprites/buildings/underground_belt_entry-tier2.png":
{
"frame": {"x":977,"y":885,"w":137,"h":124},
"frame": {"x":1631,"y":734,"w":137,"h":124},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":20,"w":137,"h":124},
@ -498,7 +514,7 @@
},
"sprites/buildings/underground_belt_entry.png":
{
"frame": {"x":1539,"y":593,"w":137,"h":111},
"frame": {"x":1216,"y":739,"w":137,"h":111},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":33,"w":137,"h":111},
@ -506,7 +522,7 @@
},
"sprites/buildings/underground_belt_exit-tier2.png":
{
"frame": {"x":1376,"y":709,"w":137,"h":111},
"frame": {"x":1217,"y":854,"w":137,"h":111},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":137,"h":111},
@ -514,7 +530,7 @@
},
"sprites/buildings/underground_belt_exit.png":
{
"frame": {"x":1403,"y":824,"w":137,"h":111},
"frame": {"x":1358,"y":852,"w":137,"h":111},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":137,"h":111},
@ -522,7 +538,7 @@
},
"sprites/debug/acceptor_slot.png":
{
"frame": {"x":1963,"y":3,"w":38,"h":48},
"frame": {"x":2006,"y":597,"w":38,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":38,"h":48},
@ -530,7 +546,7 @@
},
"sprites/debug/ejector_slot.png":
{
"frame": {"x":1963,"y":55,"w":38,"h":48},
"frame": {"x":2006,"y":649,"w":38,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":38,"h":48},
@ -538,7 +554,7 @@
},
"sprites/map_overview/belt_forward.png":
{
"frame": {"x":1625,"y":997,"w":20,"h":24},
"frame": {"x":1826,"y":955,"w":20,"h":24},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":20,"h":24},
@ -546,7 +562,7 @@
},
"sprites/map_overview/belt_left.png":
{
"frame": {"x":3,"y":994,"w":22,"h":22},
"frame": {"x":206,"y":994,"w":22,"h":22},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":2,"w":22,"h":22},
@ -554,7 +570,7 @@
},
"sprites/map_overview/belt_right.png":
{
"frame": {"x":1963,"y":107,"w":22,"h":22},
"frame": {"x":2006,"y":701,"w":22,"h":22},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":2,"w":22,"h":22},
@ -562,15 +578,23 @@
},
"sprites/misc/deletion_marker.png":
{
"frame": {"x":1716,"y":953,"w":62,"h":62},
"frame": {"x":140,"y":994,"w":62,"h":62},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":5,"w":62,"h":62},
"sourceSize": {"w":72,"h":72}
},
"sprites/misc/hub_direction_indicator.png":
{
"frame": {"x":1933,"y":299,"w":24,"h":24},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":24,"h":24},
"sourceSize": {"w":24,"h":24}
},
"sprites/misc/slot_bad_arrow.png":
{
"frame": {"x":1716,"y":953,"w":62,"h":62},
"frame": {"x":140,"y":994,"w":62,"h":62},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":5,"w":62,"h":62},
@ -578,7 +602,7 @@
},
"sprites/misc/slot_good_arrow.png":
{
"frame": {"x":1950,"y":592,"w":62,"h":72},
"frame": {"x":1760,"y":955,"w":62,"h":72},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":62,"h":72},
@ -586,7 +610,7 @@
},
"sprites/misc/storage_overlay.png":
{
"frame": {"x":1403,"y":939,"w":133,"h":66},
"frame": {"x":3,"y":994,"w":133,"h":66},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":2,"w":133,"h":66},
@ -594,7 +618,7 @@
},
"sprites/misc/waypoint.png":
{
"frame": {"x":1649,"y":997,"w":20,"h":24},
"frame": {"x":1933,"y":327,"w":20,"h":24},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":20,"h":24},
@ -605,8 +629,8 @@
"version": "1.0",
"image": "atlas0_75.png",
"format": "RGBA8888",
"size": {"w":2016,"h":1024},
"size": {"w":2047,"h":1063},
"scale": "0.75",
"smartupdate": "$TexturePacker:SmartUpdate:3dd7a89f30024dd4787ad4af6b14588a:9ba11f8b02134c4376ab4e0a44f8b850:f159918d23e5952766c6d23ab52278c6$"
"smartupdate": "$TexturePacker:SmartUpdate:d89b36ef407ab57010cdc305dbead00b:d53090b6a8e7ddd3fb089e71bf9d20ca:f159918d23e5952766c6d23ab52278c6$"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 735 KiB

After

Width:  |  Height:  |  Size: 779 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 B

View File

@ -15,6 +15,11 @@ $buildingsAndVariants: belt, splitter, splitter-compact, splitter-compact-invers
}
}
// Special case
[data-icon="building_tutorials/painter-mirrored.png"] {
background-image: uiResource("res/ui/building_tutorials/painter.png") !important;
}
$icons: notification_saved, notification_success, notification_upgrade;
@each $icon in $icons {
[data-icon="icons/#{$icon}.png"] {
@ -23,7 +28,7 @@ $icons: notification_saved, notification_success, notification_upgrade;
}
$languages: en, de, cs, da, et, es-419, fr, it, pt-BR, sv, tr, el, ru, uk, zh-TW, nb, mt-MT, ar, nl, vi, th,
hu, pl, ja, kor;
hu, pl, ja, kor, no, pt-PT;
@each $language in $languages {
[data-languageicon="#{$language}"] {

View File

@ -122,6 +122,10 @@
color: #aaa;
}
a {
color: $colorBlueBright;
}
strong {
font-weight: bold;
}

View File

@ -47,6 +47,7 @@
opacity: 0.7;
@include S(margin-bottom, 1px);
font-weight: bold;
&:hover {
opacity: 1;
}
@ -63,5 +64,29 @@
transform: scale(1.5);
}
}
&.hub {
// Transform because there is a canvas before
@include S(margin-left, -2px);
grid-template-columns: auto 1fr;
background: none !important;
@include S(padding-left, 0);
canvas {
@include S(width, 12px);
@include S(height, 12px);
@include S(margin-right, 1px);
}
}
&.shapeIcon {
canvas {
@include S(width, 15px);
@include S(height, 15px);
pointer-events: none;
// Double invert, to make sure it has the right color
@include DarkThemeInvert();
}
}
}
}

View File

@ -37,6 +37,7 @@
.languageChoose {
@include S(border-radius, 8px);
border: solid #222428;
background-color: #fff;
@include S(border-width, 2px);
background-size: cover;
}

View File

@ -1,4 +1,32 @@
export const CHANGELOG = [
{
version: "1.1.14",
date: "unreleased",
entries: [
"There is now an indicator (compass) to the HUB for the HUB Marker!",
"You can now include shape short keys in markers to render shape icons instead of text!",
"Added mirrored variant of the painter",
],
},
{
version: "1.1.13",
date: "15.06.2020",
entries: [
"Added shift modifier for faster pan (by jaysc)",
"Added Japanese translations",
"Added Portuguese (Portugal) translations",
"Updated icon for Spanish (Latin America) - It was showing a Spanish flag before",
"Updated existing translations",
],
},
{
version: "1.1.12",
date: "14.06.2020",
entries: [
"Huge performance improvements! The game should now run up to 60% faster!",
"Added norwegian translation",
],
},
{
version: "1.1.11",
date: "13.06.2020",

View File

@ -11,7 +11,7 @@ import { T } from "../../translations";
import { formatItemsPerSecond } from "../../core/utils";
/** @enum {string} */
export const enumPainterVariants = { double: "double", quad: "quad" };
export const enumPainterVariants = { mirrored: "mirrored", double: "double", quad: "quad" };
export class MetaPainterBuilding extends MetaBuilding {
constructor() {
@ -21,6 +21,7 @@ export class MetaPainterBuilding extends MetaBuilding {
getDimensions(variant) {
switch (variant) {
case defaultBuildingVariant:
case enumPainterVariants.mirrored:
return new Vector(2, 1);
case enumPainterVariants.double:
return new Vector(2, 2);
@ -42,7 +43,8 @@ export class MetaPainterBuilding extends MetaBuilding {
*/
getAdditionalStatistics(root, variant) {
switch (variant) {
case defaultBuildingVariant: {
case defaultBuildingVariant:
case enumPainterVariants.mirrored: {
const speed = root.hubGoals.getProcessorBaseSpeed(enumItemProcessorTypes.painter);
return [[T.ingame.buildingPlacement.infoTexts.speed, formatItemsPerSecond(speed)]];
}
@ -61,7 +63,7 @@ export class MetaPainterBuilding extends MetaBuilding {
* @param {GameRoot} root
*/
getAvailableVariants(root) {
let variants = [defaultBuildingVariant];
let variants = [defaultBuildingVariant, enumPainterVariants.mirrored];
if (root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_painter_double)) {
variants.push(enumPainterVariants.double);
}
@ -116,7 +118,8 @@ export class MetaPainterBuilding extends MetaBuilding {
*/
updateVariants(entity, rotationVariant, variant) {
switch (variant) {
case defaultBuildingVariant: {
case defaultBuildingVariant:
case enumPainterVariants.mirrored: {
entity.components.ItemAcceptor.setSlots([
{
pos: new Vector(0, 0),
@ -125,7 +128,9 @@ export class MetaPainterBuilding extends MetaBuilding {
},
{
pos: new Vector(1, 0),
directions: [enumDirection.top],
directions: [
variant === defaultBuildingVariant ? enumDirection.top : enumDirection.bottom,
],
filter: enumItemAcceptorItemFilter.color,
},
]);

View File

@ -901,8 +901,12 @@ export class Camera extends BasicSerializableObject {
forceX += 1;
}
this.center.x += moveAmount * forceX * this.root.app.settings.getMovementSpeed();
this.center.y += moveAmount * forceY * this.root.app.settings.getMovementSpeed();
let movementSpeed =
this.root.app.settings.getMovementSpeed() *
(actionMapper.getBinding(KEYMAPPINGS.navigation.mapMoveFaster).isCurrentlyPressed() ? 4 : 1);
this.center.x += moveAmount * forceX * movementSpeed;
this.center.y += moveAmount * forceY * movementSpeed;
}
}
}

View File

@ -64,7 +64,7 @@ export class BeltComponent extends Component {
/**
* Returns if the belt can currently accept an item from the given direction
*/
canAcceptItem(leftoverProgress = 0.0) {
canAcceptItem() {
const firstItem = this.sortedItems[0];
if (!firstItem) {
return true;

View File

@ -20,6 +20,14 @@ export const enumItemAcceptorItemFilter = {
* filter?: enumItemAcceptorItemFilter
* }} ItemAcceptorSlot */
/**
* Contains information about a slot plus its location
* @typedef {{
* slot: ItemAcceptorSlot,
* index: number,
* acceptedDirection: enumDirection
* }} ItemAcceptorLocatedSlot */
export class ItemAcceptorComponent extends Component {
static getId() {
return "ItemAcceptor";
@ -164,11 +172,7 @@ export class ItemAcceptorComponent extends Component {
* Tries to find a slot which accepts the current item
* @param {Vector} targetLocalTile
* @param {enumDirection} fromLocalDirection
* @returns {{
* slot: ItemAcceptorSlot,
* index: number,
* acceptedDirection: enumDirection
* }|null}
* @returns {ItemAcceptorLocatedSlot|null}
*/
findMatchingSlot(targetLocalTile, fromLocalDirection) {
// We need to invert our direction since the acceptor specifies *from* which direction

View File

@ -92,6 +92,9 @@ export class GameSystemManager {
add("staticMapEntities", StaticMapEntitySystem);
// IMPORTANT: Must be after belt system since belt system can change the
// orientation of an entity after it is placed -> the item acceptor cache
// then would be invalid
add("itemAcceptor", ItemAcceptorSystem);
logger.log("📦 There are", this.systemUpdateOrder.length, "game systems");

View File

@ -1,5 +1,5 @@
import { makeOffscreenBuffer } from "../../../core/buffer_utils";
import { Math_max } from "../../../core/builtins";
import { Math_max, Math_PI, Math_radians } from "../../../core/builtins";
import { globalConfig, IS_DEMO } from "../../../core/config";
import { DrawParameters } from "../../../core/draw_parameters";
import { Loader } from "../../../core/loader";
@ -7,7 +7,7 @@ import { DialogWithForm } from "../../../core/modal_dialog_elements";
import { FormElementInput } from "../../../core/modal_dialog_forms";
import { Rectangle } from "../../../core/rectangle";
import { STOP_PROPAGATION } from "../../../core/signal";
import { arrayDeleteValue, lerp, makeDiv, removeAllChildren } from "../../../core/utils";
import { arrayDeleteValue, lerp, makeDiv, removeAllChildren, clamp } from "../../../core/utils";
import { Vector } from "../../../core/vector";
import { T } from "../../../translations";
import { enumMouseButton } from "../../camera";
@ -15,16 +15,26 @@ import { KEYMAPPINGS } from "../../key_action_mapper";
import { BaseHUDPart } from "../base_hud_part";
import { DynamicDomAttach } from "../dynamic_dom_attach";
import { enumNotificationType } from "./notifications";
import { ShapeDefinition } from "../../shape_definition";
/** @typedef {{
* label: string,
* label: string | null,
* center: { x: number, y: number },
* zoomLevel: number,
* deletable: boolean
* zoomLevel: number
* }} Waypoint */
/**
* Used when a shape icon is rendered instead
*/
const SHAPE_LABEL_PLACEHOLDER = " ";
export class HUDWaypoints extends BaseHUDPart {
/**
* Creates the overview of waypoints
* @param {HTMLElement} parent
*/
createElements(parent) {
// Create the helper box on the lower right when zooming out
if (this.root.app.settings.getAllSettings().offerHints) {
this.hintElement = makeDiv(
parent,
@ -42,17 +52,23 @@ export class HUDWaypoints extends BaseHUDPart {
);
}
this.waypointSprite = Loader.getSprite("sprites/misc/waypoint.png");
// Create the waypoint list on the upper right
this.waypointsListElement = makeDiv(parent, "ingame_HUD_Waypoints", [], "Waypoints");
}
/**
* Serializes the waypoints
*/
serialize() {
return {
waypoints: this.waypoints,
};
}
/**
* Deserializes the waypoints
* @param {{waypoints: Array<Waypoint>}} data
*/
deserialize(data) {
if (!data || !data.waypoints || !Array.isArray(data.waypoints)) {
return "Invalid waypoints data";
@ -61,21 +77,97 @@ export class HUDWaypoints extends BaseHUDPart {
this.rerenderWaypointList();
}
/**
* Initializes everything
*/
initialize() {
// Cache the sprite for the waypoints
this.waypointSprite = Loader.getSprite("sprites/misc/waypoint.png");
this.directionIndicatorSprite = Loader.getSprite("sprites/misc/hub_direction_indicator.png");
/** @type {Array<Waypoint>}
*/
this.waypoints = [
{
label: null,
center: { x: 0, y: 0 },
zoomLevel: 3,
},
];
// Create a buffer we can use to measure text
this.dummyBuffer = makeOffscreenBuffer(1, 1, {
reusable: false,
label: "waypoints-measure-canvas",
})[1];
// Dynamically attach/detach the lower right hint in the map overview
if (this.hintElement) {
this.domAttach = new DynamicDomAttach(this.root, this.hintElement);
}
// Catch mouse and key events
this.root.camera.downPreHandler.add(this.onMouseDown, this);
this.root.keyMapper
.getBinding(KEYMAPPINGS.navigation.createMarker)
.add(this.requestCreateMarker, this);
/**
* Stores at how much opacity the markers should be rendered on the map.
* This is interpolated over multiple frames so we have some sort of fade effect
*/
this.currentMarkerOpacity = 1;
this.currentCompassOpacity = 0;
// Create buffer which is used to indicate the hub direction
const [canvas, context] = makeOffscreenBuffer(48, 48, {
smooth: true,
reusable: false,
label: "waypoints-compass",
});
this.compassBuffer = { canvas, context };
/**
* Stores a cache from a shape short key to its canvas representation
*/
this.cachedKeyToCanvas = {};
// Initial render
this.rerenderWaypointList();
}
/**
* Re-renders the waypoint list to account for changes
*/
rerenderWaypointList() {
removeAllChildren(this.waypointsListElement);
this.cleanupClickDetectors();
for (let i = 0; i < this.waypoints.length; ++i) {
const waypoint = this.waypoints[i];
const label = this.getWaypointLabel(waypoint);
const element = makeDiv(this.waypointsListElement, null, ["waypoint"]);
element.innerText = waypoint.label;
if (waypoint.deletable) {
if (ShapeDefinition.isValidShortKey(label)) {
const canvas = this.getWaypointCanvas(waypoint);
element.appendChild(canvas);
element.classList.add("shapeIcon");
} else {
element.innerText = label;
}
if (this.isWaypointDeletable(waypoint)) {
const deleteButton = makeDiv(element, null, ["deleteButton"]);
this.trackClicks(deleteButton, () => this.deleteWaypoint(waypoint));
}
if (!waypoint.label) {
// This must be the hub label
element.classList.add("hub");
element.insertBefore(this.compassBuffer.canvas, element.childNodes[0]);
}
this.trackClicks(element, () => this.moveToWaypoint(waypoint), {
targetOnly: true,
});
@ -83,6 +175,7 @@ export class HUDWaypoints extends BaseHUDPart {
}
/**
* Moves the camera to a given waypoint
* @param {Waypoint} waypoint
*/
moveToWaypoint(waypoint) {
@ -91,6 +184,7 @@ export class HUDWaypoints extends BaseHUDPart {
}
/**
* Deletes a waypoint from the list
* @param {Waypoint} waypoint
*/
deleteWaypoint(waypoint) {
@ -98,86 +192,131 @@ export class HUDWaypoints extends BaseHUDPart {
this.rerenderWaypointList();
}
initialize() {
/** @type {Array<Waypoint>}
*/
this.waypoints = [
{
label: T.ingame.waypoints.hub,
center: { x: 0, y: 0 },
zoomLevel: 3,
deletable: false,
},
];
this.dummyBuffer = makeOffscreenBuffer(1, 1, {
reusable: false,
label: "waypoints-measure-canvas",
})[1];
this.root.camera.downPreHandler.add(this.onMouseDown, this);
if (this.hintElement) {
this.domAttach = new DynamicDomAttach(this.root, this.hintElement);
/**
* Gets the canvas for a given waypoint
* @param {Waypoint} waypoint
* @returns {HTMLCanvasElement}
*/
getWaypointCanvas(waypoint) {
const key = waypoint.label;
if (this.cachedKeyToCanvas[key]) {
return this.cachedKeyToCanvas[key];
}
this.root.keyMapper
.getBinding(KEYMAPPINGS.navigation.createMarker)
.add(this.requestCreateMarker, this);
this.currentMarkerOpacity = 1;
this.rerenderWaypointList();
assert(ShapeDefinition.isValidShortKey(key), "Invalid short key: " + key);
const definition = ShapeDefinition.fromShortKey(key);
const preRendered = definition.generateAsCanvas(48);
return (this.cachedKeyToCanvas[key] = preRendered);
}
/**
* Requests to create a marker at the current camera position. If worldPos is set,
* uses that position instead.
* @param {Vector=} worldPos Override the world pos, otherwise it is the camera position
*/
requestCreateMarker(worldPos = null) {
// Construct dialog with input field
const markerNameInput = new FormElementInput({
id: "markerName",
label: null,
placeholder: "",
validator: val => val.length > 0 && val.length < 15,
validator: val => val.length > 0 && (val.length < 15 || ShapeDefinition.isValidShortKey(val)),
});
const dialog = new DialogWithForm({
app: this.root.app,
title: T.dialogs.createMarker.title,
desc: T.dialogs.createMarker.desc,
formElements: [markerNameInput],
});
this.root.hud.parts.dialogs.internalShowDialog(dialog);
// Compute where to create the marker
const center = worldPos || this.root.camera.center;
dialog.buttonSignals.ok.add(() => {
// Show info that you can have only N markers in the demo,
// actually show this *after* entering the name so you want the
// standalone even more (I'm evil :P)
if (IS_DEMO && this.waypoints.length > 2) {
this.root.hud.parts.dialogs.showFeatureRestrictionInfo("", T.dialogs.markerDemoLimit.desc);
return;
}
this.waypoints.push({
label: markerNameInput.getValue(),
center: { x: center.x, y: center.y },
zoomLevel: Math_max(this.root.camera.zoomLevel, globalConfig.mapChunkOverviewMinZoom + 0.05),
deletable: true,
});
this.waypoints.sort((a, b) => a.label.padStart(20, "0").localeCompare(b.label.padStart(20, "0")));
this.root.hud.signals.notification.dispatch(
T.ingame.waypoints.creationSuccessNotification,
enumNotificationType.success
);
this.rerenderWaypointList();
// Actually create the waypoint
this.addWaypoint(markerNameInput.getValue(), center);
});
}
/**
* Adds a new waypoint at the given location with the given label
* @param {string} label
* @param {Vector} position
*/
addWaypoint(label, position) {
this.waypoints.push({
label,
center: { x: position.x, y: position.y },
// Make sure the zoom is *just* a bit above the zoom level where the map overview
// starts, so you always see all buildings
zoomLevel: Math_max(this.root.camera.zoomLevel, globalConfig.mapChunkOverviewMinZoom + 0.05),
});
// Sort waypoints by name
this.waypoints.sort((a, b) => {
if (!a.label) {
return -1;
}
if (!b.label) {
return 1;
}
return this.getWaypointLabel(a)
.padEnd(20, "0")
.localeCompare(this.getWaypointLabel(b).padEnd(20, "0"));
});
// Show notification about creation
this.root.hud.signals.notification.dispatch(
T.ingame.waypoints.creationSuccessNotification,
enumNotificationType.success
);
// Re-render the list and thus add it
this.rerenderWaypointList();
}
/**
* Called every frame to update stuff
*/
update() {
if (this.domAttach) {
this.domAttach.update(this.root.camera.getIsMapOverlayActive());
}
}
/**
* Returns the label for a given waypoint
* @param {Waypoint} waypoint
* @returns {string}
*/
getWaypointLabel(waypoint) {
return waypoint.label || T.ingame.waypoints.hub;
}
/**
* Returns if a waypoint is deletable
* @param {Waypoint} waypoint
* @returns {boolean}
*/
isWaypointDeletable(waypoint) {
return waypoint.label !== null;
}
/**
* Finds the currently intersected waypoint on the map overview under
* the cursor.
*
* @returns {Waypoint | null}
*/
findCurrentIntersectedWaypoint() {
const mousePos = this.root.app.mousePosition;
if (!mousePos) {
@ -197,10 +336,18 @@ export class HUDWaypoints extends BaseHUDPart {
const screenPos = this.root.camera.worldToScreen(
new Vector(waypoint.center.x, waypoint.center.y)
);
let label = this.getWaypointLabel(waypoint);
// Special case for icons
if (ShapeDefinition.isValidShortKey(label)) {
label = SHAPE_LABEL_PLACEHOLDER;
}
const intersectionRect = new Rectangle(
screenPos.x - 7 * scale,
screenPos.y - 12 * scale,
15 * scale + this.dummyBuffer.measureText(waypoint.label).width,
15 * scale + this.dummyBuffer.measureText(label).width,
15 * scale
);
if (intersectionRect.containsPoint(mousePos.x, mousePos.y)) {
@ -210,7 +357,7 @@ export class HUDWaypoints extends BaseHUDPart {
}
/**
*
* Mouse-Down handler
* @param {Vector} pos
* @param {enumMouseButton} button
*/
@ -221,7 +368,7 @@ export class HUDWaypoints extends BaseHUDPart {
this.root.soundProxy.playUiClick();
this.moveToWaypoint(waypoint);
} else if (button === enumMouseButton.right) {
if (waypoint.deletable) {
if (this.isWaypointDeletable(waypoint)) {
this.root.soundProxy.playUiClick();
this.deleteWaypoint(waypoint);
} else {
@ -243,50 +390,111 @@ export class HUDWaypoints extends BaseHUDPart {
}
/**
*
* Rerenders the compass
*/
rerenderWaypointsCompass() {
const context = this.compassBuffer.context;
const dims = 48;
context.clearRect(0, 0, dims, dims);
const indicatorSize = 30;
const cameraPos = this.root.camera.center;
const distanceToHub = cameraPos.length();
const compassVisible = distanceToHub > (10 * globalConfig.tileSize) / this.root.camera.zoomLevel;
const targetCompassAlpha = compassVisible ? 1 : 0;
this.currentCompassOpacity = lerp(this.currentCompassOpacity, targetCompassAlpha, 0.08);
if (this.currentCompassOpacity > 0.01) {
context.globalAlpha = this.currentCompassOpacity;
const angle = cameraPos.angle() + Math_radians(45) + Math_PI / 2;
context.translate(dims / 2, dims / 2);
context.rotate(angle);
this.directionIndicatorSprite.drawCentered(context, 0, 0, indicatorSize);
context.rotate(-angle);
context.translate(-dims / 2, -dims / 2);
context.globalAlpha = 1;
}
const iconOpacity = 1 - this.currentCompassOpacity;
if (iconOpacity > 0.01) {
// Draw icon
context.globalAlpha = iconOpacity;
this.waypointSprite.drawCentered(context, dims / 2, dims / 2, dims * 0.7);
context.globalAlpha = 1;
}
}
/**
* Draws the waypoints on the map
* @param {DrawParameters} parameters
*/
draw(parameters) {
const desiredOpacity = this.root.camera.getIsMapOverlayActive() ? 1 : 0;
this.currentMarkerOpacity = lerp(this.currentMarkerOpacity, desiredOpacity, 0.08);
this.rerenderWaypointsCompass();
// Don't render with low opacity
if (this.currentMarkerOpacity < 0.01) {
return;
}
// Find waypoint below cursor
const selected = this.findCurrentIntersectedWaypoint();
// Determine rendering scale
const scale = (1 / this.root.camera.zoomLevel) * this.root.app.getEffectiveUiScale();
// Render all of 'em
for (let i = 0; i < this.waypoints.length; ++i) {
const waypoint = this.waypoints[i];
const pos = waypoint.center;
parameters.context.globalAlpha = this.currentMarkerOpacity * (selected === waypoint ? 1 : 0.7);
const yOffset = -5 * scale;
const originalLabel = this.getWaypointLabel(waypoint);
let renderLabel = originalLabel;
let isShapeIcon = false;
if (ShapeDefinition.isValidShortKey(originalLabel)) {
renderLabel = SHAPE_LABEL_PLACEHOLDER;
isShapeIcon = true;
}
// Render the background rectangle
parameters.context.font = "bold " + 12 * scale + "px GameFont";
parameters.context.fillStyle = "rgba(255, 255, 255, 0.7)";
parameters.context.fillRect(
pos.x - 7 * scale,
pos.y - 12 * scale,
15 * scale + this.dummyBuffer.measureText(waypoint.label).width / this.root.camera.zoomLevel,
15 * scale + this.dummyBuffer.measureText(renderLabel).width / this.root.camera.zoomLevel,
15 * scale
);
parameters.context.fillStyle = "#000";
parameters.context.textAlign = "left";
parameters.context.textBaseline = "middle";
parameters.context.fillText(waypoint.label, pos.x + 6 * scale, pos.y + 0.5 * scale + yOffset);
parameters.context.textBaseline = "alphabetic";
parameters.context.textAlign = "left";
// Render the text
if (isShapeIcon) {
const canvas = this.getWaypointCanvas(waypoint);
parameters.context.drawImage(
canvas,
pos.x + 6 * scale,
pos.y - 11.5 * scale,
14 * scale,
14 * scale
);
} else {
// Render the text
parameters.context.fillStyle = "#000";
parameters.context.textBaseline = "middle";
parameters.context.fillText(renderLabel, pos.x + 6 * scale, pos.y + 0.5 * scale + yOffset);
parameters.context.textBaseline = "alphabetic";
}
// Render the small icon on the left
this.waypointSprite.drawCentered(parameters.context, pos.x, pos.y + yOffset, 10 * scale);
}
parameters.context.globalAlpha = 1;
}
}

View File

@ -33,6 +33,7 @@ export const KEYMAPPINGS = {
mapMoveRight: { keyCode: key("D") },
mapMoveDown: { keyCode: key("S") },
mapMoveLeft: { keyCode: key("A") },
mapMoveFaster: { keyCode: 16 }, //shift
centerMap: { keyCode: 32 }, // SPACE
mapZoomIn: { keyCode: 187, repeated: true }, // "+"

View File

@ -70,6 +70,12 @@ export function createSimpleShape(layers) {
return layers;
}
/**
* Cache which shapes are valid short keys and which not
* @type {Map<string, boolean>}
*/
const SHORT_KEY_CACHE = new Map();
export class ShapeDefinition extends BasicSerializableObject {
static getId() {
return "ShapeDefinition";
@ -114,6 +120,8 @@ export class ShapeDefinition extends BasicSerializableObject {
/**
* Generates the definition from the given short key
* @param {string} key
* @returns {ShapeDefinition}
*/
static fromShortKey(key) {
const sourceLayers = key.split(":");
@ -147,6 +155,81 @@ export class ShapeDefinition extends BasicSerializableObject {
return definition;
}
/**
* Checks if a given string is a valid short key
* @param {string} key
* @returns {boolean}
*/
static isValidShortKey(key) {
if (SHORT_KEY_CACHE.has(key)) {
return SHORT_KEY_CACHE.get(key);
}
const result = ShapeDefinition.isValidShortKeyInternal(key);
SHORT_KEY_CACHE.set(key, result);
return result;
}
/**
* INTERNAL
* Checks if a given string is a valid short key
* @param {string} key
* @returns {boolean}
*/
static isValidShortKeyInternal(key) {
const sourceLayers = key.split(":");
let layers = [];
for (let i = 0; i < sourceLayers.length; ++i) {
const text = sourceLayers[i];
if (text.length !== 8) {
return false;
}
/** @type {ShapeLayer} */
const quads = [null, null, null, null];
let anyFilled = false;
for (let quad = 0; quad < 4; ++quad) {
const shapeText = text[quad * 2 + 0];
const colorText = text[quad * 2 + 1];
const subShape = enumShortcodeToSubShape[shapeText];
const color = enumShortcodeToColor[colorText];
// Valid shape
if (subShape) {
if (!color) {
// Invalid color
return false;
}
quads[quad] = {
subShape,
color,
};
anyFilled = true;
} else if (shapeText === "-") {
// Make sure color is empty then, too
if (colorText !== "-") {
return false;
}
} else {
// Invalid shape key
return false;
}
}
if (!anyFilled) {
// Empty layer
return false;
}
layers.push(quads);
}
if (layers.length === 0 || layers.length > 4) {
return false;
}
return true;
}
/**
* Internal method to clone the shape definition
* @returns {Array<ShapeLayer>}

View File

@ -1,4 +1,4 @@
import { Math_radians, Math_min, Math_max } from "../../core/builtins";
import { Math_radians, Math_min, Math_max, Math_sqrt } from "../../core/builtins";
import { globalConfig } from "../../core/config";
import { DrawParameters } from "../../core/draw_parameters";
import { Loader } from "../../core/loader";
@ -15,6 +15,7 @@ import { GameRoot } from "../root";
import { createLogger } from "../../core/logging";
const BELT_ANIM_COUNT = 6;
const SQRT_2 = Math_sqrt(2);
const logger = createLogger("belt");
@ -211,6 +212,7 @@ export class BeltSystem extends GameSystemWithFilter {
this.root.hubGoals.getBeltBaseSpeed() *
this.root.dynamicTickrate.deltaSeconds *
globalConfig.itemSpacingOnBelts;
if (G_IS_DEV && globalConfig.debug.instantBelts) {
beltSpeed *= 100;
}
@ -229,35 +231,43 @@ export class BeltSystem extends GameSystemWithFilter {
const ejectorComp = entity.components.ItemEjector;
let maxProgress = 1;
/* PERFORMANCE OPTIMIZATION */
// Original:
// const isCurrentlyEjecting = ejectorComp.isAnySlotEjecting();
// Replaced (Since belts always have just one slot):
const ejectorSlot = ejectorComp.slots[0];
const isCurrentlyEjecting = ejectorSlot.item;
// When ejecting, we can not go further than the item spacing since it
// will be on the corner
if (ejectorComp.isAnySlotEjecting()) {
if (isCurrentlyEjecting) {
maxProgress = 1 - globalConfig.itemSpacingOnBelts;
} else {
// Otherwise our progress depends on the follow up
if (followUp) {
const spacingOnBelt = followUp.components.Belt.getDistanceToFirstItemCenter();
maxProgress = Math_min(2, 1 - globalConfig.itemSpacingOnBelts + spacingOnBelt);
assert(maxProgress >= 0.0, "max progress < 0 (I)");
maxProgress = Math.min(2, 1 - globalConfig.itemSpacingOnBelts + spacingOnBelt);
// Useful check, but hurts performance
// assert(maxProgress >= 0.0, "max progress < 0 (I)");
}
}
let speedMultiplier = 1;
if (beltComp.direction !== enumDirection.top) {
// Shaped belts are longer, thus being quicker
speedMultiplier = 1.41;
// Curved belts are shorter, thus being quicker (Looks weird otherwise)
speedMultiplier = SQRT_2;
}
// Not really nice. haven't found the reason for this yet.
if (items.length > 2 / globalConfig.itemSpacingOnBelts) {
logger.error("Fixing broken belt:", entity, items);
beltComp.sortedItems = [];
}
for (let itemIndex = items.length - 1; itemIndex >= 0; --itemIndex) {
const progressAndItem = items[itemIndex];
progressAndItem[0] = Math_min(maxProgress, progressAndItem[0] + speedMultiplier * beltSpeed);
progressAndItem[0] = Math.min(maxProgress, progressAndItem[0] + speedMultiplier * beltSpeed);
if (progressAndItem[0] >= 1.0) {
if (followUp) {
@ -273,14 +283,18 @@ export class BeltSystem extends GameSystemWithFilter {
}
} else {
// Try to give this item to a new belt
const freeSlot = ejectorComp.getFirstFreeSlot();
if (freeSlot === null) {
/* PERFORMANCE OPTIMIZATION */
// Original:
// const freeSlot = ejectorComp.getFirstFreeSlot();
// Replaced
if (ejectorSlot.item) {
// So, we don't have a free slot - damned!
progressAndItem[0] = 1.0;
maxProgress = 1 - globalConfig.itemSpacingOnBelts;
} else {
// We got a free slot, remove this item and keep it on the ejector slot
if (!ejectorComp.tryEject(freeSlot, progressAndItem[1])) {
if (!ejectorComp.tryEject(0, progressAndItem[1])) {
assert(false, "Ejection failed");
}
items.splice(itemIndex, 1);
@ -290,7 +304,7 @@ export class BeltSystem extends GameSystemWithFilter {
}
} else {
// We just moved this item forward, so determine the maximum progress of other items
maxProgress = Math_max(0, progressAndItem[0] - globalConfig.itemSpacingOnBelts);
maxProgress = Math.max(0, progressAndItem[0] - globalConfig.itemSpacingOnBelts);
}
}
}

View File

@ -6,19 +6,40 @@ import { ItemEjectorComponent } from "../components/item_ejector";
import { Entity } from "../entity";
import { GameSystemWithFilter } from "../game_system_with_filter";
import { Math_min } from "../../core/builtins";
import { createLogger } from "../../core/logging";
const logger = createLogger("systems/ejector");
export class ItemEjectorSystem extends GameSystemWithFilter {
constructor(root) {
super(root, [ItemEjectorComponent]);
/**
* @type {Array<{
* targetEntity: Entity,
* sourceSlot: import("../components/item_ejector").ItemEjectorSlot,
* destSlot: import("../components/item_acceptor").ItemAcceptorLocatedSlot
* }>}
*/
this.cache = [];
this.cacheNeedsUpdate = true;
this.root.signals.entityAdded.add(this.invalidateCache, this);
this.root.signals.entityDestroyed.add(this.invalidateCache, this);
}
update() {
const effectiveBeltSpeed = this.root.hubGoals.getBeltBaseSpeed() * globalConfig.itemSpacingOnBelts;
let progressGrowth = (effectiveBeltSpeed / 0.5) * this.root.dynamicTickrate.deltaSeconds;
invalidateCache() {
this.cacheNeedsUpdate = true;
}
if (G_IS_DEV && globalConfig.debug.instantBelts) {
progressGrowth = 1;
}
/**
* Precomputes the cache, which makes up for a huge performance improvement
*/
recomputeCache() {
logger.log("Recomputing cache");
const cache = [];
// Try to find acceptors for every ejector
for (let i = 0; i < this.allEntities.length; ++i) {
@ -29,17 +50,6 @@ export class ItemEjectorSystem extends GameSystemWithFilter {
// For every ejector slot, try to find an acceptor
for (let ejectorSlotIndex = 0; ejectorSlotIndex < ejectorComp.slots.length; ++ejectorSlotIndex) {
const ejectorSlot = ejectorComp.slots[ejectorSlotIndex];
const ejectingItem = ejectorSlot.item;
if (!ejectingItem) {
// No item ejected
continue;
}
ejectorSlot.progress = Math_min(1, ejectorSlot.progress + progressGrowth);
if (ejectorSlot.progress < 1.0) {
// Still ejecting
continue;
}
// Figure out where and into which direction we eject items
const ejectSlotWsTile = staticComp.localTileToWorld(ejectorSlot.pos);
@ -71,20 +81,63 @@ export class ItemEjectorSystem extends GameSystemWithFilter {
continue;
}
if (!targetAcceptorComp.canAcceptItem(matchingSlot.index, ejectingItem)) {
// Can not accept item
continue;
}
// Ok we found a connection
cache.push({
targetEntity,
sourceSlot: ejectorSlot,
destSlot: matchingSlot,
});
}
}
if (this.tryPassOverItem(ejectingItem, targetEntity, matchingSlot.index)) {
targetAcceptorComp.onItemAccepted(
matchingSlot.index,
matchingSlot.acceptedDirection,
ejectingItem
);
ejectorSlot.item = null;
continue;
}
this.cache = cache;
logger.log("Found", cache.length, "entries to update");
}
update() {
if (this.cacheNeedsUpdate) {
this.cacheNeedsUpdate = false;
this.recomputeCache();
}
// Precompute effective belt speed
const effectiveBeltSpeed = this.root.hubGoals.getBeltBaseSpeed() * globalConfig.itemSpacingOnBelts;
let progressGrowth = (effectiveBeltSpeed / 0.5) * this.root.dynamicTickrate.deltaSeconds;
if (G_IS_DEV && globalConfig.debug.instantBelts) {
progressGrowth = 1;
}
// Go over all cache entries
for (let i = 0; i < this.cache.length; ++i) {
const { sourceSlot, destSlot, targetEntity } = this.cache[i];
const item = sourceSlot.item;
if (!item) {
// No item available to be ejected
continue;
}
// Advance items on the slot
sourceSlot.progress = Math_min(1, sourceSlot.progress + progressGrowth);
// Check if we are still in the process of ejecting, can't proceed then
if (sourceSlot.progress < 1.0) {
continue;
}
// Check if the target acceptor can actually accept this item
const targetAcceptorComp = targetEntity.components.ItemAcceptor;
if (!targetAcceptorComp.canAcceptItem(destSlot.index, item)) {
continue;
}
// Try to hand over the item
if (this.tryPassOverItem(item, targetEntity, destSlot.index)) {
// Handover successful, clear slot
targetAcceptorComp.onItemAccepted(destSlot.index, destSlot.acceptedDirection, item);
sourceSlot.item = null;
continue;
}
}
}

View File

@ -20,12 +20,30 @@ export const LANGUAGES = {
code: "fr",
region: "",
},
"ja": {
name: "日本語",
data: require("./built-temp/base-ja.json"),
code: "ja",
region: "",
},
"pt-PT": {
name: "Português (Portugal)",
data: require("./built-temp/base-pt-PT.json"),
code: "pt",
region: "PT",
},
"pt-BR": {
name: "Português (Brasil)",
data: require("./built-temp/base-pt-BR.json"),
code: "pt",
region: "BR",
},
"ru": {
name: "Русский",
data: require("./built-temp/base-ru.json"),
code: "ru",
region: "",
},
"cs": {
name: "Čeština",
data: require("./built-temp/base-cz.json"),
@ -44,12 +62,6 @@ export const LANGUAGES = {
code: "pl",
region: "",
},
"ru": {
name: "Русский",
data: require("./built-temp/base-ru.json"),
code: "ru",
region: "",
},
"kor": {
name: "한국어",
data: require("./built-temp/base-kor.json"),
@ -62,4 +74,10 @@ export const LANGUAGES = {
code: "nl",
region: "",
},
"no": {
name: "Norsk",
data: require("./built-temp/base-no.json"),
code: "no",
region: "",
},
};

View File

@ -13,6 +13,7 @@ import { getSavegameInterface, savegameInterfaces } from "./savegame_interface_r
import { SavegameInterface_V1001 } from "./schemas/1001";
import { SavegameInterface_V1002 } from "./schemas/1002";
import { SavegameInterface_V1003 } from "./schemas/1003";
import { SavegameInterface_V1004 } from "./schemas/1004";
const logger = createLogger("savegame");
@ -44,7 +45,7 @@ export class Savegame extends ReadWriteProxy {
* @returns {number}
*/
static getCurrentVersion() {
return 1003;
return 1004;
}
/**
@ -98,6 +99,11 @@ export class Savegame extends ReadWriteProxy {
data.version = 1003;
}
if (data.version === 1003) {
SavegameInterface_V1004.migrate1003to1004(data);
data.version = 1004;
}
return ExplainedResult.good();
}

View File

@ -4,6 +4,7 @@ import { createLogger } from "../core/logging";
import { SavegameInterface_V1001 } from "./schemas/1001";
import { SavegameInterface_V1002 } from "./schemas/1002";
import { SavegameInterface_V1003 } from "./schemas/1003";
import { SavegameInterface_V1004 } from "./schemas/1004";
/** @type {Object.<number, typeof BaseSavegameInterface>} */
export const savegameInterfaces = {
@ -11,6 +12,7 @@ export const savegameInterfaces = {
1001: SavegameInterface_V1001,
1002: SavegameInterface_V1002,
1003: SavegameInterface_V1003,
1004: SavegameInterface_V1004,
};
const logger = createLogger("savegame_interface_registry");

View File

@ -0,0 +1,36 @@
import { createLogger } from "../../core/logging.js";
import { SavegameInterface_V1003 } from "./1003.js";
const schema = require("./1004.json");
const logger = createLogger("savegame_interface/1004");
export class SavegameInterface_V1004 extends SavegameInterface_V1003 {
getVersion() {
return 1004;
}
getSchemaUncached() {
return schema;
}
/**
* @param {import("../savegame_typedefs.js").SavegameData} data
*/
static migrate1003to1004(data) {
logger.log("Migrating 1003 to 1004");
const dump = data.dump;
if (!dump) {
return true;
}
// The hub simply has an empty label
const waypointData = dump.waypoints.waypoints;
for (let i = 0; i < waypointData.length; ++i) {
const waypoint = waypointData[i];
if (!waypoint.deletable) {
waypoint.label = null;
}
delete waypoint.deletable;
}
}
}

View File

@ -0,0 +1,5 @@
{
"type": "object",
"required": [],
"additionalProperties": true
}

View File

@ -19,12 +19,13 @@ The base translation is `base-en.yaml`. It will always contain the latest phrase
- [Swedish](base-sv.yaml)
- [Chinese (Simplified)](base-zh-CN.yaml)
- [Chinese (Traditional)](base-zh-TW.yaml)
- [Spanish](base-es.yaml)
- [Spanish (Latin America)](base-es.yaml)
- [Hungarian](base-hu.yaml)
- [Turkish](base-tr.yaml)
- [Japanese](base-ja.yaml)
- [Lithuanian](base-lt.yaml)
- [Arabic](base-ar.yaml)
- [Norwegian](base-no.yaml)
(If you want to translate into a new language, see below!)

View File

@ -250,7 +250,7 @@ dialogs:
createMarker:
title: New Marker
desc: Give it a meaningful name
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
@ -731,6 +731,7 @@ keybindings:
pasteLastBlueprint: Paste last blueprint
massSelectCut: Cut area
exportScreenshot: Export whole Base as Image
mapMoveFaster: Move Faster
about:
title: About this Game

View File

@ -231,21 +231,21 @@ dialogs:
createMarker:
title: Nová značka
desc: Dejte jí smysluplné jméno
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: V ukázce můžete vytvořit pouze dvě značky. Získejte plnou verzi pro neomezený počet značek!
massCutConfirm:
title: Confirm cut
title: Potvrdit vyjmutí
desc: >-
You are cutting a lot of buildings (<count> to be exact)! Are you sure you
want to do this?
Chceš vyjmout spoustu budov (přesněji řečeno <count>)! Vážně to
chceš udělat?
exportScreenshotWarning:
title: Export screenshot
title: Exportuj snímek obrazovky
desc: >-
You requested to export your base as a screenshot. Please note that this can
be quite slow for a big base and even crash your game!
Zažádal jsi o exportování své základny jako obrázek. Měj prosím na paměti, že to
může zejména u větších základen dlouho trvat, nebo dokonce shodit hru!
ingame:
# This is shown in the top left corner and displays useful keybindings in
@ -262,7 +262,7 @@ ingame:
placeBuilding: Položit budovu
createMarker: Vytvořit značku
delete: Zničit
pasteLastBlueprint: Paste last blueprint
pasteLastBlueprint: Vložit poslední plán
# Everything related to placing buildings (I.e. as soon as you selected a building
# from the toolbar)
@ -301,7 +301,7 @@ ingame:
# Mass select information, this is when you hold CTRL and then drag with your mouse
# to select multiple buildings
massSelect:
infoText: Press <keyCut> to cut, <keyCopy> to copy, <keyDelete> to remove and <keyCancel> to cancel.
infoText: Stiskni <keyCut> pro vyjmutí, <keyCopy> pro kopírování a <keyDelete> pro zbourání. <keyCancel> ruší výběr.
# The "Upgrades" window
shop:
@ -622,11 +622,11 @@ settings:
Vybere motiv (světlý / tmavý).
themes:
dark: Dark
light: Light
dark: Tmavý
light: Světlý
refreshRate:
title: Cíl simulace
title: Obnovovací frekvence
description: >-
Pokud máte 144 Hz monitor, změňte si rychlost obnovování obrazu. Toto nastavení může snížit FPS, pokud máte pomalý počítač.
@ -641,15 +641,15 @@ settings:
Pokud zapnuté, budou se ve hře zobrazovat tipy a nápovědy. Také schová určité elementy na obrazovce pro jednodušší dostání se do hry.
movementSpeed:
title: Movement speed
description: Changes how fast the view moves when using the keyboard.
title: Rychlost kamery
description: Mění, jak rychle se kamera posouvá při použití klávesnice.
speeds:
super_slow: Super slow
slow: Slow
regular: Regular
fast: Fast
super_fast: Super Fast
extremely_fast: Extremely Fast
super_slow: Hodně pomalá
slow: Pomalá
regular: Normální
fast: Rychlá
super_fast: Hodně Rychlá
extremely_fast: Extrémně Rychlá
keybindings:
title: Klávesové zkratky
@ -674,6 +674,7 @@ keybindings:
mapMoveRight: Posun doprava
mapMoveDown: Posun dolů
mapMoveLeft: Posun doleva
mapMoveFaster: Rychlejší posun
centerMap: Vycentrovat mapu
mapZoomIn: Přiblížit
@ -711,29 +712,29 @@ keybindings:
placementDisableAutoOrientation: Zrušit automatickou orientaci
placeMultiple: Zůstat ve stavebním módu
placeInverse: Přepnout automatickou orientaci pásů
pasteLastBlueprint: Paste last blueprint
massSelectCut: Cut area
exportScreenshot: Export whole Base as Image
pasteLastBlueprint: Vložit poslední plán
massSelectCut: Vyjmout oblast
exportScreenshot: Exportovat celou základnu jako obrázek
about:
title: O hře
body: >-
This game is open source and developed by <a href="https://github.com/tobspr"
target="_blank">Tobias Springer</a> (this is me).<br><br>
Tato hra je open source a je vyvíjená <a href="https://github.com/tobspr"
target="_blank">Tobiasem Springerem</a> (česky neumí, ale je to fakt frajer :) ).<br><br>
If you want to contribute, check out <a href="<githublink>"
target="_blank">shapez.io on github</a>.<br><br>
Pokud se chceš na hře podílet, podívej se na <a href="<githublink>"
target="_blank">shapez.io na githubu</a>.<br><br>
This game wouldn't have been possible without the great discord community
around my games - You should really join the <a href="<discordlink>"
Tato hra by nebyla ani možná bez skvělé discord komunity
okolo Tobiasových her - Vážně by ses měl přijít mrknout na <a href="<discordlink>"
target="_blank">discord server</a>!<br><br>
The soundtrack was made by <a href="https://soundcloud.com/pettersumelius"
target="_blank">Peppsen</a> - He's awesome.<br><br>
Soundtrack udělal <a href="https://soundcloud.com/pettersumelius"
target="_blank">Peppsen</a> - Je úžasnej.<br><br>
Finally, huge thanks to my best friend <a
href="https://github.com/niklas-dahl" target="_blank">Niklas</a> - Without our
factorio sessions this game would never have existed.
V neposlední řadě by Tobias (já jen tlumočím) rád poděkoval skvělému kamarádovi <a
href="https://github.com/niklas-dahl" target="_blank">Niklasi</a> - Bez hodin strávených
u factoria by tato hra nikdy neexistovala.
changelog:
title: Seznam změn
@ -744,6 +745,6 @@ demo:
importingGames: Importování uložených her
oneGameLimit: Omezeno pouze na jednu uloženou hru
customizeKeybindings: Změna klávesových zkratek
exportingBase: Exporting whole Base as Image
exportingBase: Exportovat celou základnu jako obrázek
settingNotAvailable: Nedostupné v demo verzi.

View File

@ -249,7 +249,7 @@ dialogs:
createMarker:
title: Neuer Marker
desc: Gib ihm einen sinnvollen Namen
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: Du kannst nur 2 benutzerdefinierte Marker in der Demo benutzen. Hol dir die Standalone um unendlich viele Marker zu benutzen!
@ -294,10 +294,10 @@ ingame:
Taste: <key>
infoTexts:
speed: Geschwindigkeit
speed: Geschw.
range: Reichweite
storage: Kapazität
oneItemPerSecond: 1 Item / Sekunde
oneItemPerSecond: 1 Item / s
itemsPerSecond: <x> Items / s
itemsPerSecondDouble: (x2)
@ -574,12 +574,12 @@ storyRewards:
# Special reward, which is shown when there is no reward actually
no_reward:
title: Next level
title: Nächstes Level
desc: >-
This level gave you no reward, but the next one will! <br><br> PS: Better don't destroy your existing factory - You need <strong>all</strong> those shapes later again to <strong>unlock upgrades</strong>!
no_reward_freeplay:
title: Next level
title: Nächstes Level
desc: >-
Congratulations! By the way, more content is planned for the standalone!
@ -735,6 +735,7 @@ keybindings:
pasteLastBlueprint: Paste last blueprint
massSelectCut: Cut area
exportScreenshot: Export whole Base as Image
mapMoveFaster: Move Faster
about:
title: Über dieses Spiel

View File

@ -250,7 +250,7 @@ dialogs:
createMarker:
title: New Marker
desc: Give it a meaningful name
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
@ -733,6 +733,7 @@ keybindings:
pasteLastBlueprint: Paste last blueprint
massSelectCut: Cut area
exportScreenshot: Export whole Base as Image
mapMoveFaster: Move Faster
about:
title: About this Game

View File

@ -255,7 +255,7 @@ dialogs:
createMarker:
title: New Marker
desc: Give it a meaningful name
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
@ -478,7 +478,12 @@ buildings:
painter:
default:
name: &painter Painter
description: Colors the whole shape on the left input with the color from the top input.
description: &painter_desc Colors the whole shape on the left input with the color from the top input.
mirrored:
name: *painter
description: *painter_desc
double:
name: Painter (Double)
description: Colors the shapes on the left inputs with the color from the top input.
@ -691,6 +696,7 @@ keybindings:
mapMoveRight: Move Right
mapMoveDown: Move Down
mapMoveLeft: Move Left
mapMoveFaster: Move Faster
centerMap: Center Map
mapZoomIn: Zoom in

View File

@ -246,7 +246,7 @@ dialogs:
createMarker:
title: Nueva marca
desc: Dale un nombre representativo
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: solo puedes crear dos marcas en la versión de prueba. Obtén el juego completo para marcas ilimitadas!
@ -721,6 +721,7 @@ keybindings:
pasteLastBlueprint: Paste last blueprint
massSelectCut: Cut area
exportScreenshot: Export whole Base as Image
mapMoveFaster: Move Faster
about:
title: Sobre el Juego

View File

@ -21,7 +21,7 @@
steamPage:
# This is the short text appearing on the steam page
shortText: shapez.io est un jeu qui consiste à construire des usines pour automatiser la création et la combinaison de formes de plus en plus complexes dans une carte infinie.
shortText: shapez.io est un jeu qui consiste à construire des usines pour automatiser la création et la combinaison de formes de plus en plus complexes sur une carte infinie.
# This is the long description for the steam page - It is contained here so you can help to translate it, and I will regulary update the store page.
# NOTICE:
@ -30,11 +30,11 @@ steamPage:
longText: >-
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
shapez.io est un jeu ayant pour objectif d'automatiser la création et la fusion de formes à l'aide d'une usine. Livrez les formes de plus en plus complexes requises pour progresser dans le jeu et débloquez des améliorations qui accéléreront votre chaîne de production.
shapez.io est un jeu ayant pour objectif d'automatiser la création et la fusion de formes à l'aide d'une usine. Livrez des formes de plus en plus complexes requises pour progresser dans le jeu et débloquez des améliorations qui accéléreront votre chaîne de production.
La demande allant croissant, vous aurez à adapter l'échelle de votre usine afin de suivre la demande - Ne négligez pas les resources cependant, vous aurez à vous étendre sur une [b]carte infinie[/b] !
Les formes seules pouvant devenir ennuyeuses à la longue vous aurez à mélanger des couleurs et les utiliser pour peindre vos formes - Combinez des pigments rouges, verts ou bleus pour produire différentes couleurs et enduisez-en vos formes afin de satisfaire les demandes.
Traiter seulement des formes pouvant devenir monotone à la longue, vous aurez aussi à mélanger des couleurs et à les utiliser pour peindre vos formes - Combinez des pigments rouges, verts ou bleus pour produire différentes couleurs et enduisez-en vos formes afin de satisfaire les demandes.
Ce jeu propose 18 niveaux (qui devraient d'ores et déjà vous occuper pour de nombreuses heures !) mais j'ajoute régulièrement de nouveaux contenus - Beaucoup de nouveautés sont prévues !
@ -61,7 +61,7 @@ steamPage:
[*] Création configurable de carte (éditer le nombre et la taille des gisements de resources, édition de la graine générant la carte, et plus encore)
[*] Davantage de types de formes
[*] Performance améliorée (bien que le jeu tourne déjà de manière tout à fait décente !)
[*] Adaptation de l'affichage des couleurs à différente forme de daltonisme
[*] Adaptation de l'affichage des couleurs à différentes formes de daltonisme
[*] Et bien plus encore !
[/list]
@ -115,14 +115,15 @@ demoBanners:
# This is the "advertisement" shown in the main menu and other various places
title: Version démo
intro: >-
Achetez la version complète pour débloquer toutes les fonctionnalités!
Achetez la version complète pour débloquer toutes les fonctionnalités !
mainMenu:
play: Jouer
changelog: Historique
importSavegame: Importer
openSourceHint: Ce jeu est open source!
openSourceHint: Ce jeu est open source !
discordLink: Serveur Discord officiel
helpTranslate: Contribuez à la traduction !
# This is shown when using firefox and other browsers which are not supported.
browserWarning: >-
@ -134,26 +135,25 @@ mainMenu:
contests:
contest_01_03062020:
title: "Concours #01"
desc: Gagnez <strong>$25</strong> pour l'usine la plus cool!
desc: Gagnez <strong>$25</strong> pour l'usine la plus cool !
longDesc: >-
Pour vous remercier, j'ai pensé qu'il serait bien de faire un concours hebdomadaire!
Pour vous remercier, j'ai pensé qu'il serait bien de faire un concours hebdomadaire !
<br><br>
<strong>Le sujet de cette semaine:</strong> Construire l'usine la plus cool!
<strong>Le sujet de cette semaine:</strong> Construire l'usine la plus cool !
<br><br>
Voici comment faire:<br>
<ul class="bucketList">
<li>Envoyez une capture d'écran de votre usine à <strong>contest@shapez.io</strong></li>
<li>Vous aurez des points bonus si vous la partagez sur les réseaux sociaux!</li>
<li>Vous aurez des points bonus si vous la partagez sur les réseaux sociaux !</li>
<li>Je choisirai 5 images et les soumettrai au vote à la communauté <strong>discord</strong>.</li>
<li>Le gagnant empoche <strong>$25</strong> (Paypal, carte cadeau Amazon, ce que vous préférez)</li>
<li>Limite: 07.06.2020 AM 12:00 CEST</li>
</ul>
<br>
J'attends avec impatience de voir vos superbes créations!
J'attends avec impatience de voir vos superbes créations !
showInfo: Voir
contestOver: Ce concours est terminé - Rejoignez le serveur discord pour être tenu au courant des prochains concours !
helpTranslate: Help translate!
dialogs:
buttons:
@ -187,7 +187,7 @@ dialogs:
confirmSavegameDelete:
title: Confirmez la suppression
text: >-
Êtes-vous certains de vouloir supprimer votre partie?
Êtes-vous certains de vouloir supprimer votre partie ?
savegameDeletionError:
title: Impossible de supprimer
@ -209,31 +209,37 @@ dialogs:
keybindingsResetOk:
title: Réinitialisation des contrôles
desc: Les contrôles ont été réinitialisés par leur état par défaut respectifs!
desc: Les contrôles ont été réinitialisés par leur état par défaut respectifs !
featureRestriction:
title: Version démo
desc: Vous avez essayé d'accéder à la fonction (<feature>) qui n'est pas disponible dans la démo. Considérez l'achat de la version complète pour une expérience optimale!
desc: Vous avez essayé d'accéder à la fonction (<feature>) qui n'est pas disponible dans la démo. Considérez l'achat de la version complète pour une expérience optimale !
oneSavegameLimit:
title: Sauvegardes limitées
desc: Vous ne pouvez avoir qu'une seule sauvegarde en même temps dans la version démo. Merci de soit effacer l'actuelle ou de vous procurer la version complète!
desc: Vous ne pouvez avoir qu'une seule sauvegarde en même temps dans la version démo. Merci d'effacer celle en cours ou alternativement de vous procurer la version complète !
updateSummary:
title: Nouvel mise-à-jour!
title: Nouvel mise-à-jour !
desc: >-
Voici les modifications depuis votre dernière session:
upgradesIntroduction:
title: Débloquer les améliorations
desc: >-
Toutes les formes que vous produisez peuvent être utilisées pour débloquer des améliorations - <strong>Ne détruisez pas vos anciennes usines!</strong>
Toutes les formes que vous produisez peuvent être utilisées pour débloquer des améliorations - <strong>Ne détruisez pas vos anciennes usines !</strong>
L'onglet des améliorations se trouve dans le coin supérieur droit de l'écran.
massDeleteConfirm:
title: Confirmation de suppression
desc: >-
Vous allez supprimer pas mal de bâtiments (<count> pour être exact)! Etes vous certains de vouloir faire ça ?
Vous allez supprimer pas mal de bâtiments (<count> pour être exact) ! Etes vous certains de vouloir faire cela ?
massCutConfirm:
title: Confirmer la coupure
desc: >-
Vous vous apprêtez à couper beaucoup de bâtiments (<count> pour être précis) ! Êtes-vous
certains de vouloir faire cela ?
blueprintsNotUnlocked:
title: Pas encore débloqué
@ -244,28 +250,22 @@ dialogs:
title: Raccourcis utiles
desc: >-
Le jeu a plein de raccourcis facilitant la construction de grandes usines.
En voici quelques uns, n'hésitez pas à aller <strong>découvrir les raccourcis</strong>!<br><br>
En voici quelques uns, n'hésitez pas à aller <strong>découvrir les raccourcis</strong> !<br><br>
<code class='keybinding'>CTRL</code> + Glisser: Sélectionne une zone à copier / effacer.<br>
<code class='keybinding'>SHIFT</code>: Laissez appuyé pour placer plusieurs fois le même bâtiment.<br>
<code class='keybinding'>ALT</code>: Inverse l'orientation des convoyeurs placés.<br>
createMarker:
title: Nouvelle balise
desc: Donnez-lui un nom approprié
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: Vous ne pouvez créer que deux balises dans la démo. Achetez la version complète pour en faire tant que vous voulez !
massCutConfirm:
title: Confirm cut
desc: >-
You are cutting a lot of buildings (<count> to be exact)! Are you sure you
want to do this?
exportScreenshotWarning:
title: Export screenshot
title: Exporter une capture d'écran
desc: >-
You requested to export your base as a screenshot. Please note that this can
be quite slow for a big base and even crash your game!
Vous avez demandé à exporter votre base sous la forme d'une capture d'écran. Soyez conscient que cela peut s'avérer passablement lent pour une grande base, voire même planter votre jeu !
ingame:
# This is shown in the top left corner and displays useful keybindings in
@ -278,18 +278,18 @@ ingame:
placeMultiple: Placement multiple
reverseOrientation: Changer l'orientation
disableAutoOrientation: Désactiver l'orientation automatique
toggleHud: Basculer l'ATH
toggleHud: Basculer l'affichage tête haute (ATH)
placeBuilding: Placer un bâtiment
createMarker: Créer une balise
delete: Supprimer
pasteLastBlueprint: Paste last blueprint
pasteLastBlueprint: Copier le dernier patron
# Everything related to placing buildings (I.e. as soon as you selected a building
# from the toolbar)
buildingPlacement:
# Buildings can have different variants which are unlocked at later levels,
# and this is the hint shown when there are multiple variants available.
cycleBuildingVariants: Appuyez sur <key> pour changer de variante.
cycleBuildingVariants: Appuyez sur <key> pour alterner entre les variantes.
# Shows the hotkey in the ui, e.g. "Hotkey: Q"
hotkeyLabel: >-
@ -299,7 +299,7 @@ ingame:
speed: Vitesse
range: Portée
storage: Espace de stockage
oneItemPerSecond: 1 forme / seconde
oneItemPerSecond: 1 forme / s
itemsPerSecond: <x> formes / s
itemsPerSecondDouble: (x2)
@ -310,7 +310,7 @@ ingame:
# <level> is replaced by the actual level, so this gets 'Level 03' for example.
levelTitle: Niveau <level>
completed: Terminé
unlockText: <reward> débloqué!
unlockText: <reward> débloqué !
buttonNextLevel: Niveau suivant
# Notifications on the lower right
@ -321,7 +321,7 @@ ingame:
# Mass select information, this is when you hold CTRL and then drag with your mouse
# to select multiple buildings
massSelect:
infoText: Press <keyCut> to cut, <keyCopy> to copy, <keyDelete> to remove and <keyCancel> to cancel.
infoText: Apuyez sur <keyCut> pour couper, <keyCopy> pour copier, <keyDelete> pour effacer et <keyCancel> pour annuler.
# The "Upgrades" window
shop:
@ -333,7 +333,7 @@ ingame:
# The roman number for each tier
tierLabels: [I, II, III, IV, V, VI, VII, VIII, IX, X]
maximumLevel: MAXIMUM LEVEL (Speed x<currentMult>)
maximumLevel: NIVEAU MAXIMAL (Vitesse x<currentMult>)
# The "Statistics" window
statistics:
@ -397,19 +397,19 @@ ingame:
shopUpgrades:
belt:
name: Convoyeurs, Distributeurs et Tunnels
description: Speed x<currentMult> → x<newMult>
description: Vitesse x<currentMult> → x<newMult>
miner:
name: Extraction
description: Speed x<currentMult> → x<newMult>
description: Vitesse x<currentMult> → x<newMult>
processors:
name: Découpage, Rotation et Empilage
description: Speed x<currentMult> → x<newMult>
description: Vitesse x<currentMult> → x<newMult>
painting:
name: Mélange et Peinture
description: Speed x<currentMult> → x<newMult>
description: Vitesse x<currentMult> → x<newMult>
# Buildings and their name / description
buildings:
@ -433,7 +433,7 @@ buildings:
description: Permet de faire passer des ressources en dessous de bâtiment et de convoyeurs.
tier2:
name: Tunnel Echelon II
name: Tunnel Niveau II
description: Permet de faire passer des ressources en dessous de bâtiment et de convoyeurs.
splitter: # Internal name for the Balancer
@ -455,7 +455,7 @@ buildings:
description: Coupe une forme de haut en bas et sort les deux parties. <strong>Si vous n'utilisez qu'une seule partie, assurez-vous de détruite l'autre ou sinon, gare au blocage !</strong>
quad:
name: Découpeur (Quatre)
description: Coupe une forme en 4 parties. <strong>Si vous n'utilisez pas toutes les parties, assurez-vous de détruite les autres ou sinon, gare au blocage !</strong>
description: Coupe une forme en quatre parties. <strong>Si vous n'utilisez pas toutes les parties, assurez-vous de détruite les autres ou sinon, gare au blocage !</strong>
rotater:
default:
@ -483,7 +483,7 @@ buildings:
name: Peintre (Double)
description: Colorie les deux formes de gauche avec la couleur de droite.
quad:
name: Peintre (Quatre)
name: Peintre (Quadruple)
description: Permet de colorier chaque quadrant d'une forme avec une couleur différente.
trash:
@ -495,15 +495,15 @@ buildings:
name: Stockage
description: Stocke les formes en trop jusqu'à une certaine capacité. Peut être utilisé comme tampon.
hub:
deliver: Deliver
toUnlock: to unlock
levelShortcut: LVL
deliver: Délivrez
toUnlock: pour débloquer
levelShortcut: NV
storyRewards:
# Those are the rewards gained from completing the store
reward_cutter_and_trash:
title: Découper des formes
desc: Vous venez de débloquer le <strong>découpeur</strong> - il coupe des formes en deux <strong>de haut en bas</strong> quel que soit son orientation!<br><br>Assurez-vous de vous débarasser des déchets, sinon <strong>gare au blocage</strong> - À cet effet, je mets à votre disposition la poubelle, qui détruit tout ce que vous y mettez !
desc: Vous venez de débloquer le <strong>découpeur</strong> - il coupe des formes en deux <strong>de haut en bas</strong> quel que soit son orientation !<br><br>Assurez-vous de vous débarasser des déchets, sinon <strong>gare au blocage</strong> - À cet effet, je mets à votre disposition la poubelle, qui détruit tout ce que vous y mettez !
reward_rotater:
title: Rotation
@ -522,11 +522,9 @@ storyRewards:
title: Combineur
desc: Vous pouvez maintenant combiner deux formes avec le <strong>combineur</strong> ! Les deux entrées sont combinée et si elles ne peuvent êtres mises l'une à côté de l'autre, elles sont <strong>fusionnées</strong>. Sinon, la forme de droite est <strong>placée au dessus</strong> de la forme de gauche après avoir été légèrement réduite.
# Suggestion from the translator: "après avoir été légèrement réduite" = "after having been slightly scaled down": I think this part of the explanation is missing in the original text, and I struggled a lot at the beginning to understand this important fact of mixing shapes.
reward_splitter:
title: Distributeur/Rassembleur
desc: Le <strong>répartiteur</strong> multifonctionnel a été débloqué - Il peut être utilisé pour construire de plus grandes usines en <strong>distribuant équitablement et rassemblant les formes</strong> entre plusieurs convoyeurs!<br><br>
desc: Le <strong>répartiteur</strong> multifonctionnel a été débloqué - Il peut être utilisé pour construire de plus grandes usines en <strong>distribuant équitablement et rassemblant les formes</strong> entre plusieurs convoyeurs !<br><br>
reward_tunnel:
title: Tunnel
@ -579,9 +577,7 @@ storyRewards:
no_reward:
title: Niveau suivant
desc: >-
Ce niveau n'a pas de récompense mais le prochain, oui ! <br><br>PS: Vous ne devriez pas détruires votre usine actuelle - Vous aurez besoin de <strong>toutes</strong> ces formes plus tard pour <strong>débloquer des améliorations</strong>
# Question from the translator: Is the "desc: >-" syntaxically correct ?
Ce niveau n'a pas de récompense mais le prochain, oui ! <br><br>PS: Vous ne devriez pas détruire votre usine actuelle - Vous aurez besoin de <strong>toutes</strong> ces formes plus tard pour <strong>débloquer des améliorations</strong>
no_reward_freeplay:
title: Niveau suivant
@ -595,7 +591,7 @@ settings:
app: Application
versionBadges:
dev: Developpement
dev: Développement
staging: Test
prod: Production
buildDate: Créé le <at-date>
@ -644,13 +640,13 @@ settings:
Choisissez votre thème (clair / sombre).
themes:
dark: Dark
light: Light
dark: Sombre
light: Clair
refreshRate:
title: Fréquence de simulation
description: >-
Si vous avez un moniteur à 144hz, changez le taux de rafraichissement pour que le jeu fonctionne correctement à cette haute fréquence. Ceci pourrait cependant diminuer vos IPS (itérations par seconde) si votre ordinateur est trop lent.
Si vous avez un moniteur à fréquence élevée, changez le taux de rafraichissement pour que le jeu fonctionne correctement à cette haute fréquence. Ceci pourrait cependant diminuer vos IPS (itérations par seconde) si votre ordinateur est trop lent.
alwaysMultiplace:
title: Placement multiple
@ -663,21 +659,20 @@ settings:
Affiche ou non le bouton 'Afficher un indice' dans le coin inférieur gauche.
language:
title: Language
title: Langage
description: >-
Change the language. All translations are user contributed and might be
incomplete!
Change le langage. Toutes les traductions sont des contributions des utilisateurs et pourraient être partiellement incomplètes !
movementSpeed:
title: Movement speed
description: Changes how fast the view moves when using the keyboard.
title: Vitesse de déplacement
description: Change la vitesse à laquelle l'écran se déplace lors de l'utilisation du clavier.
speeds:
super_slow: Super slow
slow: Slow
regular: Regular
fast: Fast
super_fast: Super Fast
extremely_fast: Extremely Fast
super_slow: Super lent
slow: Lent
regular: Normal
fast: Rapide
super_fast: Très rapide
extremely_fast: Extrêmement rapide
keybindings:
title: Contrôles
@ -711,8 +706,8 @@ keybindings:
menuOpenShop: Améliorations
menuOpenStats: Statistiques
toggleHud: Basculer l'ATH (affichage tête haute)
toggleFPSInfo: Basculer IPS (itérations par seconde) et informations de débogage
toggleHud: Basculer l'affichage tête haute (ATH)
toggleFPSInfo: Basculer l'affichage des IPS (itérations par seconde) et des informations de débogage
belt: *belt
splitter: *splitter
underground_belt: *underground_belt
@ -728,40 +723,40 @@ keybindings:
rotateWhilePlacing: Pivoter
rotateInverseModifier: >-
Variante: Pivote à gauche
cycleBuildingVariants: Faire défiler les variantes
confirmMassDelete: Confirmer la suppression de zone
cycleBuildings: Faire défiler les bâtiments
cycleBuildingVariants: Alterner entre les variantes
confirmMassDelete: Confirmer la suppression de la sélection
cycleBuildings: Alterner entre les bâtiments
massSelectStart: Cliquez et maintenez pour commencer
massSelectSelectMultiple: Sélectionner plusieurs zones
massSelectCopy: Copier la zone
massSelectCopy: Copier la sélection
placementDisableAutoOrientation: Désactiver l'orientation automatique
placeMultiple: Rester en mode placement
placeInverse: Inverser le mode d'orientation automatique
pasteLastBlueprint: Paste last blueprint
massSelectCut: Cut area
exportScreenshot: Export whole Base as Image
pasteLastBlueprint: Copier le dernier patron
massSelectCut: Couper la sélection
exportScreenshot: Exporter toute la base en tant qu'image.
mapMoveFaster: Move Faster
about:
title: À propos de ce jeu
body: >-
This game is open source and developed by <a href="https://github.com/tobspr"
target="_blank">Tobias Springer</a> (this is me).<br><br>
Ce jeu est open source et développé par <a href="https://github.com/tobspr"
target="_blank">Tobias Springer</a> (c'est moi).<br><br>
If you want to contribute, check out <a href="<githublink>"
target="_blank">shapez.io on github</a>.<br><br>
Si vous souhaitez contribuer, allez voir <a href="<githublink>"
target="_blank">shapez.io sur github</a>.<br><br>
This game wouldn't have been possible without the great discord community
around my games - You should really join the <a href="<discordlink>"
target="_blank">discord server</a>!<br><br>
Ce jeu n'aurait pu être réalisé sans la précieuse communauté discord autour de
mes jeux - Vous devriez vraiment envisager de joindre le <a href="<discordlink>"
target="_blank">serveur discord</a> !<br><br>
The soundtrack was made by <a href="https://soundcloud.com/pettersumelius"
target="_blank">Peppsen</a> - He's awesome.<br><br>
La bande son a été créée par <a href="https://soundcloud.com/pettersumelius"
target="_blank">Peppsen</a> - Il est impressionnant !<br><br>
Finally, huge thanks to my best friend <a
href="https://github.com/niklas-dahl" target="_blank">Niklas</a> - Without our
factorio sessions this game would never have existed.
Pour terminer, un immense merci à mon meilleur amis <a
href="https://github.com/niklas-dahl" target="_blank">Niklas</a> - Sans nos sessions sur factorio, ce jeu n'aurait jamais existé.
changelog:
title: Historique
@ -772,7 +767,7 @@ demo:
importingGames: Importer des sauvegardes
oneGameLimit: Limité à une sauvegarde
customizeKeybindings: Personnalisation des contrôles
exportingBase: Exporting whole Base as Image
exportingBase: Exporter toute la base en tant qu'image
settingNotAvailable: Indisponible dans la démo.
#

View File

@ -250,7 +250,7 @@ dialogs:
createMarker:
title: New Marker
desc: Adj neki egy értelmes nevet
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
@ -732,6 +732,7 @@ keybindings:
pasteLastBlueprint: Paste last blueprint
massSelectCut: Cut area
exportScreenshot: Export whole Base as Image
mapMoveFaster: Move Faster
about:
title: A játékról

View File

@ -250,7 +250,7 @@ dialogs:
createMarker:
title: New Marker
desc: Give it a meaningful name
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
@ -733,6 +733,7 @@ keybindings:
pasteLastBlueprint: Paste last blueprint
massSelectCut: Cut area
exportScreenshot: Export whole Base as Image
mapMoveFaster: Move Faster
about:
title: About this Game

File diff suppressed because it is too large Load Diff

View File

@ -21,7 +21,7 @@
steamPage:
# This is the short text appearing on the steam page
shortText: shapez.io는 도형을 만들어 조합하는 공장을 짓는 게임입니다. 플레이 할수록 점점 더 어려운 도형을 만들어야 됩니다.
shortText: shapez.io는 무한한 공간에서 점점 더 복잡한 도형의 생산과 조합을 자동화하는 공장들을 짓는 게임입니다.
# This is the long description for the steam page - It is contained here so you can help to translate it, and I will regulary update the store page.
# NOTICE:
@ -29,32 +29,44 @@ steamPage:
# - Please keep the markup (Stuff like [b], [list] etc) in the same format
longText: >-
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
shapez.io는 도형을 만들어 조합하는 공장을 짓는 게임입니다. 점점 더 복잡해지는 도형들을 제작해서 공장의 속도를 올리시기 바랍니다
수요가 늘수록 공장을 더 넓혀야 합니다. 자원을 늘리는 것도 잊으면 안됩니다. 무한한 크기의 맵에서 확장을 해 나가야 합니다.!
도형은 금방 지루해 지기 때문에 색을 조합하여 색칠하십시오. 빨강, 초록, 파랑 색을 섞어서 만든 다양한 색으로 수요를 만족시키세요.
이 게임에는 18개의 레벨이 있습니다 (이것 만으로도 여러분들은 이미 몇시간이 걸렸을 거예요!) 하지만 저는 항상 새로운 컨텐츠를 추가하고 있습니다 - 계획해 놓은 것들이 많습니다!
shapez.io는 다양한 도형의 생산과 조합을 자동화하는 공장들을 짓는 게임입니다. 점점 복잡해지는 요구사항을 충족하고 업그레이드를 잠금 해제해서 공장의 성능을 높일 수 있습니다.
점점 증가하는 수요를 충족하기 위해 공장의 규모를 키워야 합니다. [b]무한한 공간[/b]으로 확장하여 도형 재료를 구하는 것도 잊지 마세요.
단순한 도형은 금방 싫증이 나므로, 색을 조합하여 도형을 색칠하세요. 빨강, 초록, 파랑을 조합하여 다양한 색을 만들고 도형을 색칠하여 요구사항을 충족하세요.
이 게임에는 18개의 레벨이 있습니다. (이것만으로도 이미 몇시간이 걸렸을 거예요!) 하지만 저는 항상 새로운 컨텐츠를 추가하고 있습니다. 계획해 놓은 것들도 많구요!
[b]유료 버전의 장점[/b]
[list]
[*] 마커
[*] 저장파일 무한정
[*] 제한 없는 저장
[*] 다크 모드
[*] 다양한 설정 가능
[*] 제가 shapez. Io를 더 개발하는데 도움이 됨 ❤️
[*] 다양한 설정
[*] 제가 shapez.io를 개발하는 데 도움이 됨 ❤️
[*] 향후 더 많은 컨텐츠
[/list]
[b] 예정된 컨탠츠 및 커뮤니티 제안[/b]
이 게임은 오픈 소스입니다. 따라서 누구나 기여할 수 있습니다. 또한, 커뮤니티의 제안을 [b]많이[/b] 듣고 있습니다! 가능한 많이 읽고 많이 반영하도록 노력하겠습니다.
이 게임은 오픈 소스입니다. 따라서 누구나 기여할 수 있습니다! 또한, 커뮤니티의 제안을 [b]많이[/b] 듣고 있습니다! 가능한 많이 읽고 많이 반영하도록 노력하겠습니다.
[list]
[*] 건물을 도형으로 구매해야 돼는 스토리 모드
[*] 더 많은 레벨과 건물 (유료 버전 한정)
[*] 다양한 월드와 맵 장애물
[*] 당신만의 맵 제작
[*] 더 많은 종류의 도형
[*] 속도 업그레이드 (지금도 게임이 잘 되긴 합니다!)
[*] 성능 향상 (지금도 게임이 잘 되긴 합니다!)
[*] 색맹자용 모드
[*] 등등
[*] 그 외 다수!
[/list]
저의 트렐로 보드를 확인해서 로드맵을 확인해보세요! https://trello.com/b/ISQncpJP/shapezio
global:
loading: 로딩중
error: 에러
@ -65,22 +77,22 @@ global:
# The suffix for large numbers, e.g. 1.3k, 400.2M, etc.
suffix:
thousands: k
millions: m
billions: b
trillions: t
millions: M
billions: B
trillions: T
# Shown for infinitely big numbers
infinite: inf
infinite: 무한
time:
# Used for formatting past time dates
oneSecondAgo: 초 전
oneSecondAgo: 1초 전
xSecondsAgo: <x>초 전
oneMinuteAgo: 분 전
xMinutesAgo: <x>분
oneHourAgo: 시간 전
xHoursAgo: <x> 시간 전
oneDayAgo: 일 전
oneMinuteAgo: 1분 전
xMinutesAgo: <x>분
oneHourAgo: 1시간 전
xHoursAgo: <x>시간 전
oneDayAgo: 1일 전
xDaysAgo: <x>일 전
# Short formats for times, e.g. '5h 23m'
@ -103,6 +115,7 @@ demoBanners:
title: 무료 버전
intro: >-
유료 버전을 구매해서 모든 컨탠츠를 사용해 보세요!
mainMenu:
play: 시작
changelog: 버전 기록
@ -119,10 +132,11 @@ mainMenu:
contests:
contest_01_03062020:
title: "#1번 콘테스트"
title: "콘테스트 #01"
desc: Win <strong>$25</strong> for the coolest base!
longDesc: >-
여러분들에게 무언가를 나눠드리고 싶어서 주간 콘테스트를 개최합니다!
<br><br>
<strong>이번주 토픽:</strong> 가장 멋있는 공장을 만드세요!
<br><br>
@ -136,7 +150,6 @@ mainMenu:
</ul>
<br>
당신들의 멋진 공장을 보고 싶습니다!
desc: Win <strong>$25</strong> for the coolest base!
showInfo: 보기
contestOver: 이 콘테스트는 끝났습니다. 디스코드에서 새로운 콘테스트 관련 알림을 받으세요!
@ -152,33 +165,39 @@ dialogs:
getStandalone: 유료 버전 구매하기
deleteGame: 확실합니다
viewUpdate: 업데이트 보기
showUpgrades: 업그이드 보기
showUpgrades: 업그이드 보기
showKeybindings: 조작법 보기
importSavegameError:
title: 불러오기 오류
text: >-
저장 파일을 불러오지 못했습니다:
importSavegameSuccess:
title: 저장 파일 불러오기 성공
text: >-
저장 파일이 성공적으로 불러와졌습니다.
gameLoadFailure:
title: 게임이 깨졌습니다.(???)
title: 저장 파일 에러
text: >-
저장 파일을 불러오지 못했습니다:
confirmSavegameDelete:
title: 삭제 확인
text: >-
이 게임 파일을 정말로 삭제하겠습니까?
savegameDeletionError:
title: 삭제 실패
text: >-
저장 파일을 삭제하지 못했습니다.
restartRequired:
title: 다시 시작 필요
text: >-
설정을 적용하려면 게임을 다시 시작해야 됩니다.
editKeybinding:
title: 키바인딩 바꾸기
desc: 당신이 원하는 키나 마우스 버튼을 눌러서 바꾸거나 ESC를 눌러 취소하세요.
@ -203,38 +222,43 @@ dialogs:
title: 신규 버전!
desc: >-
지난번 플레이 이후 변경사항은 다음과 같습니다.
upgradesIntroduction:
title: 업그이드 하기
title: 업그이드 하기
desc: >-
여러분이 만든 모든 도형은 업그레이드에 사용 될 수 있습니다! - <strong> 만들어 놓은 공장을 허물지 마세요!</strong>
업그래이드 버튼은 화면의 오른쪽 위에 있습니다.
업그레이드 버튼은 화면의 오른쪽 위에 있습니다.
massDeleteConfirm:
title: 삭제 확인
desc: >-
당신은 많은 건물을 삭제하려고 하고있습니다! (정확히는 <count>개) 삭제하시겠습니까?
massCutConfirm:
title: Confirm cut
desc: >-
You are cutting a lot of buildings (<count> to be exact)! Are you sure you want to do this?
blueprintsNotUnlocked:
title: 아직 사용 불가
desc: >-
복사 기능은 아직 열리지 않았습니다! 레벨을 올려서 잠금을 해제하세요.
keybindingsIntroduction:
title: 유용한 키바인딩
desc: >-
큰 공장을 지을 때 유용한 키바인딩이 많습니다!
아래를 확인하세요.<strong>나머지 키바인딩도 확인해보세요!</strong>!<br><br>
<code class='keybinding'>CTRL</code> + Drag: 역을 선택해서 복사/삭제하세요.<br>
<code class='keybinding'>CTRL</code> + Drag: 역을 선택해서 복사/삭제하세요.<br>
<code class='keybinding'>SHIFT</code>: 한꺼번에 여러 개의 건물을 배치하세요.<br>
<code class='keybinding'>ALT</code>: 설치된 컨베이어 벨트의 방향을 바꾸세요.<br>
createMarker:
title: 새로운 마커
desc: 의미 있는 이름을 지어주세요
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: 데모 버전에서는 마커를 2개 까지만 놓을 수 있습니다. 유료 버전을 구입하면 마커를 무제한으로 놓을 수 있습니다!
massCutConfirm:
title: Confirm cut
desc: >-
You are cutting a lot of buildings (<count> to be exact)! Are you sure you
want to do this?
exportScreenshotWarning:
title: Export screenshot
@ -246,8 +270,8 @@ ingame:
# This is shown in the top left corner and displays useful keybindings in
# every situation
keybindingsOverlay:
moveMap: 지기
selectBuildings: 역 선택
moveMap: 직이
selectBuildings: 역 선택
stopPlacement: 건물 놓기 중지
rotateBuilding: 건물 회전
placeMultiple: 여러 개 놓기
@ -269,6 +293,7 @@ ingame:
# Shows the hotkey in the ui, e.g. "Hotkey: Q"
hotkeyLabel: >-
Hotkey: <key>
infoTexts:
speed: 속도
range: 최대 거리
@ -289,7 +314,7 @@ ingame:
# Notifications on the lower right
notifications:
newUpgrade: 새로운 업그이드를 할 수 있습니다!
newUpgrade: 새로운 업그이드를 할 수 있습니다!
gameSaved: 게임이 저장되었습니다.
# Mass select information, this is when you hold CTRL and then drag with your mouse
@ -364,25 +389,32 @@ ingame:
1_1_extractor: <strong>추출기</strong>를 <strong>원 모양의 도형</strong>에 놓아서 추출하세요!
1_2_conveyor: >-
추출기를 <strong>컨베이어 벨트</strong>로 당신의 중앙 건물에 연결하세요!<br><br>팁: 마우스로 벨트를 <strong>클릭해서 드래그</strong>하세요!
1_3_expand: >-
이것은 아이들 게임이 <strong>아닙니다!</strong> 추출기를 더 놓아 목표를 빨리 달성하세요.<br><br>팁: <strong> SHIFT </strong>를 눌러 여러 개의 추출기를 놓고 <strong>R</strong>로 회전 시키세요.
이것은 방치형 게임이 <strong>아닙니다!</strong> 추출기를 더 놓아 목표를 빨리 달성하세요.<br><br>팁: <strong>SHIFT</strong>를 눌러 여러 개의 추출기를 놓고 <strong>R</strong>로 회전 시키세요.
# All shop upgrades
shopUpgrades:
belt:
name: 컨베이어 벨트, 배분기, 터널
description: 속도 x<currentMult> → x<newMult>
miner:
name: 추출
name: 추출
description: 속도 x<currentMult> → x<newMult>
processors:
name: 자르기, 회전, 쌓
description: Speed x<currentMult> → x<newMult>
name: 절단기, 회전기, 결합
description: 속도 x<currentMult> → x<newMult>
painting:
name: 섞기, 색칠하
description: Speed x<currentMult> → x<newMult>
name: 혼합기, 도형 색칠
description: 속도 x<currentMult> → x<newMult>
# Buildings and their name / description
buildings:
hub:
deliver: 목표
toUnlock: 보상
levelShortcut: 레벨
belt:
default:
name: &belt 컨베이어 벨트
@ -464,71 +496,49 @@ buildings:
storage:
name: 저장소
description: 할당된 용량만큼 초과되는 도형을 저장한다.
hub:
deliver: Deliver
toUnlock: to unlock
levelShortcut: LVL
storyRewards:
# Those are the rewards gained from completing the store
reward_cutter_and_trash:
title: 도형 자르기
desc: >-
You just unlocked the <strong>cutter</strong> - it cuts shapes half from
<strong>top to bottom</strong> regardless of its orientation!<br><br>Be sure
to get rid of the waste, or otherwise <strong>it will stall</strong> - For
this purpose I gave you a trash, which destroys everything you put into it!
title: 절단기
desc: <strong>절단기</strong>가 잠금 해제되었습니다! 절단기는 도형을 <strong>세로로</strong> 잘라 반으로 나눕니다.<br><br>사용하지 않는 도형은 휴지통에 버려주세요. 그렇지 않으면 절단기가 <strong>멈출 것입니다.</strong>
reward_rotater:
title: 도형 회전기
desc: <strong>도형 회전기</strong>가 잠금 해제되었습니다! 이것은 도형을 시계방향으로 90도 회전 시킵니다.
title: 회전기
desc: <strong>회전기</strong>가 잠금 해제되었습니다! 이것은 도형을 시계방향으로 90도 회전 시킵니다.
reward_painter:
title: 도형 색칠기
title: 색칠기
desc: >-
<strong>도형 색칠기</strong>가 잠금 해제 되었습니다! 색소 광물을 추출해서 이 기계로 도형을 색칠하세요. <br><br>PS: 당신이 색맹이라면, 해결책을 찾고 있으니 잠시만 기다려주세요!
<strong>색칠기</strong>가 잠금 해제 되었습니다! 색소 광물을 추출해서 이 기계로 도형을 색칠하세요. <br><br>PS: 당신이 색맹이라면, 해결책을 찾고 있으니 잠시만 기다려주세요!
reward_mixer:
title: 색 혼합기
desc: >-
The <strong>mixer</strong> has been unlocked - Combine two colors using
<strong>additive blending</strong> with this building!
title: 혼합기
desc: <strong>혼합기</strong>가 잠금 해제 되었습니다! 이 건물로 두 색소를 <strong>혼합</strong>하세요!
reward_stacker:
title: 스태커
desc: >-
You can now combine shapes with the <strong>combiner</strong>! Both inputs are
combined, and if they can be put next to each other, they will be
<strong>fused</strong>. If not, the right input is <strong>stacked on
top</strong> of the left input!
title: 결합기
desc: <strong>결합기</strong>가 잠금 해제 되었습니다! 두 도형이 서로 옆에 놓을 수 있는 경우, 두 도형이 <strong>결합</strong>됩니다. 그렇지 않은 경우, 오른쪽 도형이 왼쪽 도형 <strong>위에 쌓이게</strong>됩니다.
reward_splitter:
title: 배분기
desc: >-
The multifunctional <strong>balancer</strong> has been unlocked - It can be
used to build bigger factories by <strong>splitting and merging items</strong>
onto multiple belts!<br><br>
desc: 다양한 용도로 쓰이는 <strong>배분기</strong>가 잠금 해제되었습니다! 배분기로 도형들을 여러 개의 벨트에 <strong>합하거나 나누어서</strong> 큰 공장을 지을 수 있습니다.<br><br>
reward_tunnel:
title: 터널
desc: <strong>터널</strong>이 잠금 해제되었습니다! 자원을 건물과 벨트 밑으로 운송 할 수 있습니다.
reward_rotater_ccw:
title: 도형 회전기 (반시게방향)
title: 회전기 (반시게방향)
desc: <strong>반시게방향 회전기</strong>가 잠금 해제되었습니다! 이것을 배치하려면 회전기를 선택하고 <strong>T</strong>를 눌러서 변형된 버전을 사용하세요!
reward_miner_chainable:
title: 체인 추출기
desc: >-
You have unlocked the <strong>chaining extractor</strong>! It can
<strong>forward its resources</strong> to other extractors so you can more
efficiently extract resources!
desc: <strong>체인 추출기</strong>가 잠금 해제되었습니다! 체인 추출기는 <strong>자원을 다른 추출기로 전달하여</strong> 효율적으로 추출할 수 있게 합니다.
reward_underground_belt_tier_2:
title: 터널 티어 II
desc: >-
You have unlocked a new variant of the <strong>tunnel</strong> - It has a
<strong>bigger range</strong>, and you can also mix-n-match those tunnels now!
desc: 새로운 종류의 <strong>터널</strong>이 잠금 해제되었습니다! 새 터널은 <strong>보다 넓은 범위</strong>를 가졌으며, 터널들은 같은 종류끼리만 연결됩니다.
reward_splitter_compact:
title: 컴팩트 연결기
@ -537,19 +547,14 @@ storyRewards:
reward_cutter_quad:
title: 절단기 (4단)
desc: >-
You have unlocked a variant of the <strong>cutter</strong> - It allows you to
cut shapes in <strong>four parts</strong> instead of just two!
desc: 새로운 종류의 <strong>절단기</strong>가 잠금 해제되었습니다! 새 절단기는 도형을 2조각이 아니라 <strong>4조각</strong>으로 자릅니다.
reward_painter_double:
title: 도형 색칠기 (2단)
desc: >-
You have unlocked a variant of the <strong>painter</strong> - It works as the
regular painter but processes <strong>two shapes at once</strong> consuming
just one color instead of two!
title: 색칠기 (2단)
desc: 새로운 종류의 <strong>색칠기</strong>가 잠금 해제되었습니다! 새 색칠기는 <strong>색소 하나로 2개의 도형</strong>을 색칠할 수 있습니다.
reward_painter_quad:
title: 도형 색칠기 (4단)
title: 색칠기 (4단)
desc: <strong>4단 도형 색칠기</strong>가 잠금 해제되었습니다! 도형의 4분단을 각각 다른 색으로 색칠할 수 있습니다!
reward_storage:
@ -558,26 +563,23 @@ storyRewards:
reward_freeplay:
title: 프리플레이 모드
desc: >-
You did it! You unlocked the <strong>free-play mode</strong>! This means that
shapes are now randomly generated! (No worries, more content is planned for
the standalone!)
desc: 해내셨군요! <strong>프리플레이 모드</strong>가 잠금 해제되었습니다! 이제 도형이 랜덤으로 생성됩니다! (걱정 마세요, 유료버전에는 더 많은 컨텐츠가 계획되어 있습니다!)
reward_blueprints:
title: 블루프린트
desc: 이제부터는 공장의 일부 역을 <strong>복사하여 붙여넣기</strong> 할 수 있습니다! CTRL을 누르면서 드래그해서 먼저 역을 선택하세요. <br><br> 그 다음에는 C, DEL, ESC 로 복사하거나, 지우거나, 취소 하세요.<br><br> 복사는 무료가 이닙니다. 특별한 "화폐" 도형으로 돈을 지불하고 복사가 됩니다.
desc: 이제부터는 공장의 일부 역을 <strong>복사하여 붙여넣기</strong> 할 수 있습니다! CTRL을 누르면서 드래그해서 먼저 역을 선택하세요. <br><br> 그 다음에는 C, DEL, ESC 로 복사하거나, 지우거나, 취소 하세요.<br><br> 복사는 무료가 이닙니다. 특별한 "화폐" 도형으로 돈을 지불하고 복사가 됩니다.
# Special reward, which is shown when there is no reward actually
no_reward:
title: 다음 레벨
desc: >-
This level gave you no reward, but the next one will! <br><br> PS: Better
don't destroy your existing factory - You need <strong>all</strong> those
shapes later again to <strong>unlock upgrades</strong>!
This level gave you no reward, but the next one will! <br><br> PS: Better don't destroy your existing factory - You need <strong>all</strong> those shapes later again to <strong>unlock upgrades</strong>!
no_reward_freeplay:
title: 다음 레벨
desc: >-
축하드립니다! 유료 버전을 위한 더 많은 컨텐츠를 만들고 있습니다.
settings:
title: 설정
categories:
@ -613,47 +615,10 @@ settings:
fast: 빠르게
super_fast: 매우 빠르게
language:
title: 언어
description: >-
언어 바꾸기 - 모든 언어팩은 사용자들이 만든 것이므로 완성되지 않았을 수 있습니다..
fullscreen:
title: Fullscreen
description: >-
이 게임은 풀 스크린으로 하는 것이 가장 좋습니다. 풀 스크린 모드는 유료 버전에서만 가능합니다.
soundsMuted:
title: 소리 끄기
description: >-
모든 효과음을 끕니다.
musicMuted:
title: 음악 끄기
description: >-
모든 배경 음악을 끕니다.
theme:
title: 게임 테마
description: >-
게임 테마를 고르세요. (밝음/어두움).
themes:
dark: Dark
light: Light
refreshRate:
title: 모니터 리프레쉬 속도
description: >-
당신의 모니터의 리프세쉬 속도가 144hz 보다 높으면 이 설정을 바꾸어서 게임이 더 빨리 리프레시 되게 하세요. 만약에 컴퓨터가 느리다면 FPS에 영양을 미칠 수 있습니다.
alwaysMultiplace:
title: 항상 여러 개 배치
description: >-
배치 이후에도 모든 빌딩이 선택되어 있습니다. SHIFT를 계속 누르고 있는 것과 같은 효과입니다.
offerHints:
title: 힌트와 튜토리얼
description: >-
이것을 끄면 힌트와 튜토리얼이 나오지 않습니다. 또한 게임에 쉽게 들어가기 위해서 주어진 레벨에서 특정 UI 요소를 숨길 수도 있습니다.
movementSpeed:
title: Movement speed
description: Changes how fast the view moves when using the keyboard.
description: >-
Changes how fast the view moves when using the keyboard.
speeds:
super_slow: Super slow
slow: Slow
@ -662,10 +627,54 @@ settings:
super_fast: Super Fast
extremely_fast: Extremely Fast
language:
title: 언어
description: >-
언어 바꾸기 - 모든 언어팩은 사용자들이 만든 것이므로 완성되지 않았을 수 있습니다..
fullscreen:
title: Fullscreen
description: >-
이 게임은 풀 스크린으로 하는 것이 가장 좋습니다. 풀 스크린 모드는 유료 버전에서만 가능합니다.
soundsMuted:
title: 소리 끄기
description: >-
모든 효과음을 끕니다.
musicMuted:
title: 음악 끄기
description: >-
모든 배경 음악을 끕니다.
theme:
title: 게임 테마
description: >-
게임 테마를 고르세요. (밝음/어두움).
themes:
dark: Dark
light: Light
refreshRate:
title: 모니터 리프레쉬 속도
description: >-
당신의 모니터의 리프세쉬 속도가 144hz 보다 높으면 이 설정을 바꾸어서 게임이 더 빨리 리프레시 되게 하세요. 만약에 컴퓨터가 느리다면 FPS에 영양을 미칠 수 있습니다.
alwaysMultiplace:
title: 항상 여러 개 배치
description: >-
배치 이후에도 모든 빌딩이 선택되어 있습니다. SHIFT를 계속 누르고 있는 것과 같은 효과입니다.
offerHints:
title: 힌트와 튜토리얼
description: >-
이것을 끄면 힌트와 튜토리얼이 나오지 않습니다. 또한 게임에 쉽게 들어가기 위해서 주어진 레벨에서 특정 UI 요소를 숨길 수도 있습니다.
keybindings:
title: 키바인딩
hint: >-
: CTRL, SHIFT, ALT를 활용하세요. 건물을 배치할 때 유용합니다.
resetKeybindings: 키바인딩 리셋
categoryLabels:
@ -690,7 +699,7 @@ keybindings:
mapZoomOut: 축소
createMarker: 마커 놓기
menuOpenShop: 업그이드
menuOpenShop: 업그이드
menuOpenStats: 통계
toggleHud: UI보기/숨기기
@ -712,18 +721,19 @@ keybindings:
Modifier: 대신 반시계방향으로 회전
cycleBuildingVariants: 변형종 사용
confirmMassDelete: 대량 삭제 확인
pasteLastBlueprint: Paste last blueprint
cycleBuildings: 건물 사이클
massSelectStart: 누르고 드래그해서 시작
massSelectSelectMultiple: 여러 곳 선택
massSelectCopy: 지역 복사
massSelectCopy: 영역 복사
massSelectCut: Cut area
placementDisableAutoOrientation: 자동 회전 끄기
placeMultiple: 배치 모드에 있기
placeInverse: 자동 벨트 회전 뒤집기
pasteLastBlueprint: Paste last blueprint
massSelectCut: Cut area
exportScreenshot: Export whole Base as Image
mapMoveFaster: Move Faster
about:
title: 이 게임의 정보

View File

@ -250,7 +250,7 @@ dialogs:
createMarker:
title: New Marker
desc: Give it a meaningful name
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
@ -732,6 +732,7 @@ keybindings:
pasteLastBlueprint: Paste last blueprint
massSelectCut: Cut area
exportScreenshot: Export whole Base as Image
mapMoveFaster: Move Faster
about:
title: About this Game

View File

@ -250,7 +250,7 @@ dialogs:
createMarker:
title: Nieuwe markering
desc: Geef het een betekenisvolle naam
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: Je kunt maar twee markeringen plaatsen in de demo. Koop de standalone voor een ongelimiteerde hoeveelheid markeringen!
@ -340,13 +340,13 @@ ingame:
dataSources:
stored:
title: In opslag
description: Geeft weer hoe veel vormen er zijn opgeslagen in je centrale gebouw.
description: Geeft weer hoe veel vormen er zijn opgeslagen in de HUB.
produced:
title: Geproduceerd
description: Geeft alle vormen weer die op dit moment geproduceerd worden, inclusief tussenproducten.
delivered:
title: Geleverd
description: Geeft alle vormen weer die in het centrale gebouw worden bezorgd.
description: Geeft alle vormen weer die in de HUB worden bezorgd.
noShapesProduced: Er zijn nog geen vormen geproduceerd.
# Displays the shapes per minute, e.g. '523 / m'
@ -372,7 +372,7 @@ ingame:
# When placing a blueprint
blueprintPlacer:
cost: Kost
cost: Prijs
# Map markers
waypoints:
@ -385,7 +385,7 @@ ingame:
interactiveTutorial:
title: Tutorial
hints:
1_1_extractor: Plaats een <strong>extractor</strong> op een <strong>cirkelvorm</strong> om deze te onttrekken!
1_1_extractor: Plaats een <strong>ontginner</strong> op een <strong>cirkelvorm</strong> om deze te ontginnen!
1_2_conveyor: >-
Verbind de extractor met een <strong>lopende band</strong> aan je hub!<br><br>Tip: <strong>Klik en sleep</strong> de lopende band met je muis!
@ -395,10 +395,10 @@ ingame:
# All shop upgrades
shopUpgrades:
belt:
name: Lopende banden, Verdeler & Tunnels
name: Banden, Verdeler & Tunnels
description: Snelheid x<currentMult> → x<newMult>
miner:
name: Extractor
name: Ontginner
description: Snelheid x<currentMult> → x<newMult>
processors:
name: Knippen, draaien & stapelen
@ -417,11 +417,11 @@ buildings:
miner: # Internal name for the Extractor
default:
name: &miner Extractor
description: Plaats op een vorm of kleur om deze te onttrekken.
description: Plaats op een vorm of kleur om deze te ontginnen.
chainable:
name: Extractor (Ketting)
description: Plaats op een vorm of kleur om deze te onttrekken. Kan in serie worden geplaatst.
description: Plaats op een vorm of kleur om deze te ontginnen. Kan achter elkaar worden geplaatst.
underground_belt: # Internal name for the Tunnel
default:
@ -732,6 +732,7 @@ keybindings:
pasteLastBlueprint: Plak laatst gekopiëerde blauwdruk
massSelectCut: Knip geselecteerd gebied
exportScreenshot: Export whole Base as Image
mapMoveFaster: Move Faster
about:
title: Over dit spel

760
translations/base-no.yaml Normal file
View File

@ -0,0 +1,760 @@
#
# GAME TRANSLATIONS
#
# Contributing:
#
# If you want to contribute, please make a pull request on this respository
# and I will have a look.
#
# Placeholders:
#
# Do *not* replace placeholders! Placeholders have a special syntax like
# `Hotkey: <key>`. They are encapsulated within angle brackets. The correct
# translation for this one in German for example would be: `Taste: <key>` (notice
# how the placeholder stayed '<key>' and was not replaced!)
#
# Adding a new language:
#
# If you want to add a new language, ask me in the discord and I will setup
# the basic structure so the game also detects it.
#
steamPage:
# This is the short text appearing on the steam page
shortText: shapez.io er et spill som handler om å bygge fabrikker for å automatisere produksjon og kombinering av former med økende kompleksitet på et ubegrenset brett.
# This is the long description for the steam page - It is contained here so you can help to translate it, and I will regulary update the store page.
# NOTICE:
# - Do not translate the first line (This is the gif image at the start of the store)
# - Please keep the markup (Stuff like [b], [list] etc) in the same format
longText: >-
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
shapez.io er et spill som handler om å bygge fabrikker for å automatisere byggeprosessen og kombinere forskjellige former og fasonger. Lever objektene som øker i kompleskitet og fasonger for å progressere i spillet og åpne opp nye oppgraderinger til din fabrikk.
Siden forespørselen øker, må du skalere opp fabrikken din for å tilpasse deg til behovet - Men ikke glem tilgangen du har til ressurser, du må utvide på det [b]uendelige brettet[/b]!
Siden figurer i seg selv kan bli kjedelig, må du snart mikse farger og fargelegge dine figurer - Kombiner rød, grønn og blå farge-ressurser for å produsere forskjellige farger, og fargelegg figurene for å tilfredsstille behovet.
Spillet har 18 nivåer (Som bør holde deg opptatt i mange timer!) men jeg legger konstant til nytt innhold - Det er mye som er planlagt!
[b]Frittstående Fordeler[/b]
[list]
[*] Kartmarkering
[*] Uendelige lagringsfiler
[*] Mørk Modus
[*] Flere instillinger
[*] Tillater meg å videreutvikle shapez.io ❤️
[*] Flere funksjoner i fremtiden!
[/list]
[b]Planlagte funksjoner & Forslag fra samfunnet[/b]
Spillet er åpen kildekode - Alle kan bidra! Utenom det, så lytter jeg [b]veldig[/b] til samfunnet! Jeg prøver å lese alle forslag og ta imot så mye tilbakemeldinger som mulig.
[list]
[*] Kampanje
[*] Flere nivåer & bygninger (Frittstående eksklusivt)
[*] Forskjellige brett, og kanskje hinder på brettet
[*] Konfigurerbart brett-generasjon (Endre antall og størrelse på ressursfelt, seed, med mer)
[*] Flere forskjellige type former
[*] Mer forbedring av ytelse (Selv om spillet allerede kjører ganske bra!)
[*] Fargeblind modus
[*] Og mye mer!
[/list]
Sjekk ut min trello tavle for hele planen! https://trello.com/b/ISQncpJP/shapezio
global:
loading: Laster
error: Feil
# How big numbers are rendered, e.g. "10,000"
thousandsDivider: ","
# The suffix for large numbers, e.g. 1.3k, 400.2M, etc.
suffix:
thousands: k
millions: M
billions: B
trillions: T
# Shown for infinitely big numbers
infinite: inf
time:
# Used for formatting past time dates
oneSecondAgo: ett sekund siden
xSecondsAgo: <x> sekunder siden
oneMinuteAgo: ett minutt siden
xMinutesAgo: <x> minutter siden
oneHourAgo: en time siden
xHoursAgo: <x> timer siden
oneDayAgo: en dag siden
xDaysAgo: <x> dager siden
# Short formats for times, e.g. '5h 23m'
secondsShort: <seconds>s
minutesAndSecondsShort: <minutes>m <seconds>s
hoursAndMinutesShort: <hours>t <minutes>m
xMinutes: <x> minutter
keys:
tab: TAB
control: CTRL
alt: ALT
escape: ESC
shift: SHIFT
space: MELLOMROM
demoBanners:
# This is the "advertisement" shown in the main menu and other various places
title: Demo Versjon
intro: >-
Skaff deg frittstående versjon for å åpne alle funksjoner!
mainMenu:
play: Spill
changelog: Endringshistorikk
importSavegame: Importer
openSourceHint: Dette spillet er åpen kildekode!
discordLink: Offisiel Discord Server
helpTranslate: Hjelp oversetting!
# This is shown when using firefox and other browsers which are not supported.
browserWarning: >-
Beklager, men spillet er kjent for å kjøre sakte på din nettleser! Skaff deg frittstående versjon, eller last ned Chrome for den fulle opplevelsen.
savegameLevel: Nivå <x>
savegameLevelUnknown: Ukjent Nivå
contests:
contest_01_03062020:
title: "Konkurranse #01"
desc: Vinn <strong>$25</strong> for den kuleste basen!
longDesc: >-
For å gi noe tilbake til deg, tenkte jeg det ville vært kult med ukentlige konkurranser!
<br><br>
<strong>Denne ukens tema:</strong> Bygg den kuleste basen!
<br><br>
Her er tingen:<br>
<ul class="bucketList">
<li>Send et skjermbilde av basen din til <strong>contest@shapez.io</strong></li>
<li>Bonus poeng om du deler på sosiale medier!</li>
<li>Jeg velger 5 skjermbilder og foreslår de på <strong>discord</strong> for samfunnet til å stemme.</li>
<li>Vinneren får <strong>$25</strong> (Paypal, Amazon Gift Card, eller hva du foretrekker)</li>
<li>Frist: 07.06.2020 00:00 Sentraleuropeisk sommertid</li>
</ul>
<br>
Jeg ser fram til å se dine kule skapninger!
showInfo: Vis
contestOver: Denne konkurransen er ferdig - Bli med på discord for å få varsel om nye konkurranser!
dialogs:
buttons:
ok: OK
delete: Slett
cancel: Avbryt
later: Senere
restart: Omstart
reset: Nullstill
getStandalone: Få frittstående
deleteGame: Jeg vet hva jeg gjør
viewUpdate: Vis Oppdatering
showUpgrades: Vis Oppgraderinger
showKeybindings: Se Hurtigtaster
importSavegameError:
title: Importerings feil
text: >-
Kunne ikke importere lagringsfilen:
importSavegameSuccess:
title: Lagringsfil importert
text: >-
Din Lagringsfil ble vellykket importert.
gameLoadFailure:
title: Lagringsfilen er ødelagt
text: >-
Kunne ikke laste inn lagringsfilen:
confirmSavegameDelete:
title: Bekreft sletting
text: >-
Er du sikker på at du ønsker å slette lagringsfilen?
savegameDeletionError:
title: Kunne ikke slette
text: >-
Kunne ikke slette lagringsfilen:
restartRequired:
title: Omstart nødvendig
text: >-
Du må starte spillet på nytt for å ta i bruk instillingene.
editKeybinding:
title: Endre Hurtigtast
desc: Trykk på knappen eller museknappen du vil tildele, eller escape for å avbryte.
resetKeybindingsConfirmation:
title: Nullstill Hurtigtaster
desc: Dette vil nullstille alle hurtigtaster tilbake til standard. Vennligst bekreft.
keybindingsResetOk:
title: Hurtigtaster nullstilt
desc: Hurtigtastene har blitt nullstilt tilbake til standard!
featureRestriction:
title: Demo Versjon
desc: Du prøvde å benytte deg av en funksjon (<feature>) som ikke er tilgjengelig i demoen. Vurder å skaffe frittstående versjon for den fulle opplevelsen!
oneSavegameLimit:
title: Begrenset Lagringsfiler
desc: Du kan du ha en lagringsfil om gangen i demo versjonen. Vennligst slett den eksisterende, eller skaff frittstående versjon!
updateSummary:
title: Ny oppdatering!!
desc: >-
Her er endringene siden sist du spilte:
upgradesIntroduction:
title: Åpne Oppgradering
desc: >-
Alle objektene du produserer kan bli brukt til å åpne oppgraderinger - <strong>Ikke ødelegg dine gamle fabrikker!</strong>
Oppgraderingsfanen er plassert øverst til høyre på skjermen.
massDeleteConfirm:
title: Bekreft sletting
desc: >-
Du skal til å slette mange bygninger (<count> for å være nøyaktig)! Er du sikker på at du ønsker å gjøre dette?
massCutConfirm:
title: Bekreft Klipping
desc: >-
Du klipper ut mange bygninger (<count> for å være nøyaktig)! Er du sikker på at du ønsker å gjøre dette?
blueprintsNotUnlocked:
title: Ikke åpnet enda
desc: >-
Fullfør nivå 12 for å åpne blåkopier!
keybindingsIntroduction:
title: Nyttige hurtigtaster
desc: >-
Spillet har mange hurtigtaster som gjør det enklere å bygge store fabrikker.
Her er noen få, men sørg for å <strong>sjekke ut hurtigtaster</strong>!<br><br>
<code class='keybinding'>CTRL</code> + Dra: Velg et område.<br>
<code class='keybinding'>SHIFT</code>: Hold trykket for å plassere flere av en bygning.<br>
<code class='keybinding'>ALT</code>: Inverter orientasjon av plasserte belter.<br>
createMarker:
title: Ny Markør
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: Du kan kun ha to markører i demo verjsonen. Skaff deg frittstående versjon for ubegrensede markører!
exportScreenshotWarning:
title: Eksporter skjermbilde
desc: Du forespurte å eksportere bilde av basen din som et skjermbilde. Vær obs på at dette kan ta lang tid for en stor base, og i verste fall kræsje spillet ditt (Husk å lagre først)!
ingame:
# This is shown in the top left corner and displays useful keybindings in
# every situation
keybindingsOverlay:
moveMap: Beveg
selectBuildings: Velg område
stopPlacement: Stopp plassering
rotateBuilding: Roter bygning
placeMultiple: Plasser flere
reverseOrientation: Omvent orientering
disableAutoOrientation: Deaktiver automatisk orientering
toggleHud: Veksle Grensesnitt
placeBuilding: Plasser bygning
createMarker: Lag Markør
delete: Ødelegg
pasteLastBlueprint: Lim inn forrige blåkopi
# Everything related to placing buildings (I.e. as soon as you selected a building
# from the toolbar)
buildingPlacement:
# Buildings can have different variants which are unlocked at later levels,
# and this is the hint shown when there are multiple variants available.
cycleBuildingVariants: Trykk <key> for å veksle mellom variantene.
# Shows the hotkey in the ui, e.g. "Hotkey: Q"
hotkeyLabel: >-
Hotkey: <key>
infoTexts:
speed: Hastighet
range: Lengde
storage: Lagring
oneItemPerSecond: 1 objekt / sekund
itemsPerSecond: <x> objekter / s
itemsPerSecondDouble: (x2)
tiles: <x> ruter
# The notification when completing a level
levelCompleteNotification:
# <level> is replaced by the actual level, so this gets 'Level 03' for example.
levelTitle: Nivå <level>
completed: Fullført
unlockText: Åpnet <reward>!
buttonNextLevel: Neste Nivå
# Notifications on the lower right
notifications:
newUpgrade: En ny oppgradering er tilgjengelig!
gameSaved: Spillet ditt er lagret.
# Mass select information, this is when you hold CTRL and then drag with your mouse
# to select multiple buildings
massSelect:
infoText: Trykk <keyCut> for å klippe, <keyCopy> for å kopiere, <keyDelete> for å slette, og <keyCancel> for å avbryte.
# The "Upgrades" window
shop:
title: Oppgraderinger
buttonUnlock: Oppgrader
# Gets replaced to e.g. "Tier IX"
tier: Nivå <x>
# The roman number for each tier
tierLabels: [I, II, III, IV, V, VI, VII, VIII, IX, X]
maximumLevel: MAKS NIVÅ (Hastighet x<currentMult>)
# The "Statistics" window
statistics:
title: Statistikk
dataSources:
stored:
title: Lagret
description: Viser hva som er lagret i hovedbygningen.
produced:
title: Produsert
description: Viser alle objektene hele fabrikken produserer, inkluderer avanserte objekter.
delivered:
title: Levert
description: Viser objekter som er levert til hovedbygningen.
noShapesProduced: Ingen objekter har blitt produsert så langt.
# Displays the shapes per minute, e.g. '523 / m'
shapesPerMinute: <shapes> / m
# Settings menu, when you press "ESC"
settingsMenu:
playtime: Spilletid
buildingsPlaced: Bygninger
beltsPlaced: Belter
buttons:
continue: Fortsett
settings: Innstillinger
menu: Tilbake til hovedmeny
# Bottom left tutorial hints
tutorialHints:
title: Trenger du hjelp?
showHint: Vis hint
hideHint: Lukk
# When placing a blueprint
blueprintPlacer:
cost: Kostnad
# Map markers
waypoints:
waypoints: Markør
hub: Hovedbygning
description: Venstreklikk en markør for å gå dit, høyreklikk for å slette markøren.<br><br>Trykk <keybinding> for å lage en markør fra nåværende sted, eller <strong>høyreklikk</strong> for å lage en markør på valgt område.
creationSuccessNotification: Markren ble laget.
# Interactive tutorial
interactiveTutorial:
title: Opplæring
hints:
1_1_extractor: Plasser en <strong>utdrager</strong> på toppen av en <strong>sirkel form</strong> for å samle den!
1_2_conveyor: >-
Koble utdrageren med et <strong>transportbånd</strong> til hovedbygningen!<br><br>Tips: <strong>Trykk og dra</strong> beltet med musa!
1_3_expand: >-
Dette er <strong>IKKE</strong> et idle-spill! Bygg flere utdragere og belter for å nå målet raskere.<br><br>Tips: Hold <strong>SHIFT</strong> for å plassere flere utdragere, og bruk <strong>R</strong> for å rotere dem.
# All shop upgrades
shopUpgrades:
belt:
name: Belter, Distributører & Tuneller
description: Hastighet x<currentMult> → x<newMult>
miner:
name: Utdrager
description: Hastighet x<currentMult> → x<newMult>
processors:
name: Kutting, Rotering & Stabling
description: Hastighet x<currentMult> → x<newMult>
painting:
name: Miksing & Maling
description: Hastighet x<currentMult> → x<newMult>
# Buildings and their name / description
buildings:
hub:
deliver: Lever
toUnlock: for å låse opp
levelShortcut: nivå
belt:
default:
name: &belt Transportbånd
description: Transporterer objekter, hold og dra for å plassere flere.
miner: # Internal name for the Extractor
default:
name: &miner Utdrager
description: Plasser over en form eller farge for å trekke ut.
chainable:
name: Utdrager (Kjede)
description: Plasser over en form eller farge for å trekke ut. Kan kobles i kjede.
underground_belt: # Internal name for the Tunnel
default:
name: &underground_belt Tunell
description: Lar deg bruke tuneller for å transportere objekter under bygninger og belter.
tier2:
name: Tunell Nivå II
description: Lar deg bruke tuneller for å transportere objekter under bygninger og belter.
splitter: # Internal name for the Balancer
default:
name: &splitter Utjevner
description: Multifunksjonell - Sprer alt jevnt utover.
compact:
name: Sammenslå (kompakt)
description: Slår sammen to belter til ett.
compact-inverse:
name: Sammenslå (kompakt)
description: Slår sammen to belter til ett.
cutter:
default:
name: &cutter Kutter
description: Kutter objekter fra top til bunn og spytter ut begge halvdeler. <strong>Hvis du bare skal bruke den ene biten, sørg for å ødelegge den andre biten ellers vil det låse seg!</strong>
quad:
name: Kutter (4-Veis)
description: Kutter objekter til 4 biter. <strong>Hvis du bare skal bruke den ene biten, sørg for å ødelegge den andre biten ellers vil det låse seg!</strong>
rotater:
default:
name: &rotater Roter
description: Roter objekter med klokken, 90 grader.
ccw:
name: Roter (Mot klokken)
description: Roter objekter mot klokken, 90 grader.
stacker:
default:
name: &stacker Stabler
description: Stabler begge objekter. Hvis de ikke kan bli stablet sidelengs, vil høyre stables over den andre.
mixer:
default:
name: &mixer Fargemikser
description: Mikser to farger sammen ved å blande de.
painter:
default:
name: &painter Maler
description: Maler hele objektet på venstre inngang med fargen fra øverste inngang.
double:
name: Maler (Dobbel)
description: Maler hele objektet på venstre inngang med fargen fra øverste inngang.
quad:
name: Maler (Fireganger)
description: Farger enhver kvadrant av objektet med forskjellige farger.
trash:
default:
name: &trash Søppelkasse
description: Tar imot objekter fra alle sider og ødelegger de. For alltid.
storage:
name: Lagringsboks
description: Lagrer overflødige objekter, opp til en viss kapasitet. Kan bli brukt som mellomlagring for overflyt.
storyRewards:
# Those are the rewards gained from completing the store
reward_cutter_and_trash:
title: Kutt Objekter
desc: Du åpnet nettop <strong>kutter</strong> - den kutter objekter i to fra <strong>topp til bunn</strong> uavhengig av rotasjon!<br><br>Husk å kvitt deg med alt søppel, ellers <strong>kiler det seg fast</strong> - For dette formålet har du søplekassen, som ødelegger alt du putter i den!
reward_rotater:
title: Rotering
desc: <strong>Rotereren</strong> har blitt tilgjengelig! Den roterer objekter med klokken 90 grader.
reward_painter:
title: Maling
desc: >-
<strong>Maleren</strong> har blitt tilgjengelig - Hent ut fargeressurser (på samme måte som du gjør med objekter) og kombiner det med et objekt i maleren for å male de!<br><br>PS: Hvis du er fargeblind, så jobber jeg med en løsning alt!
reward_mixer:
title: Fargemikser
desc: <strong>Fargemikseren</strong> har blitt tilgjengelig - Kombiner to farger og <strong>bland de sammen</strong> med denne bygningen!
reward_stacker:
title: Sammenslåer
desc: Du kan nå slå sammen forskjellige former med <strong>sammenslåeren</strong>! Begge inngangene blir slått sammen, og hvis det er mulig blir de plassert ved siden av hverandre, de vil bil <strong>til en</strong>. Hvis ikke, blir høyre inngang <strong>plassert over</strong> venstre inngang!
reward_splitter:
title: Fordeler/Sammenslåer
desc: Den multifunksjonelle <strong>fordeleren</strong> har blitt tilgjengelig - Den kan brukes til å bygge større fabrikker ved å <strong>fordele og slå sammen objekter</strong> til flere transportbånd!<br><br>
reward_tunnel:
title: Tunell
desc: <strong>Tunellen</strong> har blitt tilgjengelig - Du kan nå transportere objekter under transportbelter og bygninger med den!
reward_rotater_ccw:
title: Mot klokken rotering
desc: Du har åpnte en variant av <strong>rotereren</strong> - Den tillater rotasjoner mot klokken! For å bygge den, velg rotereren og <strong>trykk 'T' for å veksle mellom variantene</strong>!
reward_miner_chainable:
title: Kjede Utdrager
desc: Du har åpnet <strong>kjede utdrageren</strong>! Den sender <strong>videre sine resurser</strong> til andre utdragere så de kan mer effektivt hente ut resurser!
reward_underground_belt_tier_2:
title: Tunell Nivå II
desc: Du har åpnet en ny variant av <strong>tunellen</strong> - Den har <strong>lengre rekkevidde</strong>, og du kan også blande de forskjellige tunellene nå!
reward_splitter_compact:
title: Kompakt Utjevning
desc: >-
Du har åpnet en variant av <strong>utjevneren</strong> - Den godtar to innganger og slår de sammen til en!
reward_cutter_quad:
title: 4-Veis Kutting
desc: Du har åpnet en variant av <strong>kutteren</strong> - Den lar deg dele objekter inn i <strong>fire deler</strong> istedenfor bare to!
reward_painter_double:
title: Dobbel Maling
desc: Du har åpnet en variant av <strong>maleren</strong> - Den fungerer som vanlig maler, men prosesserer <strong>to objekter om gangen</strong>, konsumerer bare en farge istedenfor to!
reward_painter_quad:
title: Firegangers Maling
desc: Du har åpnet en variant av <strong>maleren</strong> - Den lar deg male hver del av objektet individuelt!
reward_storage:
title: Lagrings Buffer
desc: Du har åpnet en variant av <strong>søplekassen</strong> - Den lar deg lagre objekter opp til en viss mengde!
reward_freeplay:
title: Frispill
desc: Du klarte det! Du åpnet <strong>frispill modus</strong>! Dette betyr at formene er nå tilfeldig generert! (Frykt ikke, mer innhold er planlagt for frittstående versjon!)
reward_blueprints:
title: Blåkopier
desc: Du kan nå <strong>kopiere og lime inn</strong> deler av fabrikken din! Velg et område (Hold inne CTRL, så dra med musa), trykk så 'C' for å kopiere det.<br><br>Lime det inn er <strong>ikke graits</strong>, du må produsere <strong>blåkopi objekter</strong> for å få råd til det! (Det du nettop leverte).
# Special reward, which is shown when there is no reward actually
no_reward:
title: Neste nivå
desc: >-
Dette nivået ga deg ingen belønning, men neste gjør det! <br><br> PS: Burde ikke ødelegge din nåværende fabrikk - Du trenger <strong>alle</strong> de objektene senere for å <strong>åpne nye ting</strong>!
no_reward_freeplay:
title: Neste nivå
desc: >-
Gratulerer!! Forresten, mer innhold er planlagt for frittstående versjon!
settings:
title: Instillinger
categories:
game: Spill
app: Applikasjon
versionBadges:
dev: Utvikling
staging: Icenesettelse
prod: Produksjon
buildDate: Bygget <at-date>
labels:
uiScale:
title: Grensesnitt skala
description: >-
Endrer størrelsen på brukergrensesnitt. Grensesnittet vil fortsatt skaleres basert på din enhets oppløsning, men denne instillingen styrer mengden den skalerer.
scales:
super_small: Veldig liten
small: Liten
regular: Vanlig
large: Stor
huge: Gigantisk
scrollWheelSensitivity:
title: Forstørrelses sensitivitet
description: >-
Endrer hvor sensitiv forstørringen er (Enten musehjulet eller trackpad).
sensitivity:
super_slow: Veldig Sakte
slow: Sakte
regular: Vanlig
fast: Raskt
super_fast: Veldig Raskt
movementSpeed:
title: Bevegelses hastighet
description: >-
Endrer hvor raskt bildet beveger seg når man bruker tastaturet.
speeds:
super_slow: Veldig Sakte slow
slow: Sakte
regular: Vanlig
fast: Raskt
super_fast: Veldig Raskt
extremely_fast: Ekstremt Raskt
language:
title: Språk
description: >-
Endre språket. Alle oversettelser er bidrag ifra andre brukere og kan være ufullstendig!
fullscreen:
title: Fullskjerm
description: >-
Det er anbefalt å spille spillet i fullskjerm for best mulig opplevelse. Kun tilgjengelig i frittstående versjon.
soundsMuted:
title: Skru av lyder
description: >-
Hvis aktivert, skrur av alle lydeffekter.
musicMuted:
title: Skru av Musikk
description: >-
Hvis aktivert, skrur av all musikk.
theme:
title: Spilltema
description: >-
Velg spilltema (lys / mørk).
themes:
dark: Mørk
light: Lys
refreshRate:
title: Simulerings Mål
description: >-
Hvis du har en 144hz skjerm, endre oppdateringsfrekvensen her så vil spillet simuleres mer korrekt på høyere oppdateringsfrekvenser. Dette kan redusere FPS om din PC er for treg.
alwaysMultiplace:
title: Plasser flere
description: >-
Hvis aktivert, alle bygg vil forbli valgt etter plassering inntil du avbryter det. Dette tilsvarer å holde SHIFT nede permanent.
offerHints:
title: Hint & Opplæring
description: >-
Om du ønsker hint og opplæring mens du spiller. Skjuler også enkelte elementer i brukergrensesnittet inntil spesifike nivå for å enklere komme i gang med spillet.
keybindings:
title: Hurtigtaster
hint: >-
Tips: Husk å bruke CTRL, SHIFT and ALT! De gir deg flere plasseringsmuligheter.
resetKeybindings: Nullstill Hurtigtaster
categoryLabels:
general: Applikasjon
ingame: Spill
navigation: Navigering
placement: Plassering
massSelect: Velg Masse
buildings: Bygnings Snarvei
placementModifiers: Plasserings Alternativer
mappings:
confirm: Bekreft
back: Tilbake
mapMoveUp: Flytt Opp
mapMoveRight: Flytt Høyre
mapMoveDown: Flytt Ned
mapMoveLeft: Flytt Venstre
mapMoveFaster: Beveg Raskere
centerMap: Midstill Brettet
mapZoomIn: Zoom inn
mapZoomOut: Zoom ut
createMarker: Lag Markør
menuOpenShop: Oppgraderinger
menuOpenStats: Statistikk
toggleHud: Veksle Grensesnitt
toggleFPSInfo: Veksle FPS og debug informasjon
exportScreenshot: Eksporter hele basen som et bilde
belt: *belt
splitter: *splitter
underground_belt: *underground_belt
miner: *miner
cutter: *cutter
rotater: *rotater
stacker: *stacker
mixer: *mixer
painter: *painter
trash: *trash
abortBuildingPlacement: Avbryt Plassering
rotateWhilePlacing: Roter
rotateInverseModifier: >-
Alternativ: Roter mot klokken isteden
cycleBuildingVariants: Endre Varianter
confirmMassDelete: Bekreft Massesletting
pasteLastBlueprint: Lim inn forrige blåkopi
cycleBuildings: Endre Bygninger
massSelectStart: Hold og dra for å starte
massSelectSelectMultiple: Velg flere områder
massSelectCopy: Kopier Område
massSelectCut: Kutt ut Område
placementDisableAutoOrientation: Deaktiver automatisk orientering
placeMultiple: Forbli i plasseringsmodus
placeInverse: Inverter automatisk transportbånd orientering
about:
title: Om dette spillet
body: >-
Dette spillet er åpen kildekode og utviklet av <a href="https://github.com/tobspr" target="_blank">Tobias Springer</a> (dette er meg).<br><br>
Hvis du ønsker å bidra, sjekk ut <a href="<githublink>" target="_blank">shapez.io på github</a>.<br><br>
Spillet ville ikke vært mulig uten det fantastidke discord samfunnet rundt spillet mitt - Du burde virkelig bli med på <a href="<discordlink>" target="_blank">discord serveren</a>!<br><br>
Lydsporet er laget av <a href="https://soundcloud.com/pettersumelius" target="_blank">Peppsen</a> - Han er rå.<br><br>
Til slutt, stor takk til min beste venn <a href="https://github.com/niklas-dahl" target="_blank">Niklas</a> - Uten våre factorio økter ville ikke dette spillet ha eksistert.
changelog:
title: Endringshistorikk
demo:
features:
restoringGames: Gjenopprette lagringsfiler
importingGames: Importer lagringsfiler
oneGameLimit: Begrenset til en lagringsfil
customizeKeybindings: Forandre Hurtigtaster
exportingBase: Eksporter hele basen som bile
settingNotAvailable: Ikke tilgjengelig i demoversjonen.

View File

@ -254,7 +254,7 @@ dialogs:
createMarker:
title: Nowy Znacznik
desc: Nadaj nazwę
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: Możesz stworzyć tylko dwa własne znaczniki w wersji demo. Zakup pełną wersję gry dla nielimitowanych znaczników!
@ -265,10 +265,11 @@ dialogs:
Wycinasz sporą ilość maszyn (<count> gwoli ścisłości)! Czy na pewno chcesz kontynuować?
exportScreenshotWarning:
title: Export screenshot
title: Tworzenie zrzutu fabryki
desc: >-
You requested to export your base as a screenshot. Please note that this can
be quite slow for a big base and even crash your game!
Zamierzasz wyeksportować swoją fabrykę jako zrzut ekranu. W przypadku dużej
fabryki ta akja może być bardzo wolna, a nawet może spowodować zawieszenie się lub awarię gry!
Czy na pewno chcesz kontynuować?
ingame:
# This is shown in the top left corner and displays useful keybindings in
@ -710,7 +711,8 @@ keybindings:
mapMoveUp: Ruch w górę
mapMoveRight: Ruch w prawo
mapMoveDown: Ruch w dół
mapMoveLeft: Move Left
mapMoveLeft: Ruch w lewo
mapMoveFaster: Przyspiesz ruch
centerMap: Wyśrodkuj Mapę
mapZoomIn: Przybliżenie
@ -738,11 +740,11 @@ keybindings:
rotateInverseModifier: >-
Modyfikator: Obróć Odrwotnie
cycleBuildingVariants: Zmień Wariant
confirmMassDelete: Potwierdź Usuwanie
confirmMassDelete: Potwierdź usuwanie
cycleBuildings: Zmień Budynek
massSelectStart: Przytrzymaj i przeciągnij by zaznaczyć
massSelectSelectMultiple: Zaznacz kilka obszar
massSelectSelectMultiple: Zaznacz kilka obszarów
massSelectCopy: Skopiuj obszar
placementDisableAutoOrientation: Wyłącz automatyczną orientacje
@ -750,7 +752,7 @@ keybindings:
placeInverse: Odwróć automatyczną orientacje pasów
pasteLastBlueprint: Wklej ostatnio skopiowany obszar
massSelectCut: Wytnij obszar
exportScreenshot: Export whole Base as Image
exportScreenshot: Wyeksportuj całą fabrykę jako zrzut ekranu
about:
title: O Grze
@ -770,6 +772,6 @@ demo:
importingGames: Importowanie zapisów gry
oneGameLimit: Limit jednego zapisu gry
customizeKeybindings: Personalizowanie Klawiszologii
exportingBase: Exporting whole Base as Image
exportingBase: Eksportowanie całej fabryki jako zrzut ekranu
settingNotAvailable: Niedostępne w wersji demo.

View File

@ -21,7 +21,7 @@
steamPage:
# This is the short text appearing on the steam page
shortText: shapez.io is a game about building factories to automate the creation and combination of increasingly complex shapes within an infinite map.
shortText: shapez.io é um jogo sobre construir fábricas, automatizando a criação e combinação de formas cada vez mais complexas num mapa infinito.
# This is the long description for the steam page - It is contained here so you can help to translate it, and I will regulary update the store page.
# NOTICE:
@ -30,42 +30,42 @@ steamPage:
longText: >-
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
shapez.io is a game about building factories to automate the creation and combination of shapes. Deliver the requested, increasingly complex shapes to progress within the game and unlock upgrades to speed up your factory.
shapez.io é um jogo sobre construir fábricas para automatizar a criação e combinação de formas. Entregue formas cada vez mais complexas pedidas pelo jogo para progredir e desbloquear melhorias que aceleram sua fábrica.
Since the demand raises you will have to scale up your factory to fit the needs - Don't forget about resources though, you will have to expand in the [b]infinite map[/b]!
Como a demanda é crescente, será necessário dimensionar uma fábrica que atenda a necessidade - Não se esqueça dos recursos à sua disposição, você poderá expandir em um [b]mapa infinito[/b]!
Since shapes can get boring soon you need to mix colors and paint your shapes with it - Combine red, green and blue color resources to produce different colors and paint shapes with it to satisfy the demand.
Formas podem ficar entediantes por si só, logo você terá que misturar cores e pintá-las - Combine os recursos vermelho, verde e azul para produzir cores diferentes e pintar as formas com elas pra atender a demanda.
This game features 18 levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
Esse jogo apresenta 18 níveis (que já devem mantê-lo ocupado por horas!) mas estou constantemente adicionado conteúdo novo - Muito já está planejado!
[b]Standalone Advantages[/b]
[b]Vantagens da Versão Standalone[/b]
[list]
[*] Waypoints
[*] Unlimited Savegames
[*] Dark Mode
[*] More settings
[*] Allow me to further develop shapez.io ❤️
[*] More features in the future!
[*] Marcações no mapa
[*] Jogos salvos ilimitados
[*] Modo escuro
[*] Mais opções no menu
[*] Me ajuda a desenvolver mais o shapez.io ❤️
[*] Ainda mais recursos no futuro!
[/list]
[b]Planned features & Community suggestions[/b]
[b]Melhoras Planejadas & Sugestões da Comunidade[/b]
This game is open source - Anybody can contribute! Besides of that, I listen [b]a lot[/b] to the community! I try to read all suggestions and take as much feedback into account as possible.
Esse jogo tem código aberto - Qualquer um pode contribuir! Além disso, eu ouço [b]muito[/a] a comunidade! Tento ler todas as sugestões e levar o máximo possível de comentários sobre o jogo em consideração.
[list]
[*] Story mode where buildings cost shapes
[*] More levels & buildings (standalone exclusive)
[*] Different maps, and maybe map obstacles
[*] Configurable map creation (Edit number and size of patches, seed, and more)
[*] More types of shapes
[*] More performance improvements (Although the game already runs pretty good!)
[*] Color blind mode
[*] And much more!
[*] Modo história, onde construir custará formas
[*] Mais níves & construções (exclusivo da versão standalone)
[*] Mapas diferentes, e talvez obstáculos no mapa
[*] Criação de mapa configurável (Número e tamanho de recursos, seed, e mais)
[*] Mais tipos de formas
[*] Mais melhoras no desempenho (Mesmo que o jogo já esteja rodando bem rápido!)
[*] Acessibilidade para daltonismo
[*] E muito mais!
[/list]
Be sure to check out my trello board for the full roadmap! https://trello.com/b/ISQncpJP/shapezio
Não deixe de conferir na minha página no trello o planejamento completo! (em inglês) https://trello.com/b/ISQncpJP/shapezio
global:
loading: Carregando
@ -127,32 +127,32 @@ mainMenu:
browserWarning: >-
Desculpe, o jogo fica lento em seu navegador! Compre a versão completa ou baixe o Chrome para obter uma experiência completa.
savegameLevel: Level <x>
savegameLevelUnknown: Level desconhecido
savegameLevel: vel <x>
savegameLevelUnknown: vel desconhecido
contests:
contest_01_03062020:
title: "Concurso #01"
desc: Ganhe <strong> $ 25 </strong> pela melhor base!
desc: Ganhe <strong>$25</strong> pela melhor base!
longDesc: >-
Para retribuir, pensei que seria legal fazer concursos semanais!
<br><br>
<strong> Tópico dessa semana:</strong> Cronstua a base mais legal!
<strong> Tópico dessa semana:</strong> Construa a base mais legal!
<br><br>
Here's the deal:<br>
Esse é o plano:<br>
<ul class="bucketList">
<li>Envie uma captura de tela da sua base para <strong>contest@shapez.io</strong></li>
<li>Pontos bônus se você o compartilhar nas mídias sociais!</li>
<li>Vou escolher 5 capturas de tela e propor à votação a comunidade <strong>discord</strong>.</li>
<li>o vencedor recebe <strong> $ 25 </strong> (Paypal, Amazon Gift Card, o que você preferir)</li>
<li>o vencedor recebe <strong>$25</strong> (Paypal, Amazon Gift Card, o que você preferir)</li>
<li>Até 07.06.2020 12:00 CEST</li>
</ul>
<br>
Estou ansioso para ver suas criações incríveis!
showInfo: Participate
contestOver: This contest has ended - Join the discord to get noticed about new contests!
helpTranslate: Help translate!
showInfo: Participar
contestOver: Esse concurso está encerrado - Entre no discord para ser informado sobre novos concursos!
helpTranslate: Ajude a traduzir!
dialogs:
buttons:
@ -163,60 +163,60 @@ dialogs:
restart: Reiniciar
reset: Reset
getStandalone: Obter versão completa
deleteGame: Eu sei o que eu faço
deleteGame: Sei o que faço
viewUpdate: Atualizações
showUpgrades: Mostrar atualizações
showUpgrades: Ver melhorias
showKeybindings: Controles
importSavegameError:
title: Erro importante
title: Erro de importação
text: >-
Falha ao carregar seu savegame:
Houve uma falha ao importar seu jogo salvo:
importSavegameSuccess:
title: Sucesso
title: Jogo salvo importado
text: >-
Seu savegame foi importado.
Seu jogo salvo foi importado com sucesso.
gameLoadFailure:
title: Jogo esta quebrado
title: Jogo salvo quebrado
text: >-
Falha ao carregar seu savegame
Houve uma falha ao carregar seu jogo salvo:
confirmSavegameDelete:
title: Confirmar exclusão
text: >-
Tem certeza que quer excluir esse jogo?
Tem certeza que quer excluir esse jogo salvo?
savegameDeletionError:
title: Falha para deletar
title: Falha ao deletar
text: >-
Falha ao deletar seu savegame:
Houve uma falha ao deletar seu jogo salvo:
restartRequired:
title: Reiniciar
title: Ação necessária
text: >-
Voce precisa reiniciar o jogo para aplicar as mudanças.
editKeybinding:
title: Change Keybinding
desc: Press the key you want to assign, or escape to cancel.
title: Alterar tecla
desc: Pressiona a tecla que deseja vincular, ou ESC para cancelar.
resetKeybindingsConfirmation:
title: Resetar controles
desc: Essa opção deixa os controles no modo padrão.
desc: Essa opção deixa os controles nas definições padrão.
keybindingsResetOk:
title: Resetar controles
desc: Os controles foram resetados para o modo padrão.
desc: Os controles foram resetados para as definições padrão.
featureRestriction:
title: Versão Demo
desc: Você tentou acessar um recurso (<feature>) que não está disponível na demo. Considere obter a versão completa para a proceder!
oneSavegameLimit:
title: Save limitado
desc: Você pode ter apenas um savegame por vez na versão demo. Remova o existente ou obtenha a versão completa!
title: Jogo salvo limitado
desc: Você pode ter apenas um jogo salvo por vez na versão demo. Remova o existente ou obtenha a versão completa!
updateSummary:
title: Nova Atualização!
@ -224,15 +224,15 @@ dialogs:
Aqui estão as alterações desde a última vez que você jogou:
upgradesIntroduction:
title: Desbloquear updates
title: Desbloquear melhorias
desc: >-
Todas as formas que você produz podem ser usadas para desbloquear atualizações - <strong> Não destrua suas antigas fábricas!!</strong>
O guia de atualizações pode ser encontrada no canto superior direito da tela.
Todas as formas que você produz podem ser usadas para desbloquear melhorias - <strong> Não destrua suas antigas fábricas!!</strong>
O guia de melhorias pode ser encontrado no canto superior direito da tela.
massDeleteConfirm:
title: Deletar
desc: >-
Voce esta deletando vários itens (<count> para ser exato)! Voce quer continuar?
Você está deletando vários objetos (<count> para ser exato)! Você quer continuar?
blueprintsNotUnlocked:
title: Não desbloqueado ainda
@ -243,30 +243,27 @@ dialogs:
title: Teclas úteis
desc: >-
Este jogo possui muitas combinações de teclas que facilitam a construção de grandes fábricas
Aqui estão alguns mas certifique-se de <strong> verificar as combinações de teclas </strong>!<br><br>
<code class='keybinding'>CTRL</code> + Drag: Selecione a área para copiar / delete.<br>
<code class='keybinding'>SHIFT</code>: Mantenha pressionado para colocar vários.<br>
<code class='keybinding'>ALT</code>: Inverter as posições.<br>
Aqui estão algumas, certifique-se de <strong> verificar as combinações de teclas </strong>!<br><br>
<code class='keybinding'>CTRL</code> + Arrastar: Seleciona área para copiar / delete.<br>
<code class='keybinding'>SHIFT</code>: Mantenha pressionado para colocar vária construções.<br>
<code class='keybinding'>ALT</code>: Inverte as posições.<br>
createMarker:
title: Nova Marcação
desc: De um nome
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: >-
You can only create two custom markers in the demo. Get the standalone for
unlimited markers!
Você só pode criar dois marcadores na versão demo. Adquira a versão completa para marcadores ilimitados!
massCutConfirm:
title: Confirm cut
desc: >-
You are cutting a lot of buildings (<count> to be exact)! Are you sure you
want to do this?
Você está cortando vários objetos (<count> para ser exato)! Você quer continuar?
exportScreenshotWarning:
title: Export screenshot
title: Exportar captura de tela
desc: >-
You requested to export your base as a screenshot. Please note that this can
be quite slow for a big base and even crash your game!
Você está prestes a exportar uma captura de tela da sua base. Note que isso pode ser bastante lento para uma base grande, e até mesmo pode travar o jogo!
ingame:
# This is shown in the top left corner and displays useful keybindings in
@ -277,14 +274,14 @@ ingame:
stopPlacement: Parar
rotateBuilding: Rotação
placeMultiple: Colocar vários
reverseOrientation: reverso
disableAutoOrientation: desligar orientações
toggleHud: Base
placeBuilding: Colocar construção
reverseOrientation: Inverter orientação
disableAutoOrientation: Desligar orientação automática
toggleHud: Ocultar interface
placeBuilding: Construir objeto
createMarker: Criar marcador
delete: Destruir
selectBuildings: Select area
pasteLastBlueprint: Paste last blueprint
selectBuildings: Selecionar área
pasteLastBlueprint: Colar último projeto
# Everything related to placing buildings (I.e. as soon as you selected a building
# from the toolbar)
@ -298,8 +295,8 @@ ingame:
Hotkey: <key>
infoTexts:
speed: velocidade
range: distancia
speed: Velocidade
range: Distância
storage: Estoque
oneItemPerSecond: 1 item / segundo
itemsPerSecond: <x> itens / s
@ -310,32 +307,32 @@ ingame:
# The notification when completing a level
levelCompleteNotification:
# <level> is replaced by the actual level, so this gets 'Level 03' for example.
levelTitle: Level <level>
levelTitle: vel <level>
completed: Completado
unlockText: Desbloqueado <reward>!
buttonNextLevel: Próximo Level
buttonNextLevel: Próximo vel
# Notifications on the lower right
notifications:
newUpgrade: Nova Atualização disponível!
gameSaved: Seu jogo foi Salvo.
newUpgrade: Nova melhoria disponível!
gameSaved: Seu jogo foi salvo.
# Mass select information, this is when you hold CTRL and then drag with your mouse
# to select multiple buildings
massSelect:
infoText: Press <keyCut> to cut, <keyCopy> to copy, <keyDelete> to remove and <keyCancel> to cancel.
infoText: Pressione <keyCut> para cortar, <keyCopy> para copiar, <keyDelete> para destruir e <keyCancel> para cancelar.
# The "Upgrades" window
shop:
title: Atualizações
buttonUnlock: Atualizações
title: Melhorias
buttonUnlock: Comprar
# Gets replaced to e.g. "Tier IX"
tier: Nível <x>
# The roman number for each tier
tierLabels: [I, II, III, IV, V, VI, VII, VIII, IX, X]
maximumLevel: MAXIMUM LEVEL (Speed x<currentMult>)
maximumLevel: NÍVEL MÁXIMO (Velocidade x<currentMult>)
# The "Statistics" window
statistics:
@ -353,23 +350,23 @@ ingame:
noShapesProduced: Nenhuma forma foi produzida até o momento.
# Displays the shapes per minute, e.g. '523 / m'
shapesPerMinute: <formas> / m
shapesPerMinute: <shapes> / m
# Settings menu, when you press "ESC"
settingsMenu:
playtime: Tempo de Jogo
buildingsPlaced: Construções
beltsPlaced: Belts
beltsPlaced: Esteiras
buttons:
continue: Continue
continue: Continuar
settings: Definições
menu: Voltar ao menu
# Bottom left tutorial hints
tutorialHints:
title: Precisa de ajuda?
title: Quer ajuda?
showHint: Mostrar dica
hideHint: Fechar
@ -399,193 +396,189 @@ ingame:
shopUpgrades:
belt:
name: Esteiras, Distribuidores e Túneis
description: Speed x<currentMult> → x<newMult>
description: Velocidade x<currentMult> → x<newMult>
miner:
name: Extração
description: Speed x<currentMult> → x<newMult>
description: Velocidade x<currentMult> → x<newMult>
processors:
name: Cortar, Rotacionar e Empilhamento
description: Speed x<currentMult> → x<newMult>
name: Corte, Rotação e Empilhamento
description: Velocidade x<currentMult> → x<newMult>
painting:
name: Misturador e pintura
description: Speed x<currentMult> → x<newMult>
name: Mistura de cores e pintura
description: Velocidade x<currentMult> → x<newMult>
# Buildings and their name / description
buildings:
belt:
default:
name: &belt Conveyor Belt
description: Transporta itens, mantenha pressionado e arraste para colocar vários.
name: &belt Esteira Transportadora
description: Transporta itens; mantenha pressionado e arraste para colocar vários.
miner: # Internal name for the Extractor
default:
name: &miner Extractor
name: &miner Extrator
description: Coloque sobre uma forma ou cor para extraí-la.
chainable:
name: Extractor (Chain)
description: Coloque sobre uma forma ou cor para extraí-la. Pode ser acorrentado.
name: Extrator em Cadeia
description: Coloque sobre uma forma ou cor para extraí-la. Pode ser ligado a outros extratores.
underground_belt: # Internal name for the Tunnel
default:
name: &underground_belt Tunnel
name: &underground_belt Túnel
description: Permite transportar recursos sob construções.
tier2:
name: Tunnel Tier II
name: Túnel Classe II
description: Permite transportar recursos sob construções.
splitter: # Internal name for the Balancer
default:
name: &splitter Balancer
description: Multifunctional - Distribui uniformemente todas as entradas em todas as saídas.
name: &splitter Balanceador
description: Multifuncional - Distribui uniformemente todas as entradas em todas as saídas.
compact:
name: Merger (compact)
description: Mescla duas correias transportadoras em uma.
name: Balanceador (compacto)
description: Mescla duas esteiras transportadoras em uma.
compact-inverse:
name: Merger (compact)
description: Mescla duas correias transportadoras em uma.
name: Balanceador (compacto)
description: Mescla duas esteiras transportadoras em uma.
cutter:
default:
name: &cutter Cutter
description: Corta as formas de cima para baixo e produz as duas metades. <strong> Se você usar apenas uma parte, não se esqueça de destruir a outra parte, ou ela irá parar a produção! </strong>
name: &cutter Cortador
description: Corta as formas verticalmente e produz as duas metades. <strong> Se você usar apenas uma parte, não se esqueça de destruir a outra parte, ou ela irá parar a produção! </strong>
quad:
name: Cutter (Quad)
name: Cortador (Quádruplo)
description: Corta as formas em quatro partes. <strong> Se você usar apenas uma parte, não se esqueça de destruir as outras, ou ela irá parar a produção! </strong>
rotater:
default:
name: &rotater Rotate
name: &rotater Rotacionador
description: Gira as formas no sentido horário em 90 graus.
ccw:
name: Rotate (CCW)
description: RGira as formas no sentido anti-horário em 90 graus.
name: Rotacionador (Anti-horário)
description: Gira as formas no sentido anti-horário em 90 graus.
stacker:
default:
name: &stacker Stacker
description: Empilha os dois itens. Se eles não puderem ser mesclados, o item certo será colocado acima do item esquerdo.
name: &stacker Empilhador
description: Empilha os dois itens. Se eles não puderem ser mesclados, o item direito será colocado acima do item esquerdo.
mixer:
default:
name: &mixer Color Mixer
name: &mixer Misturador de Cores
description: Mistura duas cores usando mistura aditiva.
painter:
default:
name: &painter Painter
name: &painter Pintor
description: Colore a forma inteira na entrada esquerda com a cor da entrada direita.
double:
name: Painter (Double)
name: Pintor (Duplo)
description: Colore as duas formas na entrada esquerda com a cor da entrada direita.
quad:
name: Painter (Quad)
name: Pintor (Quádruplo)
description: Permite colorir cada quadrante da forma com uma cor diferente.
trash:
default:
name: &trash Lixo
description: Aceita qualquer item e os destrói. PARA SEMPRE
description: Aceita qualquer item e os destrói. PARA SEMPRE.
storage:
name: Estoque
description: Armazena itens em excesso, até uma determinada capacidade. Pode ser usado como uma porta de transbordamento.
hub:
deliver: Deliver
toUnlock: to unlock
deliver: Entregue
toUnlock: para desbloquear
levelShortcut: LVL
storyRewards:
# Those are the rewards gained from completing the store
reward_cutter_and_trash:
title: Formas de corte
desc: Voce desbloqueou <strong>cutter</strong> - corte de formas pela metade de <strong>cima para baixo </strong> independentemente de sua orientação!<br><br> Certifique-se de se livrar do lixo, ou então <strong> ele irá parar a produção </strong> - Para esse propósito, eu lhe dei uma lixo, que destrói tudo o que você coloca nele
title: Cortando formas
desc: Voce desbloqueou <strong>cortador</strong> - corte de formas pela metade <strong>verticalmente</strong> independentemente de sua orientação!<br><br> Certifique-se de se livrar do lixo, ou então <strong> ele irá parar a produção </strong> - Para esse propósito, eu lhe dei um lixo, que destrói tudo o que você coloca nele.
reward_rotater:
title: Rodando
desc: O <strong> rotator </strong> foi desbloqueado! Gira as formas no sentido horário em 90 graus
title: Rotação
desc: O <strong> rotacionador </strong> foi desbloqueado! Gira as formas no sentido horário em 90 graus.
reward_painter:
title: Pintando
title: Pintura
desc: >-
O <strong> pintor </strong> foi desbloqueado - Extraia algumas veias coloridas (como você faz com formas) e combine-as com uma forma no pintor para colori-las! <br> <br> PS: Se você é daltônico , Já estou trabalhando em uma solução!
O <strong> pintor </strong> foi desbloqueado - Extraia algumas fontes coloridas (como você faz com formas) e combine-as com uma forma no pintor para colorí-las! <br> <br> PS: Se você é daltônico, já estou trabalhando em uma solução!
reward_mixer:
title: Mistura de cores
desc: O <strong> misturador </strong> foi desbloqueado - combine duas cores usando <strong> mistura aditiva </strong> com esta construção!
title: Misturando cores
desc: O <strong> misturador </strong> foi desbloqueado - combine duas cores usando <strong>mistura aditiva</strong> com esta construção!
reward_stacker:
title: Combinador
desc: Agora você pode combinar formas com o <strong> combinador </strong>! Ambas as entradas são combinadas e, se puderem ser colocadas próximas uma da outra, serão <strong> fundidas </strong>. Caso contrário, a entrada direita é <strong> empilhada em cima </strong> da entrada esquerda!
title: Empilhador
desc: Agora você pode combinar formas com o <strong>empilhador</strong>! Ambas as entradas são combinadas e, se puderem ser colocadas próximas uma da outra, serão <strong> fundidas </strong>. Caso contrário, a entrada direita é <strong>empilhada em cima</strong> da entrada esquerda!
reward_splitter:
title: Divisor/fusão
desc: >-
The multifunctional <strong>balancer</strong> has been unlocked - It can be
used to build bigger factories by <strong>splitting and merging items</strong>
onto multiple belts!<br><br>
title: Balanceador
desc: O <strong>balanceador</strong> multifuncional foi desbloqueado - pode ser usado para construir fábricas maiores <strong>dividindo e unindo itens</strong> em múltiplas esteiras!<br><br>
reward_tunnel:
title: Túnel
desc: O <strong> túnel </strong> foi desbloqueado - Agora você pode canalizar itens através de construções!
desc: O <strong>túnel</strong> foi desbloqueado - Agora você pode canalizar itens sob construções!
reward_rotater_ccw:
title: CCW Rotação
desc: Você desbloqueou uma variante do <strong> rotater </strong> - permite girar no sentido anti-horário! Para construí-lo, selecione o rotador e <strong> pressione 'T' para alternar suas variantes </strong>!
title: Rotação anti-horária
desc: Você desbloqueou uma variante do <strong>rotacionador</strong> - permite girar no sentido anti-horário! Para construí-lo, selecione o rotacionador e <strong>pressione 'T' para alternar suas variantes</strong>!
reward_miner_chainable:
title: Extrator de encadeamento
desc: Você desbloqueou o <strong> extrator de correntes </strong>! Ele pode <strong> encaminhar seus recursos </strong> para outros extratores, para que você possa extrair recursos com mais eficiência!
title: Extrator em Cadeia
desc: Você desbloqueou o <strong>extrator em cadeia</strong>! Ele pode <strong>encaminhar seus recursos</strong> para outros extratores, para que você possa extrair recursos com mais eficiência!
reward_underground_belt_tier_2:
title: Túnel Tier II
desc: Você desbloqueou uma nova variante do <strong> túnel </strong> - ele tem um <strong> maior alcance </strong>, e também pode misturar e combinar esses túneis agora!
title: Túnel Classe II
desc: Você desbloqueou uma nova variante do <strong>túnel</strong> - ele tem um <strong>maior alcance</strong>, e também pode atravessar outros túneis na mesma linha!
reward_splitter_compact:
title: Balanceador compacto
desc: >-
Você desbloqueou uma variante compacta do <strong> balanceador </strong> - ele aceita duas entradas e as mescla em uma!
desc: Você desbloqueou uma variante compacta do <strong>balanceador</strong> - ele aceita duas entradas e as mescla em uma!
reward_cutter_quad:
title: Cortador quádruplo
desc: Você desbloqueou uma variante do <strong> cortador </strong> - permite cortar formas em <strong> quatro partes </strong> em vez de apenas duas!
desc: Você desbloqueou uma variante do <strong>cortador</strong> - permite cortar formas em <strong>quatro partes</strong> em vez de apenas duas!
reward_painter_double:
title: Pintura dupla
desc: Você desbloqueou uma variante do <strong> pintor </strong> - funciona como o pintor regular, mas processa <strong> duas formas ao mesmo tempo </strong>, consumindo apenas uma cor em vez de duas!
desc: Você desbloqueou uma variante do <strong>pintor</strong> - funciona como o pintor regular, mas processa <strong> duas formas ao mesmo tempo </strong>, consumindo apenas uma cor em vez de duas!
reward_painter_quad:
title: Pintura quádupla
desc: Você desbloqueou uma variante do <strong> pintor </strong> - permite pintar cada parte da forma individualmente!
title: Pintura quádrupla
desc: Você desbloqueou uma variante do <strong>pintor</strong> - permite pintar cada parte da forma individualmente!
reward_storage:
title: buffer de armazenamento
desc: Você desbloqueou uma variante do <strong> lixo </strong> - Permite armazenar itens até uma determinada capacidade!
title: Acúmulo de excesso
desc: Você desbloqueou uma variante do <strong>lixo</strong> - Permite armazenar itens até uma determinada capacidade!
reward_freeplay:
title: Modo Livre
desc: Você fez isso! Você desbloqueou o <strong> modo de jogo livre </strong>! Isso significa que as formas agora são geradas aleatoriamente! (Não se preocupe, mais conteúdo está planejado para o jogo completo!)
desc: Você conseguiu! Você desbloqueou o <strong>modo de jogo livre</strong>! Isso significa que as formas agora são geradas aleatoriamente! (Não se preocupe, mais conteúdo está planejado para o jogo completo!)
reward_blueprints:
title: Projetos
desc: Agora você pode <strong> copiar e colar </strong> partes de sua fábrica! Selecione uma área (mantenha pressionada a tecla CTRL e arraste com o mouse) e pressione 'C' para copiá-la. <br> <br> Colar <strong> não é de graça </strong>, é necessário produzir <strong> projetos e formas </strong> para pagar! (Aqueles que você acabou de entregar).
desc: Agora você pode <strong>copiar e colar</strong> partes de sua fábrica! Selecione uma área (mantenha pressionada a tecla CTRL e arraste com o mouse) e pressione 'C' para copiá-la. <br><br>Colar <strong>não é de graça</strong>, é necessário produzir <strong>formas de projeto</strong> para pagar! (Aquelas que você acabou de entregar).
# Special reward, which is shown when there is no reward actually
no_reward:
title: Próximo level
title: Próximo vel
desc: >-
Este nível não lhe deu nenhuma recompensa, mas em breve?! <br> <br> PS: Melhor não destruir sua fábrica existente - Você precisa de <strong> todas </strong> todas essas formas posteriormente mais tarde para <strong> desbloquear atualizações </strong>!
Este nível não lhe deu nenhuma recompensa, mas em breve?! <br><br>PS: Melhor não destruir sua fábrica existente - Você precisa de <strong>todas</strong> essas formas posteriormente mais tarde para <strong>desbloquear atualizações</strong>!
no_reward_freeplay:
title: Next level
title: Próximo nível
desc: >-
Parabens, não se esqueça existe muita coisa planejada para essa versão.
Parabéns! Não se esqueça, existe muita coisa planejada para a versão completa.
settings:
title: opções
@ -603,7 +596,7 @@ settings:
uiScale:
title: Fonte
description: >-
Altera o tamanho da fonte do usuário. A interface ainda será dimensionada com base na resolução do dispositivo, mas essa configuração controla a quantidade de escala.
Altera o tamanho da fonte do usuário. A interface ainda será dimensionada com base na resolução do dispositivo, mas essa configuração controla a escala do texto.
scales:
super_small: Super pequeno
small: Pequeno
@ -614,7 +607,7 @@ settings:
scrollWheelSensitivity:
title: Sensibilidade do zoom
description: >-
Altera a sensibilidade do zoom (scrol do mouse ou touchpad).
Altera a sensibilidade do zoom (roda do mouse ou touchpad).
sensitivity:
super_slow: Super lento
slow: Lento
@ -623,33 +616,33 @@ settings:
super_fast: Super Rápido
fullscreen:
title: Tecla Cheia
title: Tela Cheia
description: >-
É recomendável jogar o jogo em tela cheia para obter a melhor experiência. Disponível apenas na versão completa.
É recomendado jogar o jogo em tela cheia para obter a melhor experiência. Disponível apenas na versão completa.
soundsMuted:
title: Som
description: >-
Se ligado o jogo fica Mudo.
Se ligado o jogo fica mudo
musicMuted:
title: Musica
description: >-
Se ligado a musica é desligada.
Se ligado, a musica fica muda.
theme:
title: Tema
description: >-
Escolha o tema entre (Branco / Preto).
Escolha o tema entre (Claro / Escuro).
themes:
dark: Dark
light: Light
dark: Escuro
light: Claro
refreshRate:
title: Frequencia
title: Frequência
description: >-
Se você possui um monitor de 144 hz, altere a taxa de atualização aqui para que o jogo seja simulado corretamente com taxas de atualização mais altas. Isso pode realmente diminuir o FPS se o computador estiver muito lento.
Se você possui um monitor de 144 hz, altere a taxa de atualização aqui para que o jogo seja simulado corretamente com taxas de atualização mais altas. Isso diminuir o FPS consideravelmente se o computador for muito lento.
alwaysMultiplace:
title: Multiplicidade
@ -659,40 +652,39 @@ settings:
offerHints:
title: Dicas e tutoriais
description: >-
Se deve oferecer dicas e tutoriais enquanto estiver jogando.v.
Se serão oferecidas dicas e tutoriais enquanto estiver jogando.
language:
title: Language
title: Idioma
description: >-
Change the language. All translations are user contributed and might be
incomplete!
Altera o idioma. Todas as traduções são contribuições de usuários e podem estar incompletas!
movementSpeed:
title: Movement speed
description: Changes how fast the view moves when using the keyboard.
title: Velocidade da câmera
description: Altera a velocidade com que a câmera se move com o teclado.
speeds:
super_slow: Super slow
slow: Slow
regular: Regular
fast: Fast
super_fast: Super Fast
extremely_fast: Extremely Fast
super_slow: Super Lento
slow: Lento
regular: Normal
fast: Rápido
super_fast: Super Rápido
extremely_fast: Extremamente Rápido
keybindings:
title: Comandos
title: Controles
hint: >-
Tip: Certifique-se de usar CTRL, SHIFT e ALT! Eles permitem diferentes opções de veiculação.
Tip: Certifique-se de usar CTRL, SHIFT e ALT! Eles permitem diferentes opções de construção.
resetKeybindings: Reset Keyinbindings
resetKeybindings: Resetar Controles
categoryLabels:
general: Geral
ingame: Jogo
navigation: Navegação
placement: Posicionamento
placement: Construção
massSelect: Seleção
buildings: Construções
placementModifiers: Modificações
buildings: Atalhos de objetos
placementModifiers: Modificadores
mappings:
confirm: Confirmar
@ -701,16 +693,16 @@ keybindings:
mapMoveRight: Mover para direita
mapMoveDown: Mover para baixo
mapMoveLeft: Mover para a esquerda
centerMap: Centralizar
centerMap: Centralizar mapa
mapZoomIn: Aproximar
mapZoomOut: Distanciar
createMarker: Criar marcação
menuOpenShop: Atualizações
menuOpenShop: Melhorias
menuOpenStats: Estatísticas
toggleHud: Ocultar Menu
toggleHud: Ocultar Interface
toggleFPSInfo: Mostar FPS
belt: *belt
splitter: *splitter
@ -726,51 +718,52 @@ keybindings:
abortBuildingPlacement: Cancelar
rotateWhilePlacing: Rotacionar
rotateInverseModifier: >-
Modifier: Rotação instantanea
Modifier: Rotação anti-horária
cycleBuildingVariants: Variações
confirmMassDelete: Confirmar exclusão em massa
cycleBuildings: Trocar de construção
massSelectStart: Segure e arraste para começar
massSelectSelectMultiple: Selecionar área
massSelectSelectMultiple: Selecionar mais áreas
massSelectCopy: Copiar área
placementDisableAutoOrientation: Desligar orientações automaticas
placeMultiple: Permanecer no modo de produção
placementDisableAutoOrientation: Desligar orientação automática
placeMultiple: Permanecer no modo de construção
placeInverse: Inverter orientação de esteira
pasteLastBlueprint: Paste last blueprint
massSelectCut: Cut area
exportScreenshot: Export whole Base as Image
pasteLastBlueprint: Colar último projeto
massSelectCut: Cortar área
exportScreenshot: Exportar base inteira como imagem
mapMoveFaster: Move Faster
about:
title: Sobre o jogo
body: >-
This game is open source and developed by <a href="https://github.com/tobspr"
target="_blank">Tobias Springer</a> (this is me).<br><br>
Esse jogo tem código aberto e é desenvolvido por <a href="https://github.com/tobspr"
target="_blank">Tobias Springer</a> (esse sou eu).<br><br>
If you want to contribute, check out <a href="<githublink>"
target="_blank">shapez.io on github</a>.<br><br>
Se quiser contribuir, confira <a href="<githublink>"
target="_blank">shapez.io no github</a>.<br><br>
This game wouldn't have been possible without the great discord community
around my games - You should really join the <a href="<discordlink>"
target="_blank">discord server</a>!<br><br>
O jogo não seria possível sem a comunidade incrível do discord sobre
os meus jogos - Junte-se à comunidade no <a href="<discordlink>"
target="_blank">servidor do discord</a>!<br><br>
The soundtrack was made by <a href="https://soundcloud.com/pettersumelius"
target="_blank">Peppsen</a> - He's awesome.<br><br>
A trilha sonora foi feita por <a href="https://soundcloud.com/pettersumelius"
target="_blank">Peppsen</a> - Ele é demais.<br><br>
Finally, huge thanks to my best friend <a
href="https://github.com/niklas-dahl" target="_blank">Niklas</a> - Without our
factorio sessions this game would never have existed.
Finalmente, agradeço muito ao meu melhor amigo
<a href="https://github.com/niklas-dahl" target="_blank">Niklas</a> - Sem nossas sessões de Factorio,
esse jogo nunca teria existido.
changelog:
title: Changelog
demo:
features:
restoringGames: Restaurando jogos salvos
importingGames: Carregando jogos salvos
oneGameLimit: Limitado para um savegamne
customizeKeybindings: Modificando Teclas
exportingBase: Exporting whole Base as Image
restoringGames: Restaurar jogos salvos
importingGames: Carregar jogos salvos
oneGameLimit: Limitado para um jogo salvo
customizeKeybindings: Modificar Teclas
exportingBase: Exportar base inteira como imagem
settingNotAvailable: Não disponível na versão demo.

View File

@ -21,7 +21,7 @@
steamPage:
# This is the short text appearing on the steam page
shortText: shapez.io é um jogo cujo objetivo é construir fábricas para automatizar a criação e combinação de formas geométricas cada vez mais complexas num mapa infinito.
shortText: shapez.io é um jogo cujo objetivo é construir fábricas para automatizar a criação e fusão de formas geométricas cada vez mais complexas num mapa infinito.
# This is the long description for the steam page - It is contained here so you can help to translate it, and I will regulary update the store page.
# NOTICE:
@ -30,9 +30,9 @@ steamPage:
longText: >-
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
shapez.io é um jogo cujo objetivo é construir fábricas para automatizar a criação e combinação de formas geométricas. Entrega as formas cada vez mais complexas que são pedidas de forma a progredir no jogo e desbloquear melhorias para acelerar a produção da tua fábrica
shapez.io é um jogo cujo objetivo é construir fábricas para automatizar a criação e fusão de formas geométricas. Entrega as formas pedidas, que são cada vez mais complexas, de modo a progredir no jogo e desbloquear melhorias para acelerar a produção da tua fábrica
Uma vez que a procura aumenta a cada nível, terás de aumentar a tua fábrica para fazer face às necessidades - Para isso, terás de expandir no [b]mapa infinito[/b] para explorar todos os recursos!
Uma vez que a procura aumenta a cada nível, terás de aumentar a tua fábrica para fazer face às necessidades - Para isso, terás de te expandir no [b]mapa infinito[/b] para explorar todos os recursos!
Como produzir formas se tornará aborrecido rapidamente, não tardará até precisares de misturar cores e pintá-las com elas - Combina os recursos de cores vermelha, verde e azul para produzir diferentes cores e usá-las para pintar as formas geométricas com o intuito de satisfazer a procura.
@ -47,7 +47,7 @@ steamPage:
[*] Modo escuro
[*] Mais definições
[*] Possibilita-me desenvolver ainda mais o shapez.io ❤️
[*] Mais conteúdo no futuro
[*] Mais conteúdo no futuro!
[/list]
[b]Conteúdo planeado & Sugestões da comunidade[/b]
@ -98,7 +98,7 @@ global:
# Short formats for times, e.g. '5h 23m'
secondsShort: <seconds>s
minutesAndSecondsShort: <minutes>m <seconds>s
hoursAndMinutesShort: <hours>h <minutes>s
hoursAndMinutesShort: <hours>h <minutes>m
xMinutes: <x> minutos
@ -126,7 +126,7 @@ mainMenu:
# This is shown when using firefox and other browsers which are not supported.
browserWarning: >-
Desculpa, mas este jogo parece correr mais lentamente no teu navegador! Compra o jogo completo ou baixa o chrome para a melhor experiência.
Desculpa, mas este jogo parece correr mais lentamente no teu navegador! Compra o jogo completo ou baixa o chrome para a melhorares a tua experiência.
savegameLevel: Nível <x>
savegameLevelUnknown: Nível desconhecido
@ -142,9 +142,9 @@ mainMenu:
<br><br>
Como fazer:<br>
<ul class="bucketList">
<li>Envia um screenshot da tua base para <strong>contest@shapez.io</strong></li>
<li>Envia uma captura de ecrã da tua base para <strong>contest@shapez.io</strong></li>
<li>Bónus se o partilhares nas redes sociais!</li>
<li>Eu escolherei 5 screenshots e propô-los-ei à comunidade do <strong>discord</strong> para votar.</li>
<li>Eu irei escolher 5 capturas de ecrã e propô-las-ei à comunidade do <strong>discord</strong> para votar.</li>
<li>O vencedor ganha <strong>$25</strong> (Paypal, Amazon Gift Card, ou o que preferires)</li>
<li>Prazo: 07.06.2020 12:00 AM CEST</li>
</ul>
@ -166,7 +166,7 @@ dialogs:
deleteGame: Eu sei o que faço
viewUpdate: Ver Update
showUpgrades: Mostrar Upgrades
showKeybindings: Mostrar Controlos
showKeybindings: Mostrar Atalhos
importSavegameError:
title: Erro de importação
@ -196,27 +196,27 @@ dialogs:
restartRequired:
title: Necessário reiniciar
text: >-
Deves reiniciar o jogo para aplicar as mudanças.
Precisas de reiniciar o jogo para aplicar as mudanças.
editKeybinding:
title: Mudar Keybinding
title: Mudar Atalhos
desc: Pressiona a tecla ou botão do rato que pretendes definir, ou Escape para cancelar.
resetKeybindingsConfirmation:
title: Resetar Keybindings
desc: Isto resetará todos os keybindings para os seus valores pré-definidos. Confirma por favor.
title: Resetar Atalhos
desc: Isto irá resetar todos os Atalhos para os seus valores pré-definidos. Confirma por favor.
keybindingsResetOk:
title: Keybindings resetados
desc: Os keybindings foram resetados para os respetivos valores pré-definidos!
title: Atalhos resetados
desc: Os Atalhos foram resetados para os respetivos valores pré-definidos!
featureRestriction:
title: Versão Demo
desc: Tentaste aceder a uma funcionalidade (<feature>) que não está disponivel no Demo. Considera adquirir o jogo completo para a melhor experiência!
desc: Tentaste aceder a uma funcionalidade (<feature>) que não está disponivel no Demo. Considera adquirir o jogo completo para a melhor experiência do jogo!
oneSavegameLimit:
title: Savegames limitados
desc: Podes ter apenas um savegame de cada vez na versão Demo. Por favor remove o savegame existente ou adquire a versão completa!
desc: Apenas podes ter um savegame de cada vez na versão Demo. Por favor remove o savegame existente ou adquire a versão completa!
updateSummary:
title: Nova atualização!
@ -235,36 +235,35 @@ dialogs:
Estás a apagar muitas construções (<count> para ser exato)! Tens a certeza?
blueprintsNotUnlocked:
title: Não desbloqueado ainda
title: Ainda não está desbloqueado
desc: >-
Os Projetos ainda não foram desbloqueados! Completa mais níveis para os desbloquear.
keybindingsIntroduction:
title: Keybindings úteis
title: Atalhos úteis
desc: >-
Este jogo tem vários keybindings que tornarão mais fácil a construção de grandes fábricas.
Aqui estão alguns, mas <strong>verifica as restantes keybindings</strong>!<br><br>
Este jogo tem vários Atalhos que tornarão mais fácil a construção de grandes fábricas.
Aqui estão alguns, mas <strong>verifica os restantes Atalhos</strong>!<br><br>
<code class='keybinding'>CTRL</code> + Drag: Seleciona a área para copiar / eliminar.<br>
<code class='keybinding'>SHIFT</code>: Mantém pressionado para colocar várias construções.<br>
<code class='keybinding'>ALT</code>: Inverte as posições.<br>
createMarker:
title: Novo marco
desc: Dá-lhe um nome com significado
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: Apenas podes criar dois marcos na versão Demo. Adquire o jogo completo para colocar marcos infinitos!
massCutConfirm:
title: Confirm cut
title: Confirmar corte
desc: >-
You are cutting a lot of buildings (<count> to be exact)! Are you sure you
want to do this?
Estás a cortar muitas construções (<count> para ser exato)! Tens a certeza?
exportScreenshotWarning:
title: Export screenshot
title: Exportar captura de ecrã
desc: >-
You requested to export your base as a screenshot. Please note that this can
be quite slow for a big base and even crash your game!
Tu estás a pedir pra exportar a tua base como uma captura de ecrã. Por favor tem em atenção que isto pode
ser um pouco lento para uma base muito grande até mesmo bloquear o teu jogo!
ingame:
# This is shown in the top left corner and displays useful keybindings in
@ -272,8 +271,8 @@ ingame:
keybindingsOverlay:
moveMap: Mover
selectBuildings: Selecionar área
stopPlacement: Parar
rotateBuilding: Rodar
stopPlacement: Parar posicionamento
rotateBuilding: Rodar construção
placeMultiple: Colocar vários
reverseOrientation: Reverter orientação
disableAutoOrientation: Desligar orientação automática
@ -281,7 +280,7 @@ ingame:
placeBuilding: Colocar construção
createMarker: Criar marco
delete: Destruir
pasteLastBlueprint: Paste last blueprint
pasteLastBlueprint: Colar o último blueprint
# Everything related to placing buildings (I.e. as soon as you selected a building
# from the toolbar)
@ -299,7 +298,7 @@ ingame:
range: Alcance
storage: Armazenamento
oneItemPerSecond: 1 item / segundo
itemsPerSecond: <x> items / s
itemsPerSecond: <x> itens / s
itemsPerSecondDouble: (x2)
tiles: <x> telas
@ -320,7 +319,7 @@ ingame:
# Mass select information, this is when you hold CTRL and then drag with your mouse
# to select multiple buildings
massSelect:
infoText: Press <keyCut> to cut, <keyCopy> to copy, <keyDelete> to remove and <keyCancel> to cancel.
infoText: Clica <keyCut> para cortar, <keyCopy> para copiar, <keyDelete> para remover e <keyCancel> para cancelar.
# The "Upgrades" window
shop:
@ -391,7 +390,7 @@ ingame:
Liga o extrator a um <strong>tapete rolante</strong> em direção ao Edifício Central!<br><br>Dica: <strong>Clica e arrasta</strong> o tapete com o rato!
1_3_expand: >-
Isto <strong>NÃO</strong> é um idle game! Constrói mais extratores e tapetes para atingir o objetivo mais rapidamente.<br><br>Dica: Pressiona <strong>SHIFT</strong> para colocar vários extratores, e usa <strong>R</strong> para os rodar.
Isto <strong>NÃO</strong> é um jogo idle! Constrói mais extratores e tapetes para atingir o objetivo mais rapidamente.<br><br>Dica: Pressiona <strong>SHIFT</strong> para colocar vários extratores, e usa <strong>R</strong> para os rodar.
# All shop upgrades
shopUpgrades:
@ -436,7 +435,7 @@ buildings:
splitter: # Internal name for the Balancer
default:
name: &splitter Distribuidor
description: Multifunções - Distribui igualmente todos os inputs por todos os outputs.
description: Multifunções - Distribui igualmente todas as entradas por todas as saídas.
compact:
name: Misturador (compacto)
@ -449,10 +448,10 @@ buildings:
cutter:
default:
name: &cutter Cortador
description: Corta formas geométricas de cima para baixo e produz duas metades. <strong>Se apenas usares uma parte, certifica-te de que destrois a outra parte de forma a não encravar a produção!</strong>
description: Corta as formas geométricas de cima para baixo e produz duas metades. <strong>Se apenas usares uma parte, certifica-te de que destrois a outra parte de forma a não encravar a produção!</strong>
quad:
name: Cortador (Quádruplo)
description: Corta formas geométricas de cima para baixo e produz duas metades. <strong>Se apenas usares uma parte, certifica-te de que destrois a outra parte de forma a não encravar a produção!</strong>
description: Corta as formas geométricas em quatro partes. <strong>Se apenas usares uma parte, certifica-te de que destrois as outras partes de forma a não encravar a produção!</strong>
rotater:
default:
@ -465,7 +464,7 @@ buildings:
stacker:
default:
name: &stacker Empilhador
description: Empilha os dois inputs. Se não podem ser empilhados, o item da direita será colocado em cima do item da esquerda.
description: Empilha dois itens. Se não podem ser empilhados, o item da direita será colocado em cima do item da esquerda.
mixer:
default:
@ -475,10 +474,10 @@ buildings:
painter:
default:
name: &painter Pintor
description: Pinta a forma geométrica do input esquerdo com a cor do input direito.
description: Pinta a forma geométrica da entrada esquerda com a cor da entrada superior.
double:
name: Pintor (Duplo)
description: Pinta as formas geométricas dos inputs esquerdos com a cor do input superior.
description: Pinta as formas geométricas das entradas esquerdas com a cor da entrada superior.
quad:
name: Pintor (Quádruplo)
description: Pinta cada quadrante da forma geométrica com uma cor diferente.
@ -486,11 +485,11 @@ buildings:
trash:
default:
name: &trash Lixo
description: Aceita inputs de todos os lados e destrói-os. Para sempre.
description: Aceita entradas de todos os lados e destrói-os. Para sempre.
storage:
name: Armazém
description: Armazena items em excesso até uma determinada capacidade. Pode ser usado como uma porta de transbordamento.
description: Armazena items em excesso até uma determinada capacidade. Pode ser usado como uma porta de transbordo.
hub:
deliver: Entrega
toUnlock: para desbloquear
@ -500,7 +499,7 @@ storyRewards:
# Those are the rewards gained from completing the store
reward_cutter_and_trash:
title: Corte de formas
desc: Acabaste de desbloquear o <strong>Cortador</strong> - ele corta as formas geométricas ao meio de <strong>cima para baixo</strong> independentemente da orientação!<br><br>Certifica-te de que te livras do desperdício, caso contrário <strong>empancará</strong> - Para isso, dou-te um lixo, que destruirá tudo o que lá colocares!
desc: Acabaste de desbloquear o <strong>Cortador</strong> - ele corta as formas geométricas ao meio de <strong>cima para baixo</strong> independentemente da orientação!<br><br>Certifica-te de que te livras do desperdício, caso contrário <strong>encravará</strong> - Para isso, dou-te um lixo, que destruirá tudo o que lá colocares!
reward_rotater:
title: Rotação
@ -509,15 +508,15 @@ storyRewards:
reward_painter:
title: Pintura
desc: >-
O <strong>Pintor</strong> foi desbloqueado - Extrai alguns veios coloridos (tal como fazes com as formas) e combina-os com uma forma no pintor para a colorir!<br><br>PS: Se fores daltónico, já estou a trabalhar para encontrar uma solução!
O <strong>Pintor</strong> foi desbloqueado - Extrai alguns pigmentos coloridos (tal como fazes com as formas) e combina-os com uma forma no pintor para a colorir!<br><br>PS: Se fores daltónico, já estou a trabalhar para encontrar uma solução!
reward_mixer:
title: Mistura de Cores
desc: O <strong>Misturador</strong> foi desbloqueado - Combina duas cores através de <strong>mistura aditiva</strong> com esta construção!
reward_stacker:
title: Empilhar
desc: Agora podes combinar formas geométricas com o <strong>Combinador</strong>! Ambos os inputs são combinados e, se puderem ser colocados lado-a-lado, serão <strong>fundidos</strong>. Caso contrário, o input da direita é <strong>empilhado em cima</strong> do da esquerda!
title: Combinador
desc: Agora podes combinar formas geométricas com o <strong>Combinador</strong>! Ambas as entradas são combinados e, se puderem ser colocados lado-a-lado, serão <strong>fundidas</strong>. Caso contrário, a entrada da direita é <strong>empilhada em cima</strong> da da esquerda!
reward_splitter:
title: Distribuidor/Misturador
@ -525,7 +524,7 @@ storyRewards:
reward_tunnel:
title: Túnel
desc: O <strong>Túnel</strong> foi desbloqueado - Com ele podes passar items através de tapetes e construções!
desc: O <strong>Túnel</strong> foi desbloqueado - Com ele podes passar itens através de tapetes e construções!
reward_rotater_ccw:
title: Rotação CCW
@ -540,9 +539,9 @@ storyRewards:
desc: Desbloqueaste uma nova variante do <strong>Túnel</strong> - Tem um <strong>maior alcance</strong>, e podes interlaçar as duas variantes entre si!
reward_splitter_compact:
title: Distribuição
title: Distribuidor compacto
desc: >-
Desbloqueaste uma variante compacta do <strong>Distribuidor</strong> - Aceita dois inputs e junta-os num só!
Desbloqueaste uma variante compacta do <strong>Distribuidor</strong> - Aceita duas entradas e junta-as numa só!
reward_cutter_quad:
title: Corte quádruplo
@ -566,7 +565,7 @@ storyRewards:
reward_blueprints:
title: Projetos
desc: Agora podes <strong>copiar e colar</strong> partes da tua fábrica! Seleciona uma área (Prime CTRL e arrasta com o rato), e prime 'C' para copiar.<br><br>Colar não é <strong>gratuito</strong>, precisas de produzir <strong>formas projeto</strong> para o pagares! (Aquelas que acabaste de entregar).
desc: Agora podes <strong>copiar e colar</strong> partes da tua fábrica! Seleciona uma área (Mantém pressionado CTRL e arrasta com o rato), e pressiona 'C' para copiar.<br><br>Colar não é <strong>gratuito</strong>, precisas de produzir <strong>formas projeto</strong> para o pagares! (Aquelas que acabaste de entregar).
# Special reward, which is shown when there is no reward actually
no_reward:
@ -625,12 +624,12 @@ settings:
É recomendado jogar o jogo em ecrã inteiro para a melhor experiência. Apenas disponível no jogo completo.
soundsMuted:
title: Mutar sons
title: Desativar sons
description: >-
Se ativado, desativa todos os sons.
musicMuted:
title: Mutar música
title: Desativar música
description: >-
Se ativado, desativa todas as músicas.
@ -659,31 +658,31 @@ settings:
Se ativado, dá dicas e tutoriais de apoio ao jogo. Adicionalmente, esconde certos elementos da interface do utilizador até ao nível em que são desbloqueados de forma a simplificar o início do jogo.
movementSpeed:
title: Movement speed
description: Changes how fast the view moves when using the keyboard.
title: Velociade de movimentação
description: Define quão rápida é a movimentação usando o teclado.
speeds:
super_slow: Super slow
slow: Slow
regular: Regular
fast: Fast
super_fast: Super Fast
extremely_fast: Extremely Fast
super_slow: Muito lenta
slow: Lenta
regular: Média
fast: Rápiada
super_fast: Muito rádida
extremely_fast: Extremamente rápida
keybindings:
title: Keybindings
title: Atalhos
hint: >-
Tip: Utiliza o CTRL, o SHIFT e o ALT! Eles permitem diferentes opções de colocação.
Tip: Utiliza o CTRL, o SHIFT e o ALT! Eles permitem diferentes opções de posicionamento.
resetKeybindings: Resetar Keybindings
resetKeybindings: Resetar Atalhos
categoryLabels:
general: Aplicação
ingame: Jogo
navigation: Navegação
placement: Colocação
placement: Posicionamento
massSelect: Seleção em massa
buildings: Atalhos de construções
placementModifiers: Modificadores de colocação
placementModifiers: Modificadores de posicionamento
mappings:
confirm: Confirmar
@ -714,7 +713,7 @@ keybindings:
painter: *painter
trash: *trash
abortBuildingPlacement: Cancelar
abortBuildingPlacement: Cancelar posicionamento
rotateWhilePlacing: Rotação
rotateInverseModifier: >-
Modifier: Rotação CCW
@ -729,28 +728,29 @@ keybindings:
placementDisableAutoOrientation: Desativa orientação automática
placeMultiple: Continuar no modo de colocação
placeInverse: Inverter orientação automática do tapete
pasteLastBlueprint: Paste last blueprint
massSelectCut: Cut area
exportScreenshot: Export whole Base as Image
pasteLastBlueprint: Colar o último blueprint
massSelectCut: Cortar área
exportScreenshot: Exportar a base como uma imagem
mapMoveFaster: Move Faster
about:
title: Sobre o jogo
body: >-
This game is open source and developed by <a href="https://github.com/tobspr"
target="_blank">Tobias Springer</a> (this is me).<br><br>
Este jogo é código aberto e desenvolvido por <a href="https://github.com/tobspr"
target="_blank">Tobias Springer</a> (este sou eu).<br><br>
If you want to contribute, check out <a href="<githublink>"
target="_blank">shapez.io on github</a>.<br><br>
Se quiseres contribuir, dá uma olhadela em <a href="<githublink>"
target="_blank">shapez.io no github</a>.<br><br>
This game wouldn't have been possible without the great discord community
around my games - You should really join the <a href="<discordlink>"
target="_blank">discord server</a>!<br><br>
Este Jogo não seria possível sem a excelente comunidade do discord
em torno dos meus jogos - Devias mesmo juntar-te ao <a href="<discordlink>"
target="_blank">servidor no discord</a>!<br><br>
The soundtrack was made by <a href="https://soundcloud.com/pettersumelius"
target="_blank">Peppsen</a> - He's awesome.<br><br>
The soundtrack foi feita por <a href="https://soundcloud.com/pettersumelius"
target="_blank">Peppsen</a> - Ele é Fantástico.<br><br>
Finally, huge thanks to my best friend <a
href="https://github.com/niklas-dahl" target="_blank">Niklas</a> - Without our
factorio sessions this game would never have existed.
Finalmente, um grande agradecimento ao meu melhor amigo <a
href="https://github.com/niklas-dahl" target="_blank">Niklas</a> - Sem as nossas
sessões de factorio este jogo nunca teria existido.
changelog:
title: Changelog
@ -760,7 +760,7 @@ demo:
restoringGames: Restauro de savegames
importingGames: Importação de savegames
oneGameLimit: Limitado a um savegame
customizeKeybindings: Costumizar Keybindings
exportingBase: Exporting whole Base as Image
customizeKeybindings: Costumizar Atalhos
exportingBase: Exportar base como uma imagem
settingNotAvailable: Não disponível no Demo.

View File

@ -250,7 +250,7 @@ dialogs:
createMarker:
title: New Marker
desc: Give it a meaningful name
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
@ -732,6 +732,7 @@ keybindings:
pasteLastBlueprint: Paste last blueprint
massSelectCut: Cut area
exportScreenshot: Export whole Base as Image
mapMoveFaster: Move Faster
about:
title: About this Game

View File

@ -227,7 +227,7 @@ dialogs:
title: Улучшения открыты!
desc: >-
Все формы, которые вы производите, могут быть использованы для разблокировки
улучшений - <strong>Не разрушайте свои старые фабрики!</strong>
улучшений - <strong>Не разрушайте свои старые фабрики!</strong>
Вкладка обновлений находится в правом верхнем углу экрана.
massDeleteConfirm:
title: Подтвердить удаление
@ -250,21 +250,21 @@ dialogs:
createMarker:
title: Новый маркер
desc: Напишите содержательное имя.
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: Вы можете создать только 2 своих маркера в демо версии. Приобретите полную версию для безлимитных маркеров.
massCutConfirm:
title: Подтвердите вырезку
desc: >-
Вы вырезаете много зданий (точнее: <count>)! Вы уверены,
Вы вырезаете много зданий (точнее: <count>)! Вы уверены,
что хотите это сделать?
exportScreenshotWarning:
title: Экспорт скриншота
desc: >-
Вы запросили экспортировать вашу базу в виде скриншота. Обратите внимание,
что это может быть довольно медленным процессом для большой базы
что это может быть довольно медленным процессом для большой базы
и даже привести к аварийному завершению игры!
ingame:
@ -733,6 +733,7 @@ keybindings:
pasteLastBlueprint: Вставить последний чертеж
massSelectCut: Вырезать область
exportScreenshot: Экспорт всей Базы в виде Изображения
mapMoveFaster: Move Faster
about:
title: О игре
@ -751,7 +752,7 @@ about:
target="_blank">Peppsen</a> - Он потрясающий.<br><br>
Наконец, огромное спасибо моему лучшему другу <a
href="https://github.com/niklas-dahl" target="_blank">Niklas</a> - Без наших
href="https://github.com/niklas-dahl" target="_blank">Niklas</a> - Без наших
игровых сессий в factorio эта игра никогда не существовала бы.
changelog:

View File

@ -250,7 +250,7 @@ dialogs:
createMarker:
title: New Marker
desc: Give it a meaningful name
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
@ -732,6 +732,7 @@ keybindings:
pasteLastBlueprint: Paste last blueprint
massSelectCut: Cut area
exportScreenshot: Export whole Base as Image
mapMoveFaster: Move Faster
about:
title: About this Game

View File

@ -250,7 +250,7 @@ dialogs:
createMarker:
title: New Marker
desc: Give it a meaningful name
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
@ -733,6 +733,7 @@ keybindings:
pasteLastBlueprint: Paste last blueprint
massSelectCut: Cut area
exportScreenshot: Export whole Base as Image
mapMoveFaster: Move Faster
about:
title: About this Game

View File

@ -250,7 +250,7 @@ dialogs:
createMarker:
title: New Marker
desc: Give it a meaningful name
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
@ -732,6 +732,7 @@ keybindings:
pasteLastBlueprint: Paste last blueprint
massSelectCut: Cut area
exportScreenshot: Export whole Base as Image
mapMoveFaster: Move Faster
about:
title: About this Game

View File

@ -250,7 +250,7 @@ dialogs:
createMarker:
title: New Marker
desc: Give it a meaningful name
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
@ -732,6 +732,7 @@ keybindings:
pasteLastBlueprint: Paste last blueprint
massSelectCut: Cut area
exportScreenshot: Export whole Base as Image
mapMoveFaster: Move Faster
about:
title: About this Game

View File

@ -1 +1 @@
1.1.11
1.1.14