tobspr
707323591b
Fix crash on constant signal dialog
2020-08-28 23:10:07 +02:00
tobspr
a67448fbdf
Fix being able to create constant signals without value
2020-08-28 22:56:56 +02:00
tobspr
5076c03dab
Fixed rotated levers not being rendered correctly
2020-08-28 22:25:31 +02:00
tobspr
93f9d7ae23
Fix cutter
2020-08-18 20:12:18 +02:00
tobspr
1a6c91f4e9
Fix crash
2020-08-18 20:07:44 +02:00
tobspr
296b76bf11
Add virtual shape processing buildings
2020-08-18 20:02:39 +02:00
tobspr
1dfb5f7476
Give more blueprint shapes in sandbox controller, create wire network even if it consists of tunnels only
2020-08-15 23:19:55 +02:00
tobspr
d4cbb5b124
Fix belt underlays not rendering
2020-08-15 22:52:16 +02:00
tobspr
b7efda9bf6
Further performance improvements
2020-08-15 22:44:15 +02:00
tobspr
b2880700e8
Huge rendering performance improvements and minor other changes, lots of refactorings
2020-08-15 22:32:55 +02:00
tobspr
7e139d116d
Catch up with enum change / merge
2020-08-15 19:50:22 +02:00
Bjorn Stromberg
6a447e3583
Remove enumLayer and enumItemType
2020-08-15 19:47:01 +02:00
tobspr
7b40292be3
Start to optimize rendering
2020-08-15 19:43:03 +02:00
tobspr
b1fb0fca7e
Fix wires blueprint pasting bug, do not show wire info on unconnected wires
2020-08-15 18:14:00 +02:00
tobspr
7279b75187
Improve information when hovering wires
2020-08-15 17:51:28 +02:00
tobspr
5a0d3dcbe8
Add wire coating
2020-08-15 16:16:17 +02:00
tobspr
6c8a29cea6
Sneak preview to the wires layer when placing on the regular layer
2020-08-14 15:48:26 +02:00
tobspr
390c4ce1a5
Add display
2020-08-14 14:55:37 +02:00
tobspr
349657bafc
Update storage to also return if its full or not
2020-08-14 13:15:26 +02:00
dengr1065
1dab9539bf
Add storage shape ejector pin ( #568 )
2020-08-14 13:10:57 +02:00
tobspr
8c39d31c5b
Optimize performance by using singletons for items
2020-08-14 13:09:10 +02:00
tobspr
3c34227c24
Unify assets, refactor waypoints
2020-08-14 12:14:15 +02:00
tobspr
9085f32ec3
Add multiple performance settings
2020-08-14 09:38:48 +02:00
tobspr
7fcfae747a
Fix tunnels, nr. 2
2020-08-14 08:53:35 +02:00
tobspr
c982827d60
New building sprites
2020-08-14 08:20:39 +02:00
tobspr
f69af63aa3
Fix wires tunnel bug
2020-08-14 07:21:49 +02:00
tobspr
fd7ae79971
Fix hub not accepting items
2020-08-13 21:06:54 +02:00
tobspr
efd8ba7ae9
Add wire bridges and fix Q on hub crash
2020-08-13 21:04:44 +02:00
tobspr
ff02508361
Add transistor building (Gate)
2020-08-13 20:47:33 +02:00
tobspr
f44563fc05
Add item filter
2020-08-13 20:30:43 +02:00
tobspr
984bea1921
Add OR gate and different colors of wire based on the value
2020-08-13 20:01:54 +02:00
tobspr
49da768b73
Add NOT gate
2020-08-13 19:33:35 +02:00
tobspr
52b4d4d742
Implement wire networks, add levers
2020-08-13 19:23:00 +02:00
tobspr
75ab655998
Add basic logic gate and improve wires in general
2020-08-13 10:23:50 +02:00
tobspr
f4ac6dfe03
Add constant signal emitters
2020-08-12 21:05:32 +02:00
tobspr
f65b3728ed
Improve wire auto-connect
2020-08-12 20:11:24 +02:00
tobspr
f16ab2389a
initial take on wire auto-rotation
2020-08-11 20:02:59 +02:00
tobspr
850461df8f
Further take on logic wires
2020-08-11 18:40:09 +02:00
tobspr
20718ca05c
Fix tslint
2020-08-11 13:29:47 +02:00
tobspr
9701a143ec
Only store changed properties for all components
2020-08-10 22:53:02 +02:00
tobspr
bb431b8490
Reduce savegame size by not storing the tileSize in the static entity
2020-08-10 22:13:26 +02:00
tobspr
8d329990ef
Fix item filters being ignored
2020-08-10 22:04:38 +02:00
tobspr
93975df4d5
Get rid of item ejector / acceptor layers and new wires buildings for now
2020-08-10 21:24:58 +02:00
tobspr
89294c7072
Remove instant eject flag
2020-08-10 20:32:45 +02:00
tobspr
b3b8da04a1
Refactor belt underlay feature into seperate component
2020-08-10 20:26:47 +02:00
tobspr
08a5b9070d
Simplify hub component
2020-08-10 20:09:04 +02:00
tobspr
e0ba1452b2
Start to work on logical pins
2020-08-10 15:02:49 +02:00
tobspr
6f28aff78f
Vastly improve belt performance
2020-08-10 15:02:14 +02:00
tobspr
bf2eee908f
Refactor static map entity component to store building metaclass
2020-07-27 17:14:29 +02:00
RogiJAG
f77d47d9f7
Add fl rotater variant
2020-07-18 12:03:49 -05:00
tobspr
0d6b855253
Allow color inverter to process colors as well
2020-07-07 09:06:17 +02:00
tobspr
04ea105584
Fix lots of bugs, add wire splitters / mergers
2020-07-06 21:33:37 +02:00
tobspr
54be64c0e2
Fix energy generator being not rotateable
2020-07-06 19:31:00 +02:00
tobspr
0bba6a9d79
Fix entity rendering bug when zooming out, add "Wires update" label to main menu
2020-07-06 18:36:10 +02:00
tobspr
756bcdb473
Fix tunnels entrances connecting to exits sometimes when they shouldn't
2020-07-06 14:19:46 +02:00
tobspr
a1007591e5
Fix multiple bugs, 2
2020-07-05 18:33:46 +02:00
tobspr
65337f90fc
Fix multiple bugs
2020-07-05 18:33:41 +02:00
tobspr
d09bd0bcd7
Huge refactoring of the whole placement logic
2020-07-05 17:56:54 +02:00
tobspr
d75fb184a4
Implement color inverter building
2020-07-02 18:16:04 +02:00
tobspr
a77911263d
Implement concept of energy consumption
2020-07-02 17:43:47 +02:00
tobspr
bd899df5fe
Further progress on the energy generator / wires, fix translations
2020-07-01 17:51:11 +02:00
tobspr
8667739e5e
MInor wires adjustment
2020-06-30 12:42:37 +02:00
tobspr
722c8ef836
Start to rework the graphics for the wires layer, make wires cooler than belts
2020-06-30 12:38:20 +02:00
tobspr
755f4bd2ea
Update artwork and minor fixes
2020-06-30 09:27:30 +02:00
tobspr
989ed2db87
Fix wires placement not snapping
2020-06-30 08:23:05 +02:00
tobspr
b499760d74
Start to work on advanced shape processing
2020-06-28 20:28:46 +02:00
tobspr
0967d5114c
Initial take on wires
2020-06-28 19:34:10 +02:00
tobspr
17123fd7b9
Further work on the energy generator
2020-06-28 11:44:30 +02:00
tobspr
5dab3508cd
Improve tunnel performance by caching receivers
2020-06-27 11:39:32 +02:00
tobspr
a057d68a8e
Micro optimization for item acceptor
2020-06-27 11:03:34 +02:00
tobspr
2e266f5f21
Get rid of 'builtins' file since its useless and causes performance issues
2020-06-27 10:51:52 +02:00
tobspr
419401b9be
Improve performance by getting rid of instanceof
2020-06-27 10:38:11 +02:00
tobspr
d8bf4f9cd8
fix belt animation seeming to go 'backwards' on high belt speeds
2020-06-27 09:59:48 +02:00
tobspr
c844dd4798
Improve performance by only updating belt ejectors on the end of paths
2020-06-27 09:52:26 +02:00
tobspr
8ba0a36ee1
Re-Enable automatic belt placement 2
2020-06-27 09:34:09 +02:00
Mike Winger
a96b4a290d
Fix tunnel incorrect delete bug
2020-06-26 20:00:44 -06:00
tobspr
42c569d91f
Implement saving and restoring belt paths
2020-06-26 18:24:02 +02:00
tobspr
9a6029279d
Disable some logging
2020-06-26 17:46:12 +02:00
tobspr
e594b6a4a7
Add belt rendering (very slow for now)
2020-06-26 17:28:19 +02:00
tobspr
a71c0b8039
Take 3 on the belt performance (+ tslint fixes)
2020-06-26 17:02:52 +02:00
tobspr
9ce912dbdd
Second take on belt performance
2020-06-26 16:31:36 +02:00
tobspr
192d1dbedb
Initial take on belt optimization
2020-06-26 13:57:07 +02:00
tobspr
7ca425c8f3
Fix belt rendering bug
2020-06-25 12:53:59 +02:00
tobspr
182b62d604
Add method to debug changed areas
2020-06-25 12:42:48 +02:00
tobspr
77ddef0170
Add more FPS to belt animation
2020-06-25 12:18:48 +02:00
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