Commit graph

407 commits

Author SHA1 Message Date
Moritz Brückner 74d6b594a6 Two new logic nodes for the "Random" category 2020-10-19 18:21:56 +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
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
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
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
Henrique 677ae903a2 merge-pause-and-resume-nodes 2020-10-09 17:43:17 -03: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
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
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
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 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
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
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
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
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 98fccc445a Fix naming of dynamic sockets 2020-09-14 23:20:19 +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
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 28722ee866 Fixed one bug/exploit waiting to happen
(and removed a debug print)
2020-09-13 15:32:39 +02:00
niacdoial bdc33cb419 added node versioning information to all node classes 2020-09-13 11:27:58 +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 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 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 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 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 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 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 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 74efd5df80 Add custom node search operator 2020-09-07 00:54:52 +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 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
niacdoial 17daabeb29 Improved quaternion and angle handling in logic nodes (+2bugfixes)
- Made so all nodes outputting a quaternion object also output it as a XYZ (vector) + W (float) combination
- Modernized the interface of the "Action/Rotate Object" node, to align on the newer "Action/Set Rotation" node interface  ("Action/Rotate Object Along Axis" is now depreciated, but still usable)
- Fixed a blender-side-only bug with the "Logic/Switch" node (...which technically could have lead to a compile-time problem if exploited the right way)
- Fixed a bug on the "Action/Set Rotation" node: now, quaternion input is automatically normalized in order to avoid accidental scaling
- Added a "Value/Separate Quaternion" node
- Made so the names of some sockets change in the "Set Rotation" and "Rotate Object" nodes, so they adapt to those nodes' input types.
  (Same thing with "Value/Vector From Transform"'s output type)
2020-08-30 15:50:06 +02:00
QuantumCoderQC c54a5d2bed Upgrade Apply Force at location and Apply Impulse at location to include object rotation 2020-08-28 03:14:49 +02:00
knowledgenude a89c2fbe44
Set logic nodes icons to none (5) 2020-08-07 14:07:51 -03:00
knowledgenude 6d9a766db6
Set logic nodes icons to none (4) 2020-08-07 14:05:48 -03:00
knowledgenude feb9598bd1
Set logic nodes icons to none (3) 2020-08-07 14:03:29 -03:00
knowledgenude f7c8b2212e
Set logic nodes icons to none (2) 2020-08-07 14:00:46 -03:00
knowledgenude d75238e95f
Set logic nodes icons to none (1) 2020-08-07 13:58:19 -03:00
Moritz Brückner 85411312d7 Implement custom default values for custom node sockets 2020-06-10 14:25:01 +02:00
Moritz Brückner 1dfc777f2b Add CustomSocket node socket type 2020-06-08 08:49:21 +02:00
Moritz Brückner 2e398c96ba Implement "reflect" operation for VectorMathNode 2020-06-04 22:19:02 +02:00
Moritz Brückner 5382399b70 Add retrigger option to Play Sound node 2020-05-16 00:28:52 +02:00
Moritz Brückner 18ebd3444f PlaySoundRawNode: add pause/stop functionality 2020-05-16 00:21:10 +02:00
Moritz Brückner 49c5b1b129 Change PlaySoundRawNode icon
Does this even show up in the UI?
2020-05-15 23:37:18 +02:00
Moritz Brückner 55ce26c02f PlaySoundRawNode: add loop option 2020-05-15 23:32:48 +02:00
Moritz Brückner 4fa9d8b980 Add optional sample rate setting to PlaySoundRawNode 2020-05-15 23:22:41 +02:00
Moritz Brückner 1d82747fbc onCanvasElementNodes can now listen to hover events 2020-05-14 17:34:39 +02:00
Moritz Brückner 247e0b4c3b Refactor ArrayAddNode + combine it with ArrayAddUnique 2020-04-12 17:33:27 +02:00
Lubos Lenco f446c0a009
Merge pull request #1650 from MoritzBrueckner/array-loop
Fix ArrayLoopNode socket (dynamic value) + add "Index" output
2020-04-12 11:33:19 +02:00
Lubos Lenco 6abaacd907
Merge pull request #1651 from QuantumCoderQC/master
Added set checkbox and OnCanvasElement Node
2020-04-12 11:30:36 +02:00
Lubos Lenco 26aa9956a2
Merge pull request #1652 from RLP9GHR60I/iss1256
Add "Has contact (Array)" node
2020-04-12 11:29:17 +02:00
Daniel B. Bruno 4a3d3a58d6 Add "Has contact (Array)" node
This node was requested on issue #1256.
2020-04-11 17:57:21 -03:00
QuantumCoderQC dda2396313 Added set checkbox and OnCanvasElement Node 2020-04-11 18:33:53 +02:00
Moritz Brückner a9d2a10d0b Fix ArrayLoopNode socket (dynamic value) + add "Index" output 2020-04-11 17:49:17 +02:00
Sandy 7541ca86a2
fix https://github.com/armory3d/armory/issues/1576 2020-04-10 21:22:04 +09:00
Sandy 7d90101448
Delete Distance Node
Remove this because the same can be achieved with "Vector Math"
2020-03-16 22:24:42 +09:00
QuantumCoderQC 1770aeb002 Added nodes to start animation from a partivular frame index 2020-03-14 23:30:09 +01:00
Sandy 30d22a264b
Add new
Input of "Get Distance" is Object, but input of "Distance" is Vector.
2020-03-14 21:04:51 +09:00
Alexander 60f72e7e0e Merge in PPM
Redone and ready to be merged with Armory
2020-03-04 17:45:19 +01:00
Sandy 6fab32b613
Handling issues posted on the Armory forum 2020-02-09 23:45:04 +09:00
Sandy 4d54f6d2dc
https://github.com/armory3d/armory/issues/1500 2019-12-18 22:19:14 +09:00
Sandy 99f5d4c756
Calculate transform data directly 2019-12-07 22:08:31 +09:00
Sandy 47f5b4b78e
Fixed issue reported in Armory Forum
http://forums.armory3d.org/t/helper-text-in-logic-nodes/3673
2019-11-05 21:59:51 +09:00
luboslenco 8091193058 Fix comma and period keys 2019-11-04 21:35:18 +01:00
Sandy 488031e7d8
Correct socket position 2019-10-18 21:35:08 +09:00
Sandy 39114e9fd2
Correct socket position 2019-10-18 21:33:26 +09:00
Sandy a138baea67
fix https://github.com/armory3d/armory/issues/1438 2019-10-17 22:03:06 +09:00
Lubos Lenco c70478c11e
Merge pull request #1406 from zeeshan595/master
Added support for angle axies rotation nodes
2019-10-08 21:46:12 +02:00
BlackGoku36 42b0ce4b1f add renderpath nodes 2019-10-02 15:09:47 +05:30
Lubos Lenco 9b0673d158
Merge pull request #1420 from BlackGoku36/logicnodes
Add string operation nodes
2019-09-30 13:48:28 +02:00
BlackGoku36 63560f6163 remove substr 2019-09-30 17:13:35 +05:30
BlackGoku36 a5db10437f add string operation nodes 2019-09-30 00:22:00 +05:30
BlackGoku36 a3e45a3a5e Revert "add some string operating nodes"
This reverts commit 5942b177e4.
2019-09-30 00:18:13 +05:30
BlackGoku36 5942b177e4 add some string operating nodes 2019-09-30 00:11:26 +05:30
Sandy f305de8ff7
Adding canvas category logic nodes 2019-09-29 22:37:18 +09:00