Commit Graph

205 Commits

Author SHA1 Message Date
tobspr 679e7f168c Fix crash when replacing wire-layer buildings 2022-02-25 15:56:33 +01:00
tobspr 556caed760 Pass variant and rotationVariant to getIsReplaceable 2022-02-22 16:37:55 +01:00
Thomas (DJ1TJOO) d7c2ca874f
Added a can process hook (#1382)
* Added mod processing requirements

* Added missing bind

* Renamed to mods

* Added can process

* Squashed commit of the following:

commit ea2f32b3ff
Author: tobspr <tobias.springer1@googlemail.com>
Date:   Tue Feb 15 09:09:30 2022 +0100

    Fix examples

commit 561318b7db
Author: Dimava <dimava2@ya.ru>
Date:   Tue Feb 15 10:31:47 2022 +0300

    mark all abstract functions abstract (#1383)

commit 81d65e5801
Author: WaffleDevsAlt <81845843+WaffleDevsAlt@users.noreply.github.com>
Date:   Tue Feb 15 02:31:02 2022 -0500

    Removes unwanted ], (#1384)

    The ], breaks build, with a core error

commit 4f0af32a5e
Author: Ved_s <53968411+Ved-s@users.noreply.github.com>
Date:   Mon Feb 14 07:14:34 2022 +1100

    Update base-ru.yaml (#1312)

    * Update base-ru.yaml

    I think other's comments about the game should stay in English, as Russian translation cannot precisely describe this

    * Update base-ru.yaml

commit 3f3a2e0981
Author: Daan Breur <git@daanbreur.systems>
Date:   Sun Feb 13 21:11:52 2022 +0100

    NL Translations for Mods and puzzleDLC (#1381)

    * [NL] Mods and puzzleDLC

    * Update base-nl.yaml

    * Update base-nl.yaml

commit c4f26320a4
Author: dobidon <35607008+dobidon@users.noreply.github.com>
Date:   Sun Feb 13 23:11:38 2022 +0300

    Translating new keys (#1380)

commit cb5c3f798a
Author: Pimak <37274338+Pimak@users.noreply.github.com>
Date:   Sun Feb 13 21:11:16 2022 +0100

    Update base-fr.yaml for mods translation (#1377)

commit dee4f23b7e
Author: Sense101 <67970865+Sense101@users.noreply.github.com>
Date:   Sun Feb 13 20:11:02 2022 +0000

    Fix method for adding variants to an existing building (#1378)

commit b7bc2ac1b7
Author: jbelbaz <32191774+jbelbaz@users.noreply.github.com>
Date:   Sun Feb 13 21:10:11 2022 +0100

    Update base-fr.yaml (#1328)

    Change of a few lines in English. I was unable to verify in-game integration ... I hope my work will fit.
    glad to help :D

commit 93b9340ab7
Author: Pimak <37274338+Pimak@users.noreply.github.com>
Date:   Sun Feb 13 21:09:56 2022 +0100

    Update README.md (#1376)

    Small mistake

commit f534a88f80
Author: Bagel03 <70449196+Bagel03@users.noreply.github.com>
Date:   Sun Feb 13 15:09:41 2022 -0500

    Fix that whole export debacle (#1370)

    * Re-add setting exports

    * Update webpack.production.config.js

    * Update mod.js

    * Slight change

    * Update mod.js

    * Update webpack.production.config.js

    * Update webpack.config.js

commit dab4aa9cda
Author: Emerald Block <69981203+EmeraldBlock@users.noreply.github.com>
Date:   Sun Feb 13 14:07:02 2022 -0600

    fix fs-job sanitization (#1375)

commit 4466821557
Author: Thomas (DJ1TJOO) <44841260+DJ1TJOO@users.noreply.github.com>
Date:   Sun Feb 13 21:06:42 2022 +0100

    Added display hook for getting the signelton and the drawing (#1374)

commit 65ae26cb53
Author: Thomas (DJ1TJOO) <44841260+DJ1TJOO@users.noreply.github.com>
Date:   Sun Feb 13 21:06:24 2022 +0100

    Added hook for storage can accept item (#1373)

    * Added hook for storage can accept item

    * Fixed order

commit e5742fd577
Author: Thomas (DJ1TJOO) <44841260+DJ1TJOO@users.noreply.github.com>
Date:   Sun Feb 13 21:06:10 2022 +0100

    Added constant signal resolver hook (#1372)

    * Added constant signal resolver hook

    * Added apply

commit 41c6b1c595
Author: Thomas (DJ1TJOO) <44841260+DJ1TJOO@users.noreply.github.com>
Date:   Sun Feb 13 21:05:58 2022 +0100

    Added mod processing requirements (#1371)

    * Added mod processing requirements

    * Added missing bind

    * Renamed to mods
2022-02-15 18:05:53 +01:00
Thomas (DJ1TJOO) 4466821557
Added display hook for getting the signelton and the drawing (#1374) 2022-02-13 21:06:42 +01:00
Thomas (DJ1TJOO) 41c6b1c595
Added mod processing requirements (#1371)
* Added mod processing requirements

* Added missing bind

* Renamed to mods
2022-02-13 21:05:58 +01:00
tobspr c41aaa1fc5
Mod Support - 1.5.0 Update (#1361)
* initial modloader draft

* modloader features

* Refactor mods to use signals

* Add support for modifying and registering new transltions

* Minor adjustments

* Support for string building ids for mods

* Initial support for adding new buildings

* Refactor how mods are loaded to resolve circular dependencies and prepare for future mod loading

* Lazy Load mods to make sure all dependencies are loaded

* Expose all exported members automatically to mods

* Fix duplicate exports

* Allow loading mods from standalone

* update changelog

* Fix mods folder incorrect path

* Fix modloading in standalone

* Fix sprites not getting replaced, update demo mod

* Load dev mod via raw loader

* Improve mod developing so mods are directly ready to be deployed, load mods from local file server

* Proper mods ui

* Allow mods to register game systems and draw stuff

* Change mods path

* Fix sprites not loading

* Minor adjustments, closes #1333

* Add support for loading atlases via mods

* Add support for loading mods from external sources in DEV

* Add confirmation when loading mods

* Fix circular dependency

* Minor Keybindings refactor, add support for keybindings to mods, add support for dialogs to mods

* Add some mod signals

* refactor game loading states

* Make shapez exports global

* Start to make mods safer

* Refactor file system electron event handling

* Properly isolate electron renderer process

* Update to latest electron

* Show errors when loading mods

* Update confirm dialgo

* Minor restructure, start to add mod examples

* Allow adding custom themesw

* Add more examples and allow defining custom item processor operations

* Add interface to register new buildings

* Fixed typescript type errors (#1335)

* Refactor building registry, make it easier for mods to add new buildings

* Allow overriding existing methods

* Add more examples and more features

* More mod examples

* Make mod loading simpler

* Add example how to add custom drawings

* Remove unused code

* Minor modloader adjustments

* Support for rotation variants in mods (was broken previously)

* Allow mods to replace builtin sub shapes

* Add helper methods to extend classes

* Fix menu bar on mac os

* Remember window state

* Add support for paste signals

* Add example how to add custom components and systems

* Support for mod settings

* Add example for adding a new item type

* Update class extensions

* Minor adjustments

* Fix typo

* Add notification blocks mod example

* Add small tutorial

* Update readme

* Add better instructions

* Update JSDoc for Replacing Methods (#1336)

* upgraded types for overriding methods

* updated comments

Co-authored-by: Edward Badel <you@example.com>

* Direction lock now indicates when there is a building inbetween

* Fix mod examples

* Fix linter error

* Game state register (#1341)

* Added a gamestate register helper

Added a gamestate register helper

* Update mod_interface.js

* export build options

* Fix runBeforeMethod and runAfterMethod

* Minor game system code cleanup

* Belt path drawing optimization

* Fix belt path optimization

* Belt drawing improvements, again

* Do not render belts in statics disabled view

* Allow external URL to load more than one mod (#1337)

* Allow external URL to load more than one mod

Instead of loading the text returned from the remote server, load a JSON object with a `mods` field, containing strings of all the mods. This lets us work on more than one mod at a time or without separate repos. This will break tooling such as `create-shapezio-mod` though.

* Update modloader.js

* Prettier fixes

* Added link to create-shapezio-mod npm page (#1339)

Added link to create-shapezio-mod npm page: https://www.npmjs.com/package/create-shapezio-mod

* allow command line switch to load more than one mod (#1342)

* Fixed class handle type (#1345)

* Fixed class handle type

* Fixed import game state

* Minor adjustments

* Refactor item acceptor to allow only single direction slots

* Allow specifying minimumGameVersion

* Add sandbox example

* Replaced concatenated strings with template literals (#1347)

* Mod improvements

* Make wired pins component optional on the storage

* Fix mod examples

* Bind `this` for method overriding JSDoc (#1352)

* fix entity debugger reaching HTML elements (#1353)

* Store mods in savegame and show warning when it differs

* Closes #1357

* Fix All Shapez Exports Being Const (#1358)

* Allowed setting of variables inside webpack modules

* remove console log

* Fix stringification of things inside of eval

Co-authored-by: Edward Badel <you@example.com>

* Fix building placer intersection warning

* Add example for storing data in the savegame

* Fix double painter bug (#1349)

* Add example on how to extend builtin buildings

* update readme

* Disable steam achievements when playing with mods

* Update translations

Co-authored-by: Thomas (DJ1TJOO) <44841260+DJ1TJOO@users.noreply.github.com>
Co-authored-by: Bagel03 <70449196+Bagel03@users.noreply.github.com>
Co-authored-by: Edward Badel <you@example.com>
Co-authored-by: Emerald Block <69981203+EmeraldBlock@users.noreply.github.com>
Co-authored-by: saile515 <63782477+saile515@users.noreply.github.com>
Co-authored-by: Sense101 <67970865+Sense101@users.noreply.github.com>
2022-02-01 16:35:49 +01:00
tobspr 358754307a Fix balancers 2021-08-29 14:43:13 +02:00
Sense101 4b36426a77
Added shape tooltip - final version (#1251)
* Added shape tooltip

* Shortened and simplified shape tooltip code

* added special logic for cutters so they remove overlays of empty outputs, and added clearing overlays on clear items
2021-08-25 11:56:29 +02:00
tobspr d8b34ca438 Minor PR adjustments 2021-08-04 12:49:01 +02:00
PFedak e4f02abeb3
Simplify item processor slot logic. (#1257)
Track input slot assignment by array index rather than including extra
data in a new object. This greatly reduces the amount of garbage
generated by tryTakeItem and other item process operations.
2021-08-04 12:34:15 +02:00
Emerald Block 0a15958af9
Highlight focused text inputs, Show old signal (#1255)
* provide previous key when editing signal

* highlight text in focused text input
2021-08-04 12:19:58 +02:00
Sense101 5fb7bb0586
Minor goal acceptor adjustments to help prevent backing up belts to complete (#1236)
* added the new splitter

* Update base-en.yaml

* added the new splitter

Update changelog and update translation regarding 20 upgrade tiers, closes #907

* Update base-en.yaml

* minor goal acceptor adjustments to help prevent backing up belts to complete

* removed gap between completion and fill as it doesn't look nice

* removed api override

* fixed mistake with fill percentage

* Allowed for copying acceptors to remember the required shape

* further adjusted required items, so it looks a bit nicer
2021-06-25 16:16:09 +02:00
tobspr 7b18d54cbe Minor PR adjustments 2021-06-24 19:13:21 +02:00
Sense101 6efbdc6ad1
Fix for cheating puzzles by quickly switching belts (#1226)
* added the new splitter

* Update base-en.yaml

* adjusted how acceptor works to fix macro

* fixed a minor bug

* applied changes to the puzzle-editor-review script

* minor cleanups
2021-06-24 18:39:50 +02:00
tobspr 8149ba875b Minor artwork adjustments 2021-06-19 17:46:28 +02:00
tobspr 65721e0837 Fix savegame bugs 2021-05-24 16:47:36 +02:00
tobspr 931c8a5821
Puzzle DLC (#1172)
* Puzzle mode (#1135)

* Add mode button to main menu

* [WIP] Add mode menu. Add factory-based gameMode creation

* Add savefile migration, serialize, deserialize

* Add hidden HUD elements, zone, and zoom, boundary constraints

* Clean up lint issues

* Add building, HUD exclusion, building exclusion, and refactor

- [WIP] Add ConstantProducer building that combines ConstantSignal
and ItemProducer functionality. Currently using temp assets.
- Add pre-placement check to the zone
- Use Rectangles for zone and boundary
- Simplify zone drawing
- Account for exclusion in savegame data
- [WIP] Add puzzle play and edit buttons in puzzle mode menu

* [WIP] Add building, component, and systems for producing and
accepting user-specified items and checking goal criteria

* Add ingame puzzle mode UI elements

- Add minimal menus in puzzle mode for back, next navigation
- Add lower menu for changing zone dimenensions

Co-authored-by: Greg Considine <gconsidine@users.noreply.github.com>

* Performance optimizations (#1154)

* 1.3.1 preparations

* Minor fixes, update translations

* Fix achievements not working

* Lots of belt optimizations, ~15% performance boost

* Puzzle mode, part 1

* Puzzle mode, part 2

* Fix missing import

* Puzzle mode, part 3

* Fix typo

* Puzzle mode, part 4

* Puzzle Mode fixes: Correct zone restrictions and more (#1155)

* Hide Puzzle Editor Controls in regular game mode, fix typo

* Disallow shrinking zone if there are buildings

* Fix multi-tile buildings for shrinking

* Puzzle mode, Refactor hud

* Puzzle mode

* Fixed typo in latest puzzle commit (#1156)

* Allow completing puzzles

* Puzzle mode, almost done

* Bump version to 1.4.0

* Fixes

* [puzzle] Prevent pipette cheats (miners, emitters) (#1158)

* Puzzle mode, almost done

* Allow clearing belts with 'B'

* Multiple users for the puzzle dlc

* Bump api key

* Minor adjustments

* Update

* Minor fixes

* Fix throughput

* Fix belts

* Minor puzzle adjustments

* New difficulty

* Minor puzzle improvements

* Fix belt path

* Update translations

* Added a button to return to the menu after a puzzle is completed (#1170)

* added another button to return to the menu

* improved menu return

* fixed continue button to not go back to menu

* [Puzzle] Added ability to lock buildings in the puzzle editor! (#1164)

* initial test

* tried to get it to work

* added icon

* added test exclusion

* reverted css

* completed flow for building locking

* added lock option

* finalized look and changed locked building to same sprite

* removed unused art

* added clearing every goal acceptor on lock to prevent creating impossible puzzles

* heavily improved validation and prevented autocompletion

* validation only checks every 100 ticks to improve performance

* validation only checks every 100 ticks to improve performance

* removed clearing goal acceptors as it isn't needed because of validation

* Add soundtrack, puzzle dlc fixes

Co-authored-by: Greg Considine <gconsidine@users.noreply.github.com>
Co-authored-by: dengr1065 <dengr1065@gmail.com>
Co-authored-by: Sense101 <67970865+Sense101@users.noreply.github.com>
2021-05-23 16:32:05 +02:00
Greg Considine 26b842494f
Achievements (#1087)
* [WIP] Add boilerplate for achievement implementation

* Add config.local.template.js and rm cached copy of config.local.js

* [WIP] Implement painting, cutting, rotating achievements (to log only)

* [WIP] Refactor achievements, jsdoc fixes, add npm script

- Refactor achievements to make use of Signals
- Move implemented achievement interfaces to appropriate
platform folders (SteamAchievements in currently in use
in browser wrapper for testing)
- Fix invalid jsdocs
- Add dev-standalone script to package.json scripts

* Add steam/greenworks IPC calls and optional private-artifact dependency

* Include private artifacts in standalone builds

* Uncomment appid include

* [WIP] Add steam overlay fix, add hash to artifact dependency

* Update electron, greenworks. Add task to add local config if not present

* Add more achievements, refactor achievement code

* Add receiver flexibility and more achievements
- Add check to see if necessary to create achievement and add receiver
- Add remove receiver functionality when achievement is unlocked

* Add achievements and accommodations for switching states
- Fix startup code to avoid clobbering achievements on state switch
- Add a few more achievements

* Add achievements, ids. Update names, keys for consistency

* Add play time achievements

* [WIP] Add more achievements

* Add more achievements. Add bulk achievement check signal

* [WIP] Add achievements. Start savefile migration

* Add achievements. Add savefile migration

* Remove superfluous achievement stat

* Update lock files, fix merge conflict
2021-03-10 07:33:39 +01:00
tobspr aa2b64eae5 Fix items overlapping sometimes, fix constant signal being editable 2020-12-09 10:41:49 +01:00
tobspr 01733c48a3 Prevent items from being rendered on each other when a belt stalls, closes #1000 2020-12-07 19:24:39 +01:00
tobspr 82aaf7f037 Add ability to edit constant signals, bump version 2020-12-07 12:47:19 +01:00
LeopoldTal 070245270f
Use locale decimal separator on belt reader display (#816)
* use locale decimal separator on belt reader display

* rename formatter method
2020-10-31 10:15:45 +01:00
EmeraldBlock 868f9bc06a
Fix reader cap (#810) 2020-10-10 19:36:08 +02:00
tobspr 8260edb373 Get rid of some todos / fixmes 2020-10-08 19:47:27 +02:00
tobspr bc5ffcddd1 Change rotator, improve artwork 2020-10-07 19:02:42 +02:00
tobspr fa27d1681f Cleanup IS_DEMO flags and introduce Restriction Manager 2020-10-07 09:48:31 +02:00
tobspr 94266173d8 Introduce game modes and get rid of global level definitions etc 2020-10-07 08:36:02 +02:00
tobspr 5a3807883e Update demo hint and lock demo to lvl 14 2020-09-29 16:46:29 +02:00
tobspr db6db7caca Add sandbox building, restructure levels, show pinned shapes in constant signal dialog 2020-09-29 10:52:25 +02:00
LeopoldTal c9d260f65e
Fix lint (#688)
* trim trailing space in Greek translation

* add missing type imports

* remove unused arg

* remove duplicate declaration
2020-09-28 12:42:15 +02:00
tobspr d4617edad5 Rework constant signal dialog 2020-09-28 12:17:13 +02:00
tobspr 4f6d9785c1 Add final shapes and upgrades until tier 20 2020-09-28 10:54:21 +02:00
tobspr d27e9226be Re-balance, fixes, etc etc 2020-09-27 22:22:05 +02:00
tobspr c54ec9fd2a Restructure buildings 2020-09-24 12:53:40 +02:00
tobspr 1f12e755a9 Load css resources async, improve building descriptions 2020-09-23 11:14:35 +02:00
tobspr f8371a96cf Make the storage its own building, add sanity checks 2020-09-23 08:59:39 +02:00
tobspr c6eb1dad04 Rebalance the whole game, rename splitter -> balancer 2020-09-22 14:47:59 +02:00
tobspr afa08b06dc Vastly improve underground belt performance 2020-09-22 10:29:04 +02:00
tobspr 0ca623f24e Fix reader throughput 2020-09-21 18:32:26 +02:00
tobspr 2ac570f6d8 Fix belt paths not rendering 2020-09-21 18:07:47 +02:00
tobspr 1f3991301d Fix miner highlight 2020-09-19 21:40:42 +02:00
tobspr 26cd38b68c Refactor filters to make them not stall if one output is blocked 2020-09-19 19:30:04 +02:00
tobspr 5ab3afdd30 Move item processing into separate methods 2020-09-19 17:55:36 +02:00
tobspr 3e93681ce6 Add virtual stacker and painter, fix css 2020-09-19 15:33:24 +02:00
tobspr 6b7cfb48b3 Further ui improvements, fix simple belts with wires 2020-09-19 14:48:48 +02:00
tobspr 7d6af359a1 Polishing, CSS Improvements, Improve dark mode 2020-09-19 14:27:25 +02:00
tobspr 2075f4d011 Improve simplified belt, show hints everywheer 2020-09-19 12:21:32 +02:00
tobspr 47443058e0 Add potato mode 2020-09-19 10:34:46 +02:00
tobspr b5a2e77db4 Fix multiple typos, closes #627 2020-09-19 07:49:17 +02:00
tobspr 1ebfafd8de Further performance improvements, show indicator while game is saving 2020-09-18 20:41:40 +02:00