Commit Graph

556 Commits

Author SHA1 Message Date
xSparfuchs 1b85c32b3b prettier 2020-06-17 20:31:39 +02:00
xSparfuchs e63638f364 Update screenshot_exporter.js 2020-06-17 20:17:23 +02:00
xSparfuchs 8372293d5d Update screenshot_exporter.js 2020-06-17 20:16:37 +02:00
xSparfuchs c1ef4e85af whitespaces 2020-06-17 20:11:55 +02:00
xSparfuchs a5e5cd9e4f fix large screenshots 2020-06-17 19:44:53 +02:00
tobspr a6ed85e9da Fix belt planner 2020-06-17 15:57:34 +02:00
tobspr 61bcc31861 Fix mouse handling 2020-06-17 14:56:21 +02:00
tobspr 4c20094878 Do not choose direction lock side automatically, instead make it toggleable 2020-06-17 14:39:12 +02:00
tobspr fc883f1e5e Add keybinding hint for direction lock 2020-06-17 14:29:43 +02:00
tobspr 3ddc0de2c4 Improve flickering 2020-06-17 14:05:17 +02:00
tobspr 317b7d72ff Add setting to disable vignette 2020-06-17 13:58:59 +02:00
tobspr 26949d5e3d Fix flickering in direction lock 2020-06-17 13:55:44 +02:00
tobspr b6964ad1bf Improve direction lock 2020-06-17 13:42:53 +02:00
tobspr 0a35c9f5b2 Improve belt direction lock 2020-06-17 13:37:41 +02:00
tobspr a95e69401d Improve belt direction lock 2020-06-17 13:21:34 +02:00
tobspr 84969a9205 Refactor building placer 2020-06-17 13:12:39 +02:00
Phlosioneer eb182d6e94 Fix lint issues 2020-06-16 22:48:29 -04:00
Phlosioneer da24c472d7 Fix click and drag
Clicking and dragging can trigger up to 4 add/destroy signals, and it's
a common case.
2020-06-16 22:08:46 -04:00
Phlosioneer aef96cff6e Optimize ejector cache for common case
This commit optimizes the ejector cache for clicking and dragging belts,
or adding/removing a building. It's a big performance improvement for
large maps; on average, it only has to visit 60 slots per update,
compared to 20,000+ slots.
2020-06-16 21:50:16 -04:00
Phlosioneer 36cf28029e Remove ejector cache; use slot caches instead
This is a small refactoring that removes the main ejector cache. The
cache is now tracked by slots and ejector components.

It avoids a large array allocation and many small object allocations,
but adds many small array allocations. It's net neutral for performance.
2020-06-16 21:11:26 -04:00
Phlosioneer 2341772425 Optimize belt cache for common case
Most of the time, we're adding/removing one building at a time. We don't
need to recheck every belt, only the ones near the changed belt.
2020-06-16 20:23:11 -04:00
Phlosioneer 8a50fdb392 Remove belt cache array; use BeltComponent instead
Removed the belt cache array. Follow-up belts are cached in the belt's
BeltComponent instead. This change also removes the recursive follow-up
search, which could cause a stack overflow for an extremely long belt
chain.

Saves one object allocation per belt per change, two very large array
allocations per change, many function calls, and belts are only visited
exactly once per change.
2020-06-16 19:56:09 -04:00
Phlosioneer d4fc2e6dcd Fix lint errors 2020-06-16 16:21:45 -04:00
Phlosioneer 83a4928be5 Make miners cache mined item
Saves two chunk+tile lookups per update, and one chunk+tile lookup per
draw.
2020-06-16 16:02:29 -04:00
tobspr 736e5fb432 Fix crash 2020-06-16 20:13:46 +02:00
tobspr 31ab5f3422 Disable direction lock for everything but belts 2020-06-16 20:10:00 +02:00
tobspr 46ceefd0d8 Disable automatic orientation when using belt lock 2020-06-16 20:02:52 +02:00
tobspr 4fc1ff6b0d Improve belt lock 2020-06-16 19:45:16 +02:00
tobspr 35a13a09e5 Add belt lock feature 2020-06-16 19:40:00 +02:00
tobspr b753187cde Add setting to disable smart tunnels 2020-06-16 19:24:23 +02:00
tobspr b8c3668d88 Placing underground belts now removes belts and other (unneeded) tunnels inbetween 2020-06-16 13:19:53 +02:00
tobspr 1af564e816 Add mirrored painter variant 2020-06-16 11:57:17 +02:00
tobspr fccb30b5a5 Fix dark mode for markers 2020-06-16 10:36:32 +02:00
tobspr 5c12c605f5 Reworked waypoints 2020-06-16 10:25:31 +02:00
tobspr 32d169b7db Bump fast pan speed from 2 to 4 2020-06-15 22:29:55 +02:00
tobspr 840ba60c76
Merge pull request #131 from jaysc/fastpan
added shift modifier for faster pan
2020-06-14 15:52:38 +02:00
Jaysc 5de2c2de94 Removed logic from application_settings 2020-06-14 14:16:37 +01:00
tobspr cda24ceb04 Refactor item acceptor system for huge performance improvement 2020-06-14 14:37:13 +02:00
tobspr e95b055e10 Minor improvements to belt performance 2020-06-14 14:20:35 +02:00
Jaysc 8a726f99b6 Changed fastpan to mapMoveFaster and translation 2020-06-13 14:14:35 +01:00
tobspr 6febaff100 Fix untranslated button 2020-06-13 13:22:20 +02:00
tobspr 7e745fd0ce Allow exporting whole bases, closes #137 2020-06-13 10:57:29 +02:00
Jaysc 487a99bb56 added fastpan feature 2020-06-12 18:55:35 +01:00
tobspr 63568ffb2c
Merge pull request #112 from mini-bomba/move-speed
Added movement speed setting
2020-06-12 19:09:10 +02:00
tobspr 2f45e345fe
Merge pull request #113 from hexagonhexagon/cut-paste-blueprints
Add cut, paste options for blueprints
2020-06-12 19:05:53 +02:00
tobspr cc9813bf0c
Merge pull request #74 from Dimava/extract/selection-world-relative
Make selection relative to world
2020-06-12 19:01:00 +02:00
tobspr 3af6532d32 Refactor pinned shapes and make them smart, closes #72 2020-06-12 18:38:13 +02:00
Dimava 7653c51e1b remove currentSelectionStart (use -World instead) 2020-06-12 15:49:31 +03:00
tobspr 8c01cc23d0 Fix watermark 2020-06-12 13:49:36 +02:00
tobspr c037f23921 Localize watermark 2020-06-12 13:47:48 +02:00
tobspr bd944ea758 Update german translation 2020-06-12 12:06:57 +02:00
tobspr 2c4d8e40fd Add korean translation 2020-06-12 10:38:16 +02:00
Cole Faust eb16025598
Fix grammatical mistake in demo watermark 2020-06-12 00:26:15 -07:00
mini-bomba 107a3ef69c
Added movement speed setting 2020-06-12 00:47:59 +02:00
hexagonhexagon 1091a7affd Merge branch 'master' into cut-paste-blueprints 2020-06-11 18:05:44 -04:00
hexagonhexagon e39a868998 Add "Paste last blueprint" keybind. Last blueprint is not preserved on save/exit. 2020-06-11 17:56:13 -04:00
tobspr 15877f3040 German translations, minor improvements 2020-06-11 19:17:06 +02:00
Jaysc 6601923bd4 stop connection if something in the way 2020-06-11 16:33:25 +01:00
tobspr c434f7a59f Multiple fixes (see changelog) 2020-06-11 11:51:24 +02:00
tobspr 1c717b0f37 Change hub texture and allow translating it, update stacker texture 2020-06-11 11:29:38 +02:00
tobspr aa6bd04881 Fix some translations and backward compatibility 2020-06-11 11:06:28 +02:00
hexagonhexagon f34813392f Add Cut keybind. 2020-06-11 03:33:00 -04:00
tobspr 84966573fa Fix copy paste error 2020-06-11 09:31:03 +02:00
tobspr 89f934024b
Merge pull request #44 from hexagonhexagon/shop-ui-tweak
Make upgrade formatting more clear
2020-06-10 11:49:41 +02:00
hexagonhexagon 0885bd6727 Make shapes unpinnable. The current goal shape uses a special pin icon. 2020-06-07 19:35:42 -04:00
hexagonhexagon d52e4c9054 Change upgrade formatting to specify the current and new multipliers to speed. 2020-06-07 19:34:47 -04:00
tobspr a2ee16589f Switch to steam 2020-06-07 12:56:02 +02:00
Dimava 7f5413a485 make selection relative to world 2020-06-06 11:46:01 +03:00
tobspr bf93ded6cf Increased icon visibility for windows builds 2020-06-03 16:16:41 +02:00
tobspr f145e98450 Fix crash 2020-06-01 21:16:26 +02:00
tobspr cef07dec56 Add "interactive" tutorial for first level 2020-06-01 21:14:12 +02:00
tobspr 91351d2f79 Improve UX for first levels 2020-06-01 20:18:50 +02:00
tobspr 5cd4dba54a Cleanup first game experience 2020-06-01 19:58:36 +02:00
tobspr 8c85018352 Added setting to configure zoom / mouse wheel / touchpad sensitivity 2020-06-01 13:05:15 +02:00
tobspr 4e18fa74d4
Merge pull request #48 from Dimava/feature/mousebind
Mouse keybinds
2020-06-01 12:10:51 +02:00
Dimava 6c349479cf fix belt cloning bug 2020-06-01 12:46:37 +03:00
Dimava 0d342ee417 move KeyMouse listeners to correct location 2020-06-01 02:36:41 +03:00
tobspr 704b6e14b8 Minor fixes, update changelog, add experimental macosx and linux builds 2020-05-30 20:12:16 +02:00
tobspr 02fb6d53b5 Allow hovering pinned shapes to enlarge them 2020-05-30 19:42:03 +02:00
tobspr 576bd3166f Minor improvements 2020-05-30 19:11:18 +02:00
tobspr ffd011ac45 Preparations for the trailer 2020-05-30 17:50:29 +02:00
Dimava fe33f51424 always use MouseEvent in keyboard hooks 2020-05-30 11:11:56 +03:00
Dimava d5d615bfd3 change MouseEvent keyCode to event.button + 1 2020-05-30 11:11:26 +03:00
Dimava 79dcd79734 use MouseEvent in keybind change hooks 2020-05-30 11:03:37 +03:00
Dimava e58c2fd371 use MouseEvent in keyboard hooks 2020-05-30 11:03:35 +03:00
Dimava da94d5264a replace MouseEvent.which with MouseEvent.button 2020-05-30 11:03:33 +03:00
tobspr 864c20ce26 Fix crash when Show Hints setting is off 2020-05-28 21:58:08 +02:00
tobspr b2f6e2956c Fix waypoints not being updated 2020-05-28 21:09:20 +02:00
tobspr ce32578b79 Fix dark theme 2020-05-28 20:48:00 +02:00
tobspr e85728b73d Further waypoint improvements 2020-05-28 20:36:53 +02:00
tobspr 3071bba633 store waypoints in savegame 2020-05-28 20:03:35 +02:00
tobspr ec021780d8 Initial waypoint support 2020-05-28 19:40:48 +02:00
tobspr 37685d64bd Introduce cost for blueprints 2020-05-28 18:07:57 +02:00
tobspr 955cba74aa Show hint after unlocking level 4 2020-05-28 15:36:38 +02:00
tobspr 1582125d50 Vastly increase goals after blueprints have been unlocked 2020-05-28 15:00:19 +02:00
tobspr e0facaf788 Fix keys being stuck, show savegame levels in main menu 2020-05-28 14:53:11 +02:00
tobspr 2a4ee8e784 Fix crash regarding blueprints being copied wrong 2020-05-28 13:49:50 +02:00
tobspr f33473b77a Decrease requirements of first levels 2020-05-28 10:00:53 +02:00
tobspr 8c88d738cc Minor improvements 2020-05-27 15:45:43 +02:00
tobspr 52e05f14c0 Further performance improvements 2020-05-27 15:25:17 +02:00
tobspr 1db5d4f7cb Merge pull request #24 from Dimava/master
Make CycleBuildings work properly
2020-05-27 15:24:37 +02:00
tobspr dfe1e64b27 Further blueprint improvements 2020-05-27 15:03:36 +02:00
Dimava 6a5d1a0890 Make CycleBuildings select last used item when empty 2020-05-27 16:00:07 +03:00
Dimava eb87550b36 Make CycleBuildings work properly 2020-05-27 16:00:03 +03:00
tobspr f434cbd6f4 Merge branch 'master' into master 2020-05-27 14:32:16 +02:00
tobspr 0cd324c82b Initial support for blueprints (Buggy) 2020-05-27 14:30:59 +02:00
Dimava ab7584d9e9 Make ctrl/shift/alt keubindings changeable 2020-05-27 15:25:30 +03:00
tobspr 6b5e83f905 Fix unlock notification not being modal 2020-05-25 20:27:51 +02:00
tobspr 0561cd9f89 1.0.4 update 2020-05-25 20:23:47 +02:00
tobspr 20b46325b6 Get rid of old beta mode 2020-05-24 19:55:09 +02:00
tobspr e79a07de28 Re-balancing 2020-05-24 17:29:57 +02:00
tobspr f03f04caa1 Allow to disable hints, add changelog 2020-05-23 15:04:55 +02:00
tobspr 5a46ba5e31 Move videos to static fileserver to avoid unnecessary load 2020-05-23 14:31:49 +02:00
tobspr 7e146fd9ab Add more tutorial videos 2020-05-23 13:02:02 +02:00
tobspr 8627b4e1f9 Add hint to standalone version in game 2020-05-23 12:34:01 +02:00
tobspr c502ecad0c Add small tutorial 2020-05-23 12:26:04 +02:00
tobspr 10fe067c85 Show connections to tunnel exits as well 2020-05-23 11:08:27 +02:00
tobspr 8678caf6c5 Add keys to zoom in / out 2020-05-23 11:03:58 +02:00
tobspr 1561246dc4 Add multiplace setting 2020-05-23 10:57:02 +02:00
tobspr 714332a91d Further improvements of unlock notification 2020-05-23 10:35:30 +02:00
tobspr dc6c20b8f0 Improve unlock notification 2020-05-23 10:30:54 +02:00
tobspr ab5462e140 Prepare for the release on gamedistribution 2020-05-22 13:12:07 +02:00
tobspr b3a2e869d1 Fix painting upgrade not doing anything 2020-05-22 09:27:20 +02:00
tobspr 27e114c362 Minor UX improvements 2020-05-21 22:49:00 +02:00
tobspr 1cba701b8a Allow import in the free version, but make it limited to one savegame 2020-05-21 20:16:33 +02:00
tobspr ac15fefff0 Minor fixes 2020-05-21 18:03:57 +02:00
tobspr e91e1416f4 Get rid of demo messages 2020-05-21 17:54:55 +02:00
tobspr 77a8ae60c3 Further wording update 2020-05-21 16:56:53 +02:00
tobspr 8dd3a7c748 Add tutorial images for all building variants 2020-05-21 11:40:26 +02:00
tobspr c6228f8d32 Allow toggling debug info and fix miners sometimes being incorrectly culled 2020-05-21 10:43:21 +02:00
tobspr 8760026893 Refactoring of the key action mapper, allow deselecting buildings, make sure stars always spawn in the start region (closes #7) (closes #9) 2020-05-21 10:40:21 +02:00
tobspr 1577ebe48c Add storage building 2020-05-20 15:51:06 +02:00
tobspr 9c4fe248db Do not allow saving in the demo version 2020-05-19 15:03:13 +02:00
tobspr 5f37ff001b Update game goals to make it easier to understand the rotater 2020-05-19 09:29:33 +02:00
tobspr 3714a59fca Add customizable keybindings & watermark 2020-05-19 09:14:40 +02:00
tobspr 2968fe3788 Reduce chunk size 2020-05-19 00:00:13 +02:00
tobspr 14edac0f93 Fix wrong belt stats 2020-05-18 23:58:30 +02:00
tobspr a60d23da77 Multiple improvements, fix saves on underground belts 2020-05-18 22:08:33 +02:00
tobspr 8c42827f4e Improve iconography in toolbar 2020-05-18 20:30:03 +02:00
tobspr 2c659482c4 Update ftp deployment, fix minor bugs in savegame serialization 2020-05-18 19:47:40 +02:00
tobspr a42b625aa5 Fix multiple bugs in the belt system 2020-05-18 19:23:37 +02:00
tobspr 2c48cb72aa Major performance improvements 2020-05-18 17:40:20 +02:00
tobspr 260ba892c8 Properly process belt dependencies and fix items not travelling linear on belts 2020-05-18 16:08:33 +02:00
tobspr ca0e17f3dd Support dynamic tick rates 2020-05-18 12:53:01 +02:00
tobspr 65529cce1a Fix hub not accepting all itmes 2020-05-18 11:47:17 +02:00
tobspr 0b86d499e5 Show range of underground belts 2020-05-17 15:51:58 +02:00
tobspr d58d15ef8c Add building speed infos to all buildings 2020-05-17 15:32:19 +02:00
tobspr 97f52f509b Rebalance whole game 2020-05-17 14:46:33 +02:00
tobspr 6a61d03489 Fix typo in theme config 2020-05-17 13:33:23 +02:00
tobspr aef0128daf Add inverse compact splitter 2020-05-17 13:32:31 +02:00
tobspr 68769cb7ef Dark mode support and much other stuff 2020-05-17 13:24:47 +02:00
tobspr 53386e1cd9 Add settings 2020-05-17 12:46:51 +02:00
tobspr a70a937302 Initial support for translations 2020-05-17 12:12:13 +02:00
tobspr 13c6fc7598 Multiple improvements 2020-05-17 10:07:20 +02:00
tobspr cad6b357e3 Add quad cutter and painter 2020-05-17 00:21:33 +02:00
tobspr bce44188c8 Add underground belt tier 2 2020-05-16 23:48:56 +02:00
tobspr 5179488373 Add CCW rotater 2020-05-16 23:13:45 +02:00
tobspr 12fc7b084a Make belts balanced 2020-05-16 23:01:26 +02:00
tobspr 5e3c28c150 Add support for different building variants 2020-05-16 22:45:40 +02:00
tobspr 436f700606 Remove unnecessary console.log's 2020-05-16 18:04:08 +02:00
tobspr 224bc6c7e5 Add ability to import savegames, add game menu, multiple smaller improvements 2020-05-16 17:57:25 +02:00
tobspr c1d720ca52 Add notifications when saving and new upgrades are available, minor improvements 2020-05-16 12:43:11 +02:00
tobspr 9f0435b51d Minor fixes, improve rendering performance 2020-05-16 11:49:45 +02:00
tobspr b05182a1cc Fix savegame crash 2020-05-16 10:11:13 +02:00
tobspr 2c9867c837 Fix bug with pinned shapes not properly refreshed 2020-05-16 09:51:55 +02:00
tobspr 7870f011b8 Initial support for themes, sound improvements 2020-05-16 09:49:00 +02:00
tobspr 9adbbfa1c3 Fix crash when saving due to FP imprecision 2020-05-15 19:09:29 +02:00
tobspr 3d2af20edd Swap cutter outputs since this makes more sense logically 2020-05-15 11:15:42 +02:00
tobspr 4e97ec281e Fix bug when saving underground belts 2020-05-15 11:08:49 +02:00
tobspr b64bbc8132 Fix hub being removable after restoring a game, fix tslint errors 2020-05-14 22:46:31 +02:00
tobspr a1fd83c03c Fix serialization errors and implement hub deserialization 2020-05-14 22:20:19 +02:00
tobspr 330c98267a Minor fixes and add save button 2020-05-14 22:05:06 +02:00
tobspr b01d38e55d Initial support for saving games 2020-05-14 21:54:11 +02:00
tobspr 23874c43dc Allow muting sounds and music 2020-05-14 19:29:21 +02:00
tobspr af0f56b5e4 Add basic sounds 2020-05-14 19:12:58 +02:00
tobspr faa2ef9bd7 Show required amount in pinned shapes 2020-05-14 13:40:38 +02:00
tobspr 38970141d8 Allow pinning shapes 2020-05-14 13:29:42 +02:00
tobspr e43a22b56d Show available upgrade count in toolbar 2020-05-14 12:13:33 +02:00
tobspr 3de5d45ad8 Remove unnecessary console.log 2020-05-14 10:35:34 +02:00
tobspr d194b5ad86 Fix statistics tab, 2 2020-05-14 10:25:00 +02:00
tobspr 85951615a9 Fix tslint errors 2020-05-14 08:56:18 +02:00
tobspr cf5d776270 Add type hints to signals 2020-05-14 08:44:07 +02:00
tobspr ca3f4ff02a Fix shape hash being incorrectly calculated 2020-05-14 08:10:15 +02:00
tobspr bf79f17776 Refactor statistics and fix crash 2020-05-14 08:03:24 +02:00
tobspr 9898916807 Statistics tab 2020-05-13 18:04:51 +02:00
tobspr 6c638f853c UI Improvements 2020-05-13 12:57:18 +02:00
tobspr 6429f67c7b Add beta mode and hud toggle 2020-05-13 10:41:00 +02:00
tobspr da64a46ad8 Increase spawn rate of rare shapes 2020-05-11 23:42:10 +02:00
tobspr 21382a6f2e Add music / sound / setting buttons (dysfunctional) 2020-05-11 15:17:30 +02:00
tobspr 653ddf9a3a Minor artwork update 2020-05-11 14:21:59 +02:00
tobspr f52d2b85c0 Update main menu styles 2020-05-11 13:11:07 +02:00
tobspr 172a0398e2 Fix crash when placing buildings 2020-05-11 12:27:42 +02:00
Tobias Springer a26ef05543 Disable automatic rotation for buildings except belts 2020-05-10 19:01:33 +02:00
Tobias Springer d2864e7385 Fix not being able to replace balts 2020-05-10 18:59:42 +02:00
Tobias Springer 5f3ffd42fd Further fixes to the belt placement 2020-05-10 18:50:16 +02:00
Tobias Springer 5a61d1813a Change keybinding for multi select to ctrl 2020-05-10 18:35:27 +02:00
Tobias Springer bd89c2cc9e Mass deletion support 2020-05-10 18:24:50 +02:00
Tobias Springer eb46b45c9a Minor fixes 2020-05-10 17:51:54 +02:00
Tobias Springer 3ccb5f5354 Remove unnecessary debug output 2020-05-10 17:46:06 +02:00
Tobias Springer bb1758642b Add originalRotation to static comp in order to fix bugs with the automatic placement 2020-05-10 17:45:48 +02:00
Tobias Springer 72476486b7 Improve placement of belts 2020-05-10 17:00:02 +02:00
Tobias Springer 61bda596b6 Fix splitters 2020-05-09 19:14:11 +02:00
Tobias Springer f2d49bc2eb Fix item processors not working 2020-05-09 17:22:27 +02:00
Tobias Springer 50ceb89cbb Fix crash about hub not being an item processor 2020-05-09 17:12:40 +02:00
Tobias Springer 4566b620df Update map chunk generation 2020-05-09 17:10:36 +02:00
Tobias Springer 93c6ea683d Initial commit 2020-05-09 16:45:23 +02:00