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

184 Commits

Author SHA1 Message Date
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