1
0
mirror of https://github.com/tobspr/shapez.io.git synced 2024-10-27 20:34:29 +00:00
Commit Graph

49 Commits

Author SHA1 Message Date
tobspr
6677ff0a44 Initial take on wires 2020-06-24 22:23:10 +02:00
tobspr
7b15a256b5 Further improve belt placement performance 2020-06-24 20:36:15 +02:00
tobspr
12927ec0ff
Merge pull request #198 from Phlosioneer/remove-belt-cache
Optimize belt cache
2020-06-24 20:26:22 +02:00
tobspr
9789468c2d Improve performance by caching area of changed ejectors 2020-06-24 20:25:43 +02:00
tobspr
b575bc4f41
Merge pull request #200 from Phlosioneer/ejector-cache-opt
Optimize ejector cache
2020-06-24 19:41:49 +02:00
tobspr
f204189fdb Refactor smart underground belt logic 2020-06-22 12:48:35 +02:00
Phlosioneer
f15cd5bcff Rework to cache instead of serialize
Using lessons from other PRs
2020-06-17 15:38:39 -04: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
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
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
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
tobspr
bd944ea758 Update german translation 2020-06-12 12:06:57 +02:00
tobspr
15877f3040 German translations, minor improvements 2020-06-11 19:17:06 +02:00
tobspr
1c717b0f37 Change hub texture and allow translating it, update stacker texture 2020-06-11 11:29:38 +02:00
tobspr
ffd011ac45 Preparations for the trailer 2020-05-30 17:50:29 +02:00
tobspr
dfe1e64b27 Further blueprint improvements 2020-05-27 15:03:36 +02:00
tobspr
dc6c20b8f0 Improve unlock notification 2020-05-23 10:30:54 +02:00
tobspr
c6228f8d32 Allow toggling debug info and fix miners sometimes being incorrectly culled 2020-05-21 10:43:21 +02:00
tobspr
1577ebe48c Add storage building 2020-05-20 15:51:06 +02:00
tobspr
14edac0f93 Fix wrong belt stats 2020-05-18 23:58:30 +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
d58d15ef8c Add building speed infos to all buildings 2020-05-17 15:32:19 +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
9f0435b51d Minor fixes, improve rendering performance 2020-05-16 11:49:45 +02:00
tobspr
b01d38e55d Initial support for saving games 2020-05-14 21:54:11 +02:00
tobspr
af0f56b5e4 Add basic sounds 2020-05-14 19:12:58 +02:00
tobspr
cf5d776270 Add type hints to signals 2020-05-14 08:44:07 +02:00
tobspr
9898916807 Statistics tab 2020-05-13 18:04:51 +02:00
Tobias Springer
eb46b45c9a Minor fixes 2020-05-10 17:51:54 +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
93c6ea683d Initial commit 2020-05-09 16:45:23 +02:00