Commit graph

1911 commits

Author SHA1 Message Date
Henrique 413951cb62 cleanups 2020-10-26 11:20:50 -03:00
Lubos Lenco 8bd93d0d96
Merge pull request #1955 from E1e5en/change-bundle-icon
Change Bundle icon for Armory Traits
2020-10-26 09:20:30 +01:00
Lubos Lenco b81486ac7a
Merge pull request #1954 from E1e5en/get-traits-name
LN for Traits
2020-10-26 09:19:54 +01:00
Lubos Lenco f1a65df4d2
Merge pull request #1952 from MoritzBrueckner/bump-node
Fix bump node when connected to vector output
2020-10-26 09:19:04 +01:00
Lubos Lenco 800498a78e
Merge pull request #1951 from MoritzBrueckner/cycles-nodes
More cycles nodes + improvements
2020-10-26 09:13:54 +01:00
E1e5en e840eead7e Change Bundle icon for Armory Traits
1. Add custom icon.
2. Change Bundle icon for Armory Traits.
2020-10-25 07:51:16 +03:00
Henrique ded3a7353d rename-node 2020-10-24 17:20:22 -03:00
E1e5en ef4dbd7611 LN for Traits
1. Modification of CanvasScript and WasmScript classes: added a field to save the name of the script / file in the class.
2. Added logical nodes for working with Traits.
- Get Object Traits - gets an array of Traits for the specified object;
- Get Trait Name - get the Trait name (the name that appears in the list in Armory Traits) and its type (Canvas, Wasm, Bundle, LogicNode or Haxe).
2020-10-24 22:04:47 +03:00
Henrique b942672990 new-vector-to-object-space-node 2020-10-24 14:39:20 -03:00
Moritz Brückner cf40b4255b Fix bump node when connected to vector output 2020-10-23 23:37:53 +02:00
Moritz Brückner 3f0122ad80 Fix noise texture node socket indices 2020-10-23 16:40:36 +02:00
Moritz Brückner 87d89cfa83 Improve MixRGB node 2020-10-23 16:40:02 +02:00
Moritz Brückner 095f44235c Fix TextureCoordinate node normals for world shaders 2020-10-23 16:24:37 +02:00
Moritz Brückner 070487dd7c Implement Light Falloff node according to Eevee 2020-10-23 16:23:56 +02:00
Moritz Brückner 1ddc106eb7 Implement Separate HSV node 2020-10-23 16:23:36 +02:00
Moritz Brückner 18464a5182 Fix light path node socket indices 2020-10-23 16:23:23 +02:00
Moritz Brückner a2c0ee7192 Align LightPath node to Eevee implementation 2020-10-23 16:16:18 +02:00
Moritz Brückner 5dab3500de Improve normal node parsing 2020-10-23 16:15:53 +02:00
Lubos Lenco 1dfa0c4644
Merge pull request #1948 from MoritzBrueckner/vectormath
Fully implement the VectorMath node
2020-10-23 09:08:12 +02:00
Lubos Lenco 343d22e47a
Merge pull request #1949 from MoritzBrueckner/clamp-node
Implement cycles clamp node
2020-10-23 09:07:37 +02:00
Lubos Lenco a9e59101e5
Merge pull request #1950 from knowledgenude/master
New node Vector From Boolean
2020-10-23 09:04:12 +02:00
Moritz Brückner b9fbb01ea4 Make glsl params const 2020-10-23 00:06:09 +02:00
Moritz Brückner 6d68b41f43 Small fix 2020-10-23 00:05:52 +02:00
Henrique 538e66e680 new-vector-from-boolean-node 2020-10-22 15:42:22 -03:00
Moritz Brückner 40a6a5cddc Implement cycles clamp node 2020-10-22 19:10:39 +02:00
Moritz Brückner 2ff90d55e4 Fully implement the VectorMath node 2020-10-22 18:47:21 +02:00
E1e5en 5451b3e7e2 Added settings for building APK
Added a panel with settings:
- Building APK After Publish - to start the build after the project has been successfully published (False by default). Disabled if SDK path is not specified;
- Emulator - list of installed emulators in Android Studio (AVD Manager). At the start of Blender, the list is always empty, to fill and update it, you must click the Refresh button. To start the emulator, if you wish, you need to press the "Start" button (the list of emulators is obtained with the emulator -list-avds command, the launch is performed with the emulator -avd [name] command). The "Start" button is disabled if the name of the emulator is not selected from the list;
- Run Emulator After Building APK - launch the emulator after successfully building the APK file. Disabled if no APK build is installed or no emulator name selected.

To perform these operations, you need to specify the ANDROID_SDK_ROOT environment variable, if it is not specified in the OS, then the "Android SDK Path" setting is read and set as the environment variable os.environ ['ANDROID_SDK_ROOT'] to perform operations.
If no value is specified, then the user receives a corresponding message to the console. If the specified value is incorrect, then the user will receive messages from the corresponding programs.
2020-10-22 19:19:03 +03:00
Moritz Brückner 74d6b594a6 Two new logic nodes for the "Random" category 2020-10-19 18:21:56 +02:00
Lubos Lenco b36cf8327b
Merge pull request #1940 from MoritzBrueckner/fix-android-build-folder
Open correct folder after successful Android build
2020-10-19 09:09:25 +02:00
Moritz Brückner 597bb9aca5 Open correct folder after successful Android build 2020-10-18 21:57:49 +02:00
Moritz Brückner 863ec518f8 Set file encoding to utf-8 2020-10-18 17:50:35 +02:00
Lubos Lenco e9c351c7e0
Merge pull request #1936 from E1e5en/add-android-settings
Add Android Settings + LN Set Vibrate
2020-10-18 11:59:35 +02:00
E1e5en 1a34e202a7 Add Android Settings + LN Set Vibrate
1. For the new settings to fully function, you need to update the submodules so that this Pull Request (https://github.com/Kode/kincmake/pull/100) gets into armsdk. Extended settings via khafile.js.

2. Added Android Settings panel:
- invisible until the target platform android-hl is added to the list;
- inactive until the target platform android-hl is selected in the list.
Options:
- Orientation;
- Compile Version SDK - from 26 to 30, default 29;
- Minimal Version SDK - from 14 to 30, default 14;
- Target Version SDK - from 26 to 30, default 29;
- Permissions - a list of permissions. If I will duplicate entries in the list, then only unique entries will be included during export. By default, the list is empty;
- Android ABI Filters - a list of platforms to build for (arm64-v8a, armeabi-v7a, x86, x86_64). If I will duplicate entries in the list, then only unique entries will be included during export. By default, the list is empty. If the list is empty, then all platforms will be used (as before).

3. The enum (names of permissions) and the function have been added to the utils.py modules, which adds the specified value to the list of permissions. Feature added for ease of use from different locations (different logical nodes).

4. List of permissions:
- ACCESS_COARSE_LOCATION - Allows an app to access approximate location;
- ACCESS_NETWORK_STATE - Allows applications to access information about networks;
- ACCESS_FINE_LOCATION - Allows an app to access precise location;
- ACCESS_WIFI_STATE - Allows applications to access information about Wi-Fi network;
- BLUETOOTH - Allows applications to connect to paired bluetooth devices;
- BLUETOOTH_ADMIN - Allows applications to discover and pair bluetooth devices;
- CAMERA - Required to be able to access the camera device;
- EXPAND_STATUS_BAR - Allows an application to expand or collapse the status bar;
- FOREGROUND_SERVICE - Allows a regular application to use Service.startForeground;
- GET_ACCOUNTS - Allows access to the list of accounts in the Accounts Service;
- INTERNET - Allows applications to open network sockets';
- READ_EXTERNAL_STORAGE - Allows an application to read from external storage;
- VIBRATE - Allows access to the vibrator;
- WRITE_EXTERNAL_STORAGE - Allows an application to write to external storage.

5. Added logical node Set Vibrate:
Category: Native
Pulses the vibration hardware on the device for time in milliseconds, if such hardware exists.
Input parameters:
- Milliseconds - time in milliseconds (data type Int, default value 100).
When adding the logical node Set Vibrate, the permission is automatically added to the list, even if the target android-hl has not been added to the export list (using a function from utils.py).
2020-10-17 16:47:54 +03:00
Moritz Brückner 4bafe8130c Add option to open build directory after successfully publishing 2020-10-17 15:09:21 +02:00
Moritz Brückner 203da296ad Make arm.utils.folder() work with every folder 2020-10-17 15:08:56 +02:00
Moritz Brückner 6dcc2f3fe8 Add arm.utils.get_arm_preferences() 2020-10-17 15:08:20 +02:00
Henrique f2afb4fcdb rename-tilesheet-sockets 2020-10-14 10:56:41 -03:00
Henrique be137c3805 get-tilesheet-state-ln 2020-10-14 10:03:47 -03:00
Lubos Lenco aaa699c3cd
Merge pull request #1930 from E1e5en/screen-to-world-space-modif
Modifying the Screen To World Space node
2020-10-14 08:58:37 +02:00
E1e5en 6116c665c4 Modifying the Screen To World Space node
Modifying the Screen To World Space node

Input parameters:
- Screen X - value of screen coordinates along the X axis (data type Int);
- Screen Y - the value of the screen coordinates along the Y axis (data type Int).

Options:
- Separator Out - whether or not to separate the output parameters (vectors) into components (XYZ).

Output parameters:
- World - coordinates of a point in 3D space (Vector data type)
- Direction - normalized direction vector from the camera towards the point/cursor indication (data type Vector).
- X, Y, Z - components of the corresponding vectors (data type Float).
2020-10-13 20:50:30 +03:00
E1e5en ebfb324abf
Update
Correction of an error in the node description
2020-10-13 18:25:10 +03:00
E1e5en c67246cd1a Get System Language - LN
Get System Language
Category: Native
To get the current system language according to the IS0 639 standard.
The Krom platform always returns “en”.
2020-10-13 17:29:50 +03:00
Lubos Lenco 20c8be3d0d
Merge pull request #1924 from MoritzBrueckner/world-nodes
World nodes support and nodes parsing refactor
2020-10-11 20:23:53 +02:00
Moritz Brückner eeee016927 Remove unused parameter 2020-10-11 17:15:35 +02:00
Moritz Brückner 34eafda885 Fix noise texture node socket indices 2020-10-11 17:13:36 +02:00
knowledgenude 5abe984920
Update LN_set_object_material.py 2020-10-11 12:08:05 -03:00
knowledgenude 6ed63ad7d0
Update LN_resume_action.py 2020-10-11 12:06:36 -03:00
knowledgenude 46f0c3eb9b
Update LN_play_action.py 2020-10-11 12:05:44 -03:00
knowledgenude ffffd6bc88
Update LN_resume_trait.py 2020-10-11 12:03:49 -03:00
knowledgenude 1d0d22594f
Update LN_pause_trait.py 2020-10-11 12:02:23 -03:00
knowledgenude e5534c2998
Update LN_pause_tilesheet.py 2020-10-11 11:56:17 -03:00
Lubos Lenco 70ae143c9b
Merge pull request #1922 from E1e5en/debug-console-settings
Add Debug Console settings
2020-10-11 16:54:17 +02:00
Moritz Brückner 8f7e99530c Show node panels only when applicable 2020-10-11 00:24:11 +02:00
Moritz Brückner d8a5e9edea Fix parsing of glossy shaders 2020-10-11 00:11:25 +02:00
Moritz Brückner 64e23b9b72 Remove duplicate comments 2020-10-10 23:51:40 +02:00
Moritz Brückner ffaf09e5f6 Cleanup comment 2020-10-10 23:16:10 +02:00
Moritz Brückner 9c27779f19 Fix normalmap parsing 2020-10-10 23:09:16 +02:00
Moritz Brückner c7e42f3f9c Some more fixes 2020-10-10 23:04:56 +02:00
Moritz Brückner 4c13017c4f Fix export of brick/checker texture nodes 2020-10-10 22:54:11 +02:00
Moritz Brückner 860594266c Fix world shader compilation for various input coordinate types 2020-10-10 21:28:36 +02:00
Moritz Brückner 6b797b75ae Use world color for irradiance when no sky/texture exists but don't use static color only 2020-10-10 20:37:59 +02:00
Moritz Brückner c2cf227989 Autocompletion for rpdat 2020-10-10 20:34:39 +02:00
Moritz Brückner 2dd7407772 Fix parsing of transparent shader node 2020-10-10 20:27:19 +02:00
Moritz Brückner cf531856f7 Set vertex shader in world parser state 2020-10-10 20:26:39 +02:00
Moritz Brückner 3482878c22 Improve ParserState 2020-10-10 20:26:29 +02:00
E1e5en 305878db42 Add Debug Console settings
1. Adding the ability to customize display, scale (size), shortcuts to the DebugConsole class.
2. Adding a function to utils.py to get Debug Console settings from Render: Armory.
3. Added Debug Console settings to the Armory Project interface:
- Enable (default value - False);
- Position (Left, Center, Right, default value - Right);
- Scale Console (from 0.3 to 10);
- Visible.
4. Added transfer of Debug Console settings to exporter.py.
5. Added logical nodes to control DebugConsole while the application is running.
2020-10-10 13:10:34 +03:00
Moritz Brückner 2f11b0c406 Further improve ParserState 2020-10-09 23:32:41 +02:00
Henrique 677ae903a2 merge-pause-and-resume-nodes 2020-10-09 17:43:17 -03:00
Moritz Brückner 4f0316f076 cycles.py: move parents into ParserState 2020-10-09 21:15:21 +02:00
Moritz Brückner 2b45a3132b World shader: make procedural textures work 2020-10-09 19:46:20 +02:00
Moritz Brückner eed7329f57 Improve parsing oder 2020-10-09 19:46:06 +02:00
Moritz Brückner cc5513b9fc Cleanup whitespace 2020-10-09 19:45:40 +02:00
Moritz Brückner 968f687e5d Fix parser lookup 2020-10-09 19:43:54 +02:00
Moritz Brückner 23b9016f13 Fix node group handling 2020-10-09 19:24:55 +02:00
Moritz Brückner c6258894f1 Cleanup 2020-10-09 19:18:59 +02:00
Moritz Brückner ea5118dba9 cycles.py: Fix writing of normals 2020-10-09 19:18:44 +02:00
Moritz Brückner 51e2f10f02 Better error handling 2020-10-09 19:13:15 +02:00
Moritz Brückner 0279ed7669 Support for world shader nodes 2020-10-09 19:13:08 +02:00
Moritz Brückner 13cf5d12a5 Check for uniqueness when adding init statements to shader main() (+ indent) 2020-10-08 23:08:37 +02:00
Moritz Brückner 78d86515dc Fix parsing of hue-saturation node 2020-10-08 22:33:49 +02:00
Moritz Brückner a83189b0be Move basecol_only into ParserState 2020-10-08 21:19:52 +02:00
Moritz Brückner 75e73e09d6 Cleanup 2020-10-08 21:17:02 +02:00
Moritz Brückner c8bdd961f5 Make more use of the ParserState class 2020-10-08 21:03:14 +02:00
knowledgenude e35c85de49
Update LN_on_tap_screen.py 2020-10-08 07:20:54 -03:00
knowledgenude 72b1b12c21
Collision Group 1 as default in Ray Cast node 2020-10-07 16:01:05 -03:00
knowledgenude 83ad817832
Update LN_play_tilesheet.py 2020-10-05 19:09:00 -03:00
knowledgenude 31793011c9
Update LN_play_action_from.py 2020-10-05 19:08:43 -03:00
knowledgenude 6cd52a4d26
Delete LN_animation_state.py 2020-10-05 19:07:10 -03:00
Moritz Brückner f8b3315c2d Move node parsing into subpackages part 3 2020-10-05 23:37:48 +02:00
Moritz Brückner 0d2740daa8 Move node parsing into subpackages part 2 2020-10-05 20:51:58 +02:00
Moritz Brückner cd63597fad Add ParserState class for better handling of cycles.py state 2020-10-05 20:42:59 +02:00
knowledgenude a90490a8f4
Update LN_trait.py 2020-10-05 15:06:10 -03:00
Henrique 9f9aa2cb81 delete-wrong-pick-rigid-body 2020-10-05 14:57:27 -03:00
Henrique 1436f9a5a4 improve-ln-descriptions 2020-10-05 14:55:56 -03:00
Moritz Brückner 4c917c59e9 cycles.py: more cleanup and add some comments 2020-10-05 01:59:49 +02:00
Moritz Brückner 2412a9b4cf cycles.py: further cleanup 2020-10-05 01:39:36 +02:00
Moritz Brückner 00e8952640 Fix parser function lookup 2020-10-05 01:39:23 +02:00
Moritz Brückner da8fca1b3b Move node parsing into subpackages part 1 2020-10-05 01:36:33 +02:00
Moritz Brückner a4cd48ec28 Add some typehints and docstrings 2020-10-05 01:27:36 +02:00
luboslenco da1cf33930 Bump version 2020-10-01 11:35:55 +02:00
Lubos Lenco 4038a67385
Merge pull request #1903 from N8n5h/nodes-context-menu
Add 3 new context menu options for nodes to inspect source and wiki
2020-10-01 11:32:45 +02:00
Lubos Lenco a27bb06788
Merge pull request #1902 from MoritzBrueckner/fix-node-tooltips
Prevent exception when node has no bl_description attr and docstring
2020-10-01 11:32:02 +02:00
N8n5h 63666ed731 Added a new operator and context menu option to open the wiki entry of a node 2020-09-30 17:42:35 -03:00
N8n5h 0dadfad886 remove remaining active_node's in implementation 2020-09-30 17:42:35 -03:00
N8n5h ee2764b877 Add two context menu options for logic nodes
The two new context menu options will let the user inspect the source code
of the node. For the haxe source the existing operator was used (ArmOpenNodeSource),
but it was modified because I thought it made more sense to guess the version the user has based on their last commit instead of master.
for python __module__ was used to obtain the relative path.

The options were appended to the existing menu instead of being its own class because I couldn't find how to implement it that way without redrawing.

- Added a way to obtain the last commit in utils without git cli
2020-09-30 17:42:35 -03:00
Moritz Brückner 4fed9da646 Prevent exception when node has no bl_description attribute and no docstring 2020-09-30 21:04:06 +02:00
Henrique 8d7c3a0910 replace-inverse-by-invert 2020-09-30 12:00:18 -03:00
Henrique 95c537a934 undo-input-renames 2020-09-29 13:42:38 -03:00
Henrique 0ba0884b35 rename-ln-labels 2020-09-29 13:38:17 -03:00
Moritz Brückner bb139d96f9 Fix SubString node socket labels 2020-09-28 16:21:18 +02:00
Moritz Brückner 431630d42e Update node docstrings 2020-09-28 15:58:41 +02:00
Lubos Lenco dc515c97d0
Merge pull request #1891 from niacdoial/master
Further handling of node depreciation
2020-09-28 10:14:34 +02:00
niacdoial 580902e8df and one more typo for the road 2020-09-28 10:07:03 +02:00
Lubos Lenco 95cc79339a
Merge pull request #1893 from MoritzBrueckner/on-application-state
Add "On Application State" node
2020-09-27 20:36:54 +02:00
Lubos Lenco 7042797185
Merge pull request #1894 from MoritzBrueckner/node-register
Automatically register new nodes and categories from libraries
2020-09-27 20:36:03 +02:00
E1e5en 1fec2d1e20 Get System Name
Get System Name - to get the name of the system while the application is running.

Output parameters:
- System Name — displays the system name as a string;
- List systems for quick comparison.
2020-09-27 20:22:41 +03:00
niacdoial 482a340c77 (fixed a few typos and docstrings in relation to the previous commit) 2020-09-27 17:17:22 +02:00
Moritz Brückner 4e234c0f56 Automatically register new nodes and categories from libraries 2020-09-27 17:12:45 +02:00
Moritz Brückner f4c004c8ea Reorganize imports according to PEP8 2020-09-27 17:12:22 +02:00
Moritz Brückner b132d4b171 Add "On Application State" node 2020-09-27 16:57:21 +02:00
niacdoial 24313d65a4 Further handling of node depreciation
(Depreciated nodes are moved elsewhere in the files to diminish clutter)

Also fixed a couple bugs for the handling of node replacement.
2020-09-26 16:14:35 +02:00
Lubos Lenco 9ad68b561a
Merge pull request #1888 from MoritzBrueckner/cwd_contextmanager
Implement context manager for safer cwd changing
2020-09-26 10:12:19 +02:00
Moritz Brückner fd4fcff19f Implement context manager for safer cwd changing 2020-09-25 21:20:11 +02:00
knowledgenude e01c7f5754 rename-material-labels 2020-09-24 21:20:21 -03:00
knowledgenude 4e114e02d3 replace-delete-by-remove 2020-09-24 21:02:26 -03:00
knowledgenude 618fa26dd4
Update LN_get_display_resolution.py 2020-09-24 19:54:29 -03:00
knowledgenude fdf24de3fb logic-nodes-labels 2020-09-24 19:49:21 -03:00
Moritz Brückner bd50923411 Fix typo: obselete -> obsolete 2020-09-24 16:40:15 +02:00
knowledgenude 2d2e6d74db
Update LN_volume_trigger.py 2020-09-23 17:54:01 -03:00
knowledgenude cfbeb850bf
Update LN_blend_action.py 2020-09-23 17:26:09 -03:00
knowledgenude 79df9d7016 logic-nodes-descriptions 2020-09-23 17:12:25 -03:00
Lubos Lenco 58e4744aa1
Merge pull request #1880 from knowledgenude/master
Logic nodes improvements
2020-09-22 17:30:10 +02:00
Lubos Lenco 8f06f611b5
Merge pull request #1874 from MoritzBrueckner/lz4
Support for LZ4 compression
2020-09-21 09:48:20 +02:00
knowledgenude 558e22e20e logic-nodes-improvements 2020-09-20 15:10:01 -03:00
E1e5en 9ac4325a00 On Tap Screen - node for handling touches (double, triple…)
Input parameters:

Duration - time during which the number of touches is counted (default value is 0.3 seconds);
Interval - the time that must elapse between touches (default value is 0);
Repeat - the number of touches that need to be done to execute the event (default value is 2).
Output parameters:

Done - event for a successful completed action;
Fail - an event for a failed action;
Tap - event on each touch;
Tap Number - how many times the user has already touched the screen;
Coords - coordinates of the touch.
2020-09-18 08:37:44 +03:00
Moritz Brückner aab56427d5 Lz4: update docstring, Lz4.hx is now in Iron 2020-09-17 21:38:51 +02:00
Moritz Brückner 932d4d5065 Notification on LZ4 export that compressing might take some time 2020-09-17 21:32:05 +02:00
Moritz Brückner 8b3eefb382 Improve asset compression tooltip 2020-09-17 21:30:22 +02:00
QuantumCoderQC 5cf598bdf4 Custom Particle Node UI and implementation 2020-09-16 23:30:20 +02:00
QuantumCoderQC 822775b9cc Support parsing of Custom Particle Node in Vertex Shader 2020-09-16 23:28:21 +02:00
QuantumCoderQC 0b252093f5 Shadowmap and Depth shader parsing for Custom Particle Node 2020-09-16 23:24:51 +02:00
QuantumCoderQC fcc1db0743 Correct normals for instanced rendering when transparency enabled 2020-09-16 23:20:57 +02:00
QuantumCoderQC c3092e781c Add uniforms in Vertex Shader 2020-09-16 23:17:43 +02:00
Moritz Brückner 5cd6c3d09f Fix export for sockets with no default value 2020-09-16 16:39:35 +02:00
Lubos Lenco 88aaeffcf1
Merge pull request #1869 from E1e5en/on-swipe-logic-node
Logic Node - On Swipe
2020-09-15 12:50:01 +02:00
Lubos Lenco 495da3c4f2
Merge pull request #1868 from MoritzBrueckner/addnode-poll
Add poll() function to AddNodeOverride operator
2020-09-15 12:49:10 +02:00
E1e5en 813f77dc0a Logic Node - On Swipe
The node for the swipe event.

Input parameters:
- Time - duration of the swipe (default value 0.15 s);
- Min Length (px) - the minimum length that the swipe must “pass” (default value 100 px).

Output parameters:
- Direction - normalized vector of the swipe direction;
- Length (px) - the length of the swipe (to assess the “strength”);
The Length output parameter is calculated by the vector value (without normalization) to relate to the input value.
- Angle (0-360) - swipe angle in the range from 0 to 360 degrees (0 is on the right, i.e. Vector (1, 0) = 0 degrees).
- States are states with direction output (Up, Down …). By default, they are not displayed, but if you press “Add 4 State”, then 4 states will appear (Up, Down, Left, Right) and if again, then 8 states will already be displayed.
Determining direction for a state:
for 4 directions - "circle" is divided into 4 segments of 90 degrees;
for 8 directions - "circle" is divided into 8 segments of 45 degrees.
2020-09-15 09:08:59 +03:00
Moritz Brückner 73d8fbd1d6 Add poll() function to AddNodeOverride operator 2020-09-15 01:25:42 +02:00
Moritz Brückner 98fccc445a Fix naming of dynamic sockets 2020-09-14 23:20:19 +02:00
Moritz Brückner 818c2242da Don't write 'None' into the generated logic tree code 2020-09-14 23:11:03 +02:00