K. S. Ernest (iFire) Lee 9a4df15d3e Codebase Enhancements and Performance Improvements
We've made several updates to improve our codebase and application performance.

- Clang format was applied for better readability and consistency, aiding other developers in understanding and contributing to the code.
- We resolved issues that were causing visual script compilation failure. The visual script now compiles successfully, ensuring application functionality.
- Broken sections within the codebase were fixed, improving overall stability.
- Built-in functions from the visual script were removed to simplify the code and enhance readability.
- Generic search performance was improved to provide faster results, enhancing user experience.
- Missing flow nodes were added to the Visual Script, ensuring all necessary components are present for correct functioning.

In an effort to streamline the codebase:

- `VisualScriptComment` class and related code were removed, reducing complexity and improving maintainability.
- Error messages were optimized for quicker feedback when errors occur.
- Licenses were updated to reflect recent changes, ensuring legal compliance and project transparency.
- The `get_global_name()` override in `visual_script.h` was fixed, and `TYPE_BUILTIN_FUNC` in `visual_script_expression.h` was removed, improving code functionality.
- Search logic was refactored to avoid double searching, enhancing performance.
- Documentation was updated to reflect recent changes, providing accurate information to users and developers.
- Property selection logic in `VisualScriptPropertySelector` was refactored for easier understanding and modification.
- Code was refactored to avoid variable shadowing, improving readability and reducing potential errors.
- `.clang-format` and `.clang-tidy` configuration files were added to ensure consistent code styling.

To make the code more robust and easier to understand:

- Variable names were corrected for clarity, and error handling in `visual_script_expression.cpp` was improved.
- Function and variable names were refactored for better readability and maintainability.
- Member editing logic in `VisualScriptEditor` was simplified.
- Name variables were updated to be unique, avoiding potential conflicts and errors.
- The `VisualScriptSubCall` class was refactored for simplicity and ease of understanding.

For macOS workflow:

- It was updated to use the latest version and correct path for installing Vulkan SDK, enabling the application to leverage the latest features and improvements from the Vulkan SDK.
- Mac Vulkan SDK was installed to support Vulkan-based functionalities.

Lastly, we made necessary changes to pass CI/CD tests, ensuring the code quality and stability of the application.
2023-08-19 09:42:23 -07:00
2022-09-08 03:07:52 -05:00
2022-08-24 11:55:34 +02:00
2022-08-24 11:55:34 +02:00
2022-12-03 10:44:08 -08:00

VisualScript module for Godot

This repository contains the implementation of the "VisualScript" visual scripting language which used to be included directly in Godot Engine from Godot 3.0 until its removal in Godot 4.0.

See this blog post for details on why the VisualScript implementation was removed from Godot 4.0.

This repository has two aims:

  • Initially, this is a straight copy of the modules/visual_script/ folder in the Godot source tree, and can still be compiled as such to restore this functionality in Godot 4.0.
  • Ideally, if there is community interest and participation, we would like this module (which needs to be compiled together with the engine in a custom build) converted to use GDExtension via godot-cpp, allowing it to be distributed as a compiled library that can add this functionality back to a stock Godot build. As an extension, this feature could also evolved more freely, attracting new contributors with innovative ideas, and thus become a better visual scripting solution than what we had in the Godot 3.x era.

Compiling

For now this is still a C++ module, so it needs to be compiled together with Godot as a custom build.

See the Godot documentation for instructions on how to compile the engine.

To add this module, it should be cloned or copied as the modules/visual_script/ folder in the Godot source tree.

For example:

git clone https://github.com/godotengine/godot
cd godot/modules
git clone https://github.com/godotengine/godot-visual-script visual_script
cd ..
scons

Note that a custom visual_script name is given for this repository's clone, so that the final structure looks like modules/visual_script/ and not modules/godot-visual-script/.

Contributing

If you're interested in working on porting this C++ module to GDExtension, please join the #scripting (to discuss VisualScript) and #gdextension (to discuss GDExtension and godot-cpp) on the Godot Contributors Chat.

Description
VisualScript as a Godot Engine c++ module
Readme 7.1 MiB
Languages
C++ 99.3%
C 0.4%
Python 0.3%