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