Commit graph

2569 commits

Author SHA1 Message Date
Moritz Brückner 14375b7fad Cleanup driver API code and add docstring + type info 2020-11-17 11:59:21 +01:00
Moritz Brückner e747190746 Whitespace cleanup 2020-11-16 19:55:15 +01:00
Moritz Brückner 07acf00b0c Add node context menu entry for material parameters 2020-11-16 19:54:52 +01:00
Lubos Lenco 09ec8f23f8
Merge pull request #2011 from knowledgenude/master
Map Range node
2020-11-16 09:18:15 +01:00
knowledgenude 7f82b2ae33 map-range-node 2020-11-14 14:39:32 -03:00
E1e5en 4b3aea0513
Merge branch 'master' into html5-settings 2020-11-14 15:12:20 +03:00
Lubos Lenco 64ddadab7b
Merge pull request #2010 from E1e5en/fix-vector-quat-math
Fixed logical nodes Vector Math and Quaternion Math
2020-11-14 12:45:37 +01:00
Lubos Lenco 3fae5c04bd
Merge pull request #2007 from E1e5en/exporter-panel-project-settings
Exporter Panel - Project Settings
2020-11-14 12:42:40 +01:00
Lubos Lenco f499bfc8ca
Merge pull request #2003 from MoritzBrueckner/khamake-debug
Add option to compile with khamake --debug flag
2020-11-14 12:41:35 +01:00
E1e5en 82ac44571a Additional terms
Additional terms
2020-11-14 11:52:07 +03:00
E1e5en 5f4a3104f1 Fixed logical nodes Vector Math and Quaternion Math
The error occurs when updating projects with old nodes. Unfortunately, the node is not completely replaced, but the error with deleting the output parameters has been fixed, the incorrect node will not be in the Logic Editor.
2020-11-14 10:28:15 +03:00
E1e5en 2bd08722a1 HTML5 Settings
Added Armory Exporter - HTML5 Settings panel:
- Copy Files To Specified Folder - copy files to the folder specified in the settings after publish. The name of the folder where the result will be copied is formed based on the name of the project and version. Sample, test-1.0.5.
- Run Browser After Copy - run browser after copy. The url is formed from the one specified in the settings and the directory with the project where it was copied. Sample, http: //localhost/test-1.0.5.

Added settings in Render: Armory:
- HTML5 Copy Path - path to copy project after successfully publish (directory on local web-server).
- Url To Web Server - url that runs the local server.
2020-11-13 21:45:31 +03:00
E1e5en 65dd6b701f Exporter Panel - Project Settings
1. Processing data entry into fields:
- Name - the field must not be empty. If the user tries to set an empty value, then this field specifies the name of the blend file (this is how it is implemented during assembly). The default is the name of the blend file.
- Package - the field must not be empty, it must not consist only of numbers and start with a number. The . symbol is replaced with _. The default is arm.
- Bundle - the field must be filled in according to the mask [string].[string]. Each part must not be empty, contain numbers, or start with a number. The default is org.armory3d. Previously, this field was blank, in which case the current default was used.
- Version.
Input in the Version field is processed and only allows input by masks:
- 0.0
- 0.0.0
- 0.0.0.0
In any case, the value is ignored and the previous value remains.

If the (Auto-increment Build Number) checkbox is checked and when performing the operation, Build and Publish will be automatically incremented by one after the version value.
Examples:
it was 1.0 - it is 1.1,
it was 1.9 - it is 1.10,
it was 1.0.1 - it is 1.0.2,
it was 0.1.1.2 - it is 0.1.1.3.

Defaults:
- Version - 1.0.0
- Auto-increment Build Number - enabled.

For all fields, special characters ([] / \ ;,> <& *:% = + @! # ^ () |? ^) Are also replaced with _.

2. Fixed display of Android Settings panel.
2020-11-13 20:36:27 +03:00
Lubos Lenco da5ed3c5e0
Merge pull request #2006 from MoritzBrueckner/normals
Fix usage of normals in shaders + smaller shader improvements
2020-11-13 14:14:50 +01:00
E1e5en b741bd752d Fix and clear
- Fixed build error when there are problems in the project name
- Code cleanup
2020-11-13 09:06:51 +03:00
Moritz Brückner ac51183a15 Fix declaration order for some shader attributes 2020-11-12 20:11:42 +01:00
Moritz Brückner 6165c43321 Properly indent shader code in write_attrib() 2020-11-12 20:10:08 +01:00
E1e5en ab3d64d651 Android Settings More
Panel Armory Exporter - Android Settings - Build APK:
1. Rename APK To Project Name
Renames the APK file from app-debug.apk to [project-name]-[version] .apk. Example, for the project example_ball.blend, the result will be the name example-ball-1.0.apk.
2. Copy APK To Specified Folder
Copies the final file to the folder specified in Preferences.

Preferences Render: Armory:
1. Copy APK To Folder
The path to the folder where the final APK file will be copied.
2. Open Directory After Copy
Open this folder after copying.

Console messages:
Rename APK to example-ball-1.0.5.apk
Copy APK to C:\IDE\Test

Use-case:
These settings will allow you to have unique names for files, as well as copy them to the required folder for uploading to the device or to the cloud.
2020-11-12 22:09:55 +03:00
Moritz Brückner 8465e497f8 Small code style improvement 2020-11-12 20:09:53 +01:00
Moritz Brückner c520b32be0 Another small musgrave texture node fix 2020-11-12 20:09:43 +01:00
Moritz Brückner b49bd54901 Fix usage of normals in shaders 2020-11-12 20:09:25 +01:00
Moritz Brückner 27857c2648 Add option to compile with khamake --debug flag 2020-11-11 20:34:10 +01:00
Lubos Lenco 25be45bc9e
Merge pull request #1998 from E1e5en/add-quat-math
Quat Math
2020-11-11 15:33:19 +01:00
knowledgenude 85fb7a3f68
Update LN_value_changed.py 2020-11-10 15:32:02 -03:00
knowledgenude fde59db1e5 value-changed-node 2020-11-08 17:37:50 -03:00
E1e5en 6b804477b1 Quat Math
1. Move the Quaternion node from Transform to Variable
2. Move the Separate Quaternion node from Transform to Math
3. Added Quaternion Math Node
Linked to PR - https://github.com/armory3d/iron/pull/108
2020-11-08 22:40:01 +03:00
Lubos Lenco d210cea6d8
Merge pull request #1997 from E1e5en/ln-math-optimization
Update the Math Node
2020-11-08 14:13:58 +01:00
Lubos Lenco 0d944db767
Merge pull request #1995 from N8n5h/debug-print
Show commands that launch build better and play for debugging
2020-11-08 14:13:22 +01:00
Lubos Lenco 4adb01dc5f
Merge pull request #1994 from E1e5en/ln-vector-math-upgrading
Upgrading the Vector Math Node
2020-11-08 14:12:26 +01:00
Lubos Lenco 3f77a1e51d
Merge pull request #1993 from MoritzBrueckner/musgrave-tex-node
Fix musgrave texture node
2020-11-08 14:10:47 +01:00
E1e5en c759a48503 Update LN_vector_math.py
Refactoring, optimization, checkstyle
2020-11-08 11:38:19 +03:00
E1e5en 5228bd097b Update LN_math.py
Refactoring, optimization
2020-11-08 11:36:44 +03:00
N8n5h fde5760a29 Show commands that launch build and play for debugging
This is so you can easily copy and paste it for testing purposes instead of having to build the whole project again.
Alternatively a button to play without build could be added to the blender UI.
2020-11-07 09:38:11 -03:00
E1e5en 7dae9e38d0 Upgrading the Vector Math Node
Dynamically change the number of input and output parameters for the selected operation
2020-11-07 11:14:46 +03:00
Moritz Brückner 242f80357f Fix musgrave texture node 2020-11-07 00:27:51 +01:00
knowledgenude 5052d5119b update 2020-11-06 17:31:26 -03:00
knowledgenude 7159b90b45 change-socket-type 2020-11-06 17:22:10 -03:00
knowledgenude 72186140a9 new-nodes 2020-11-06 17:20:28 -03:00
luboslenco 085146b245 Write cascade params only when shadows are enabled 2020-11-05 11:04:11 +01:00
Lubos Lenco d9480bc5b2
Merge pull request #1987 from E1e5en/ln-math-upgrading
Upgrading the Math Node
2020-11-05 10:57:22 +01:00
Lubos Lenco 00c585811d
Merge pull request #1984 from knowledgenude/master
Update nodes that own 'On Local Axis'
2020-11-05 10:56:30 +01:00
E1e5en 1352811bcd Upgrading the Math Node
- Dynamically change the number of arguments for the selected operation;
- Exp() operation added.
2020-11-03 09:12:41 +03:00
David Bruce a559a0b28d
Revert/fix for traits updating
Changes compilation_server_done() back to before my change.  Updates the path it checks to krom/krom.js.temp, this should prevent it from deleting existing krom.js files on first project launch.
2020-11-02 10:15:26 -05:00
knowledgenude 7fcd3dc81d update-local-axis-nodes 2020-11-02 11:51:34 -03:00
luboslenco 8e839b84c7 Bump version 2020-11-02 14:08:09 +01:00
Lubos Lenco f0715ff2b6
Merge pull request #1982 from niacdoial/master
Some more (late) fixes to the node upgrading
2020-11-02 09:26:55 +01:00
Lubos Lenco bed58984d1
Merge pull request #1980 from E1e5en/checking-version
Checking Blender version for Armory
2020-11-02 09:23:27 +01:00
niacdoial 3f9b633fbf Fixed a problem in the default (0->1) node upgrade mechanism
-> in NodeReplacement.Identity, made so that the properties of a given node are detected better. Still not perfect, but better.
2020-11-01 22:15:53 +01:00
niacdoial 7414a6846a Fixed a bunch of node class initializations 2020-11-01 22:15:53 +01:00
E1e5en 9fbd29b143 Checking Blender version for Armory
- Added compare function to utils.py module
- Added check of Blender version and display of a message about incorrectness during Play, Build, Publish operations
2020-11-01 21:10:44 +03:00
Moritz Brückner f7afe8e2f0 Also load libraries when a file is opened during registration 2020-11-01 01:44:22 +01:00
Moritz Brückner 0dfb6c2292 Use more os.path.join() 2020-11-01 01:23:00 +01:00
Moritz Brückner bc5b207544 Fix bug with dynamic socket amounts for custom nodes 2020-11-01 01:20:58 +01:00
Moritz Brückner 07ed438f99 Fix wrong package name for custom nodes 2020-11-01 01:20:41 +01:00
Moritz Brückner 0120910f92 Improve handling of custom logic nodes 2020-11-01 01:20:27 +01:00
Lubos Lenco 38103be7d3
Merge pull request #1973 from davidbruce/master
Fix for play button not working with Krom.
2020-10-31 17:13:25 +01:00
Lubos Lenco 931b999117
Merge pull request #1978 from MoritzBrueckner/fix-paths
Fix trait paths
2020-10-31 17:08:02 +01:00
Lubos Lenco 91c98c7dfc
Merge pull request #1977 from MoritzBrueckner/profiler
Implement optional profiling for export
2020-10-31 17:05:01 +01:00
Lubos Lenco 4236190f5d
Merge pull request #1976 from E1e5en/detect-mobile-browser
LN Detect Mobile Browser
2020-10-31 17:01:36 +01:00
Moritz Brückner 25ed2059f1 Simplify get_pref_or_default 2020-10-31 13:18:05 +01:00
Moritz Brückner efad6d62e6 Fix trait paths 2020-10-31 01:41:53 +01:00
Moritz Brückner 0f3233d829 Implement optional profiling for export 2020-10-31 01:09:33 +01:00
Henrique 58a0d996aa renames 2020-10-30 15:28:38 -03:00
E1e5en 145686dbf4 LN Detect Mobile Browser
Detect Mobile Browser
2020-10-30 21:22:52 +03:00
Henrique 97d284c946 replace-none-node 2020-10-30 13:22:09 -03:00
David Bruce 561daa34fd Forces a build before compilation server to generate first krom.js.
Fixes bug where compilation server will delete krom.js if it exists
during first launch.
2020-10-30 11:39:25 -04:00
Moritz Brückner 1cebb0b0fd Further improve handling of nodes/menu registration 2020-10-29 15:17:44 +01:00
Lubos Lenco 0472734eab
Merge pull request #1967 from MoritzBrueckner/node-deprecation
Improve handling of deprecated logic nodes
2020-10-29 09:34:24 +01:00
Moritz Brückner 60ea88658c Improve handling of deprecated nodes 2020-10-28 20:29:01 +01:00
Henrique bb1fab992d add-bounce-elastic-to-mix-nodes 2020-10-28 11:16:14 -03:00
Lubos Lenco 2f762187cf
Merge pull request #1964 from MoritzBrueckner/fix-nodes-registering
Fix and improve registration of nodes
2020-10-28 10:45:47 +01:00
E1e5en 5eeb6ab559
Update LN_get_fps.py
Due to the change in PR (https://github.com/armory3d/armory/pull/1964)
2020-10-28 07:37:06 +03:00
Moritz Brückner bc05233ca5 Fix registration of node libraries 2020-10-27 22:39:07 +01:00
Moritz Brückner 4b9e5d533d Fix and improve registration of nodes 2020-10-27 19:44:37 +01:00
E1e5en 658d2546d8 Add LN Get Frames Per Second
This is sometimes more convenient than enable the entire debug console.
2020-10-27 15:56:34 +03:00
Henrique 4324d6196b more-cleanups 2020-10-26 11:32:59 -03:00
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
Lubos Lenco 0b01c4648d
Merge pull request #1864 from MoritzBrueckner/new-nodes
Some new nodes and improvements (by @knowledgenude )
2020-09-14 08:21:40 +02:00
Moritz Brückner 533c81e2cf Merge branch 'master' into new-nodes
# Conflicts:
#	blender/arm/logicnode/object/LN_get_visible.py
#	blender/arm/logicnode/object/LN_set_visible.py
2020-09-14 01:08:59 +02:00
Moritz Brückner e634fbf629 Fix export of String and Object sockets 2020-09-14 01:03:13 +02:00
knowledgenude 7d419481f2
Update .py files 2020-09-13 15:59:48 -03:00
knowledgenude e3c7731b63
Update object nodes .py 2020-09-13 15:43:27 -03:00
knowledgenude d2ecc78712
Improved nodes + LN_get_object_offscreen.py 2020-09-13 14:11:57 -03:00
knowledgenude 8d7c139375
Add LN_get_rigid_body_data.py 2020-09-13 14:09:42 -03:00
niacdoial 19064c60b5 populated a previously empty error message 2020-09-13 15:40:35 +02:00
niacdoial 28722ee866 Fixed one bug/exploit waiting to happen
(and removed a debug print)
2020-09-13 15:32:39 +02:00
niacdoial c8a6743819 Merge branch 'logic-nodes' into master
(additions: node versioning system, slight rework of the NodeSockets)
2020-09-13 11:36:41 +02:00
niacdoial bdc33cb419 added node versioning information to all node classes 2020-09-13 11:27:58 +02:00
Lubos Lenco b2c00f3dfa
Merge pull request #1858 from MoritzBrueckner/arm-flag
Add "armory" flag on export to differ between Armory and Kha
2020-09-13 10:47:14 +02:00
Lubos Lenco b89a757bc4
Merge pull request #1857 from E1e5en/master
Blender UI – Armory Trait – Logic Node
2020-09-13 10:27:14 +02:00
niacdoial cd730249af Merge branch 'node-versioning' into logic-nodes 2020-09-12 18:29:28 +02:00
niacdoial 3a2952ced8 Added node versioning
- changed the way custom node sockets are handled at several places
 - updated the `replaceAll` and `replace` functions used to perform node replacements
 - renamed and improved the NodeReplacement [new name] class, which represents a replacement task
 - added an arm_version property to all logic nodes, as well as a `get_replacement_node` method (to be overridden for each node)
 - added an option to declare a node as obselete in add_node()  (useful in order to have the node defined, but out of the menu)
 - added classes for UI popups linked to node updates, as well as an operator dedicated to said node update

Thanks to MoritzBrueckner for part of the ground work!
2020-09-12 18:15:53 +02:00
Moritz Brückner e8b1859e8b Add "armory" flag on export so libraries can differ between Armory and Kha 2020-09-11 14:43:59 +02:00
E1e5en 4304be7a0a Blender UI – Armory Trait – Logic Node
Add buttons:
- New Node Tree – creates and sets a new Node Tree in the list;
- Edit Node Tree – loads the Node Tree selected from the list into all Logic Node Editor;
- From Node Tree – loops through all the working Logic Node Editor and from the last in the list sets the value to the list.
2020-09-11 12:18:31 +03:00
Moritz Brückner 2d33398f9f Merge remote-tracking branch 'upstream/master' into logic-nodes
# Conflicts:
#	blender/arm/logicnode/action_set_visible.py
#	blender/arm/logicnode/physics_get_gravity.py
2020-09-09 21:11:49 +02:00
Moritz Brückner fccd83bf14 Rename MODULE_AS_CATEGORY -> PKG_AS_CATEGORY 2020-09-09 20:48:35 +02:00
Moritz Brückner 1bde147a23 AddCollectionnode -> CreateCollectionNode 2020-09-09 20:34:23 +02:00
Moritz Brückner 3ea181fc37 Fix operator call 2020-09-09 20:30:49 +02:00
Moritz Brückner e6de489451 Better names for array remove nodes 2020-09-09 20:27:54 +02:00
Moritz Brückner d0f3c1e946 Ensure correct node section order 2020-09-09 15:18:48 +02:00
knowledgenude 9c8b6d3b98
Update action_set_visible.py 2020-09-08 21:05:51 -03:00
knowledgenude 546f8824d0
value_get_mouse_lock.py , value_get_mouse_visible.py 2020-09-08 20:12:45 -03:00
knowledgenude bdb18496a3
canvas_get_visible.py 2020-09-08 19:34:45 -03:00
Moritz Brückner cfd6b01f0a Remove alternative category icons 2020-09-09 00:32:38 +02:00
Moritz Brückner 83fe52b281 Put categories from logic node extension packs to the end of the menu 2020-09-09 00:31:50 +02:00
Moritz Brückner e48f682cdf Remove obsolete bl_icon='NONE' from node definitions 2020-09-09 00:28:41 +02:00
Moritz Brückner 179fdcf17c Show bl_description or docstring when hovering over nodes in the menu 2020-09-09 00:25:10 +02:00
Moritz Brückner 1c6444b511 Rename ray cast socket 2020-09-08 23:44:15 +02:00
Moritz Brückner dc00b6abd5 Fix ParseFloatNode label and add it to its own section 2020-09-08 23:31:09 +02:00
Moritz Brückner 7f2bbd8d49 CastPhysicsRayNode -> RayCastNode 2020-09-08 23:30:50 +02:00
Moritz Brückner ce3a4dd1a0 SelfNode -> SelfObjectNode 2020-09-08 23:30:37 +02:00
Moritz Brückner 8559505d2f InArrayNode -> ArrayContainsNode 2020-09-08 23:29:50 +02:00
Moritz Brückner 39fc1f3cad Remove unused imports 2020-09-08 23:21:41 +02:00
Moritz Brückner 4681149a90 Fix docstring format 2020-09-08 23:14:51 +02:00
Moritz Brückner 45ce65513b Make the mask node a variable node 2020-09-08 22:11:25 +02:00
Moritz Brückner 8e6c8031b0 Use new sockets for variable nodes 2020-09-08 22:08:29 +02:00
Moritz Brückner bec4e2e8ac Use new socket functions 2020-09-08 21:49:02 +02:00
Moritz Brückner d83cdc4f33 Add custom add input/output functions and denote variable socket functionality 2020-09-08 21:34:05 +02:00
Moritz Brückner 727c2d9f35 Make ArmLogicTreeNode a subclass of bpy.types.Node 2020-09-08 21:16:20 +02:00
Lubos Lenco 00cad1832a
Merge pull request #1848 from QuantumCoderQC/patch2
Support for displacement in instanced objects
2020-09-08 20:26:10 +02:00
Lubos Lenco dc16740360
Merge pull request #1847 from QuantumCoderQC/master
Add getGravity method. Fix getGravity logic node.
2020-09-08 20:20:43 +02:00
Moritz Brückner abf495bf2f Fix usage of custom socket types 2020-09-08 17:04:13 +02:00
Moritz Brückner bfa23a9d6a Don't register internal nodes again 2020-09-08 17:03:56 +02:00
Moritz Brückner c98f593459 Reassign node categories + rename files 2020-09-08 17:03:24 +02:00
Moritz Brückner 6168f68dd0 Don't hardcode the position of the 'default' node section 2020-09-08 01:26:41 +02:00
QuantumCoderQC 14a8d8698f Spoort for displacement in instanced objects 2020-09-08 00:26:44 +02:00
QuantumCoderQC cc35b01684 Add getGravity method. Fix getGravity logic node. 2020-09-07 22:11:03 +02:00
Moritz Brückner 2babf2f97b Alphabeticallysort nodes in node sections 2020-09-07 20:36:30 +02:00
Moritz Brückner b31c151cf3 Add possibility to use the module name as the node category 2020-09-07 19:15:39 +02:00
Moritz Brückner 430053bfb2 Remove unused debug print 2020-09-07 19:15:07 +02:00
Moritz Brückner a5a15e472b Fix unregistering of categories 2020-09-07 01:26:31 +02:00
Moritz Brückner 14bd60d3f4 Fix docstring format 2020-09-07 01:15:12 +02:00
Moritz Brückner b248f2c8e8 Move socket classes to own module and remove now obsolete eye drop operator 2020-09-07 01:13:00 +02:00
Moritz Brückner dfb0c566c7 Fix missing add node menu registering 2020-09-07 01:10:43 +02:00
Moritz Brückner 74efd5df80 Add custom node search operator 2020-09-07 00:54:52 +02:00
Moritz Brückner 16d8df73b2 Implement custom node menu 2020-09-07 00:40:54 +02:00
Moritz Brückner 05c0a201ad Fix missing import 2020-09-07 00:33:46 +02:00
Moritz Brückner f8376e877f Fix register_node() for internal nodes 2020-09-07 00:33:31 +02:00
Moritz Brückner 153594985b Rename node_class -> node_type 2020-09-07 00:33:16 +02:00
Moritz Brückner 6c43fb9289 Whitespace and other small cleanups 2020-09-07 00:08:51 +02:00
Moritz Brückner 07817fed54 Add new node/category API 2020-09-07 00:06:41 +02:00
knowledgenude 193c712bf4
Improve Set Activation Node 2020-09-06 15:10:51 -03:00
knowledgenude 37bd828784
Delete physics_sync_transform.py 2020-09-06 15:10:22 -03:00
knowledgenude 72ee4da37d
physics_remove_physics.py 2020-09-06 10:50:03 -03:00
knowledgenude 0622b89c61
Delete physics_remove_from_world.py 2020-09-06 10:44:59 -03:00
knowledgenude 6e824580b9
Set Friction node .py 2020-09-05 18:05:35 -03:00
knowledgenude 042be35f06
+3 physics nodes 2020-09-05 10:31:28 -03:00
Lubos Lenco 86ebf8ef05
Merge pull request #1834 from MoritzBrueckner/spawn-collection
Add SpawnCollection node
2020-09-04 10:08:38 +02:00
Moritz Brückner a344209a79 Small format improvement 2020-09-03 22:50:35 +02:00
Moritz Brückner 720967c5d5 Remove duplicate naming from camera nodes 2020-09-03 22:50:02 +02:00
Moritz Brückner 1dbbc05557 Add SpawnCollection node 2020-09-03 18:53:19 +02:00