Compare commits

...

13 Commits

Author SHA1 Message Date
Serhii Snitsaruk 09185211ff
Merge pull request #177 from limbonaut/hide-update-mode
Hide `update_mode` property for non-root HSMs
2024-07-31 15:26:45 +02:00
Serhii Snitsaruk 9e79183579
Update demo import 2024-07-31 14:50:56 +02:00
Serhii Snitsaruk bed04dbf87
Hide update_mode for non-root HSMs 2024-07-31 14:50:04 +02:00
Serhii Snitsaruk 64df43c7c9
Merge pull request #176 from limbonaut/hsm-input-fix
LimboHSM: Fix process_input is not enabled in active substate
2024-07-31 13:40:50 +02:00
Serhii Snitsaruk d7daa027ee
Merge pull request #174 from limbonaut/gha-arm-builds
GHA: Add Linux & Windows ARM64 builds
2024-07-31 13:28:55 +02:00
Serhii Snitsaruk abe9a26460
GHA: Add Linux ARM32 template builds 2024-07-31 12:45:12 +02:00
Serhii Snitsaruk 2c58cfc3cb
GHA: Don't strip binaries, done at build time 2024-07-31 12:45:02 +02:00
Serhii Snitsaruk a1d6276097
Fix process_input is not enabled in active substate 2024-07-31 12:15:15 +02:00
Serhii Snitsaruk afc2b63f06
GHA: Disable Editor .NET ARM64 2024-07-31 10:43:56 +02:00
Serhii Snitsaruk af27aca021
GHA: Fix strip failing in Linux ARM64 builds 2024-07-30 16:19:02 +02:00
Serhii Snitsaruk dad5082e7e
GHA: Add Linux ARM toolchain 2024-07-30 15:27:58 +02:00
Serhii Snitsaruk 8568572092
GHA: Add Windows ARM64 builds 2024-07-30 14:20:46 +02:00
Serhii Snitsaruk 3cce7aa0a6
GHA: Add arm64 Linux builds 2024-07-30 14:16:01 +02:00
13 changed files with 155 additions and 26 deletions

View File

@ -15,6 +15,11 @@ runs:
TOOLCHAIN_64_SHA=16c8302fcb676c1f0fb9df73d6cff250ba1f4286
TOOLCHAIN_32_URL=https://github.com/godotengine/buildroot/releases/download/godot-2020.11.x-2/i686-godot-linux-gnu_sdk-buildroot.tar.bz2
TOOLCHAIN_32_SHA=6171652abc54ef219e5187bc53660ee4e2f796f4
TOOLCHAIN_ARM64_URL=https://github.com/godotengine/buildroot/releases/download/godot-2023.08.x-3/aarch64-godot-linux-gnu_sdk-buildroot.tar.bz2
TOOLCHAIN_ARM64_SHA=73bed3d26b92c8b9a93c0ceb6bcce8fe567d1764
TOOLCHAIN_ARM32_URL=https://github.com/godotengine/buildroot/releases/download/godot-2023.08.x-3/arm-godot-linux-gnueabihf_sdk-buildroot.tar.bz2
TOOLCHAIN_ARM32_SHA=aa5853fd73faec3837c6127649471275d7e61cb2
# ! Export variables:
if [[ "${{ inputs.arch }}" == "x86_64" ]]; then
echo "TOOLCHAIN_URL=${TOOLCHAIN_64_URL}" >> "$GITHUB_ENV"
@ -22,6 +27,12 @@ runs:
elif [[ "${{ inputs.arch }}" == "x86_32" ]]; then
echo "TOOLCHAIN_URL=${TOOLCHAIN_32_URL}" >> "$GITHUB_ENV"
echo "TOOLCHAIN_SHA=${TOOLCHAIN_32_SHA}" >> "$GITHUB_ENV"
elif [[ "${{ inputs.arch }}" == "arm64" ]]; then
echo "TOOLCHAIN_URL=${TOOLCHAIN_ARM64_URL}" >> "$GITHUB_ENV"
echo "TOOLCHAIN_SHA=${TOOLCHAIN_ARM64_SHA}" >> "$GITHUB_ENV"
elif [[ "${{ inputs.arch }}" == "arm32" ]]; then
echo "TOOLCHAIN_URL=${TOOLCHAIN_ARM32_URL}" >> "$GITHUB_ENV"
echo "TOOLCHAIN_SHA=${TOOLCHAIN_ARM32_SHA}" >> "$GITHUB_ENV"
fi
- name: Cache buildroot

View File

@ -287,19 +287,6 @@ jobs:
echo "---"
ls -R out/
- name: Strip lib
if: matrix.opts.platform != 'windows' && matrix.opts.platform != 'web' && (matrix.opts.platform != 'android' || startsWith(matrix.opts.arch, 'x86'))
run: |
ls -l -R out/addons/limboai/bin/
echo "---"
if [ "$RUNNER_OS" == "macOS" ]; then
strip -u out/addons/limboai/bin/liblimboai*/liblimboai*
else
strip out/addons/limboai/bin/liblimboai*
fi
echo "---"
ls -l -R out/addons/limboai/bin/
- name: Upload artifact
uses: actions/upload-artifact@v4
env:

View File

@ -170,9 +170,6 @@ jobs:
cp -r misc/dist/ios_xcode bin/
cd bin/
# --- Note: Doesn't look like libs need stripping ---
# strip *.a
mv libgodot.ios.template_debug.arm64.a ios_xcode/libgodot.ios.debug.xcframework/ios-arm64/libgodot.a
# ! lipo -create libgodot.ios.template_debug.arm64.simulator.a libgodot.ios.template_debug.x86_64.simulator.a -output ios_xcode/libgodot.ios.debug.xcframework/ios-arm64_x86_64-simulator/libgodot.a
mv libgodot.ios.template_debug.x86_64.simulator.a ios_xcode/libgodot.ios.debug.xcframework/ios-arm64_x86_64-simulator/libgodot.a

View File

@ -45,6 +45,8 @@ jobs:
fail-fast: false
matrix:
opts:
# * Standard x86_64
- name: Editor (x86_64, release)
target: editor
arch: x86_64
@ -63,6 +65,8 @@ jobs:
dotnet: false
should-build: ${{ !inputs.test-build }}
# * Standard x86_32
# - name: Editor (x86_32, release)
# target: editor
# arch: x86_32
@ -81,6 +85,42 @@ jobs:
dotnet: false
should-build: ${{ !inputs.test-build }}
# * Standard arm64
- name: Editor (arm64, release)
target: editor
arch: arm64
dotnet: false
should-build: ${{ !inputs.test-build }}
- name: Template (arm64, release)
target: template_release
arch: arm64
dotnet: false
should-build: ${{ !inputs.test-build }}
- name: Template (arm64, debug)
target: template_debug
arch: arm64
dotnet: false
should-build: ${{ !inputs.test-build }}
# * Standard arm32
- name: Template (arm32, release)
target: template_release
arch: arm32
dotnet: false
should-build: ${{ !inputs.test-build }}
- name: Template (arm32, debug)
target: template_debug
arch: arm32
dotnet: false
should-build: ${{ !inputs.test-build }}
# * .NET x86_64
- name: Editor .NET (x86_64, release)
target: editor
arch: x86_64
@ -99,6 +139,8 @@ jobs:
dotnet: true
should-build: ${{ !inputs.test-build }}
# * .NET x86_32
# - name: Editor .NET (x86_32, release)
# target: editor
# arch: x86_32
@ -117,6 +159,42 @@ jobs:
dotnet: true
should-build: ${{ !inputs.test-build }}
# * .NET arm64
# ! FIXME: Needs a separate job for .NET glue generation since we can't execute arm64 binaries on x86_64.
# ! Alternatively, solution generation can be done as post-process job, taking the glue from x86_64, after all builds complete.
# - name: Editor .NET (arm64, release)
# target: editor
# arch: arm64
# dotnet: true
# should-build: ${{ !inputs.test-build }}
- name: Template .NET (arm64, release)
target: template_release
arch: arm64
dotnet: true
should-build: ${{ !inputs.test-build }}
- name: Template .NET (arm64, debug)
target: template_debug
arch: arm64
dotnet: true
should-build: ${{ !inputs.test-build }}
# * .NET arm32
- name: Template .NET (arm32, release)
target: template_release
arch: arm32
dotnet: true
should-build: ${{ !inputs.test-build }}
- name: Template .NET (arm32, debug)
target: template_debug
arch: arm32
dotnet: true
should-build: ${{ !inputs.test-build }}
exclude:
- { opts: { should-build: false } }
@ -183,7 +261,6 @@ jobs:
env:
OUTDIR: ${{ startsWith(matrix.opts.target, 'template') && 'out/templates' || 'out/' }}
run: |
strip ./bin/godot.*
chmod +x ./bin/godot.*
mkdir -p ${{env.OUTDIR}}
mv bin/* ${{env.OUTDIR}}

View File

@ -199,7 +199,6 @@ jobs:
- name: Prepare artifact
run: |
strip bin/godot.*
chmod +x bin/godot.*
- name: Upload artifact
@ -257,9 +256,6 @@ jobs:
run: |
ls bin/
lipo -create bin/godot.macos.editor.x86_64* bin/godot.macos.editor.arm64* -output bin/godot.macos.editor.universal
du -sh bin/
strip bin/godot.macos.editor.universal
du -sh bin/
mkdir -p out/editor/
cp -r misc/dist/macos_tools.app out/editor/${APP_NAME}
mkdir -p out/editor/${APP_NAME}/Contents/{MacOS,Resources}
@ -295,7 +291,6 @@ jobs:
ls bin/
lipo -create bin/godot.macos.template_release.x86_64* bin/godot.macos.template_release.arm64* -output bin/godot.macos.template_release.universal
lipo -create bin/godot.macos.template_debug.x86_64* bin/godot.macos.template_debug.arm64* -output bin/godot.macos.template_debug.universal
strip bin/godot.*.universal
cp -r misc/dist/macos_template.app macos_template.app
mkdir -p macos_template.app/Contents/MacOS
cp bin/godot.macos.template_debug.universal macos_template.app/Contents/MacOS/godot_macos_debug.universal

View File

@ -46,6 +46,8 @@ jobs:
fail-fast: false
matrix:
opts:
# * Standard x86_64
- name: Editor (x86_64, release)
target: editor
arch: x86_64
@ -64,6 +66,8 @@ jobs:
dotnet: false
should-build: ${{ !inputs.test-build }}
# * Standard x86_32
# - name: Editor (x86_32, release)
# target: editor
# arch: x86_32
@ -82,6 +86,28 @@ jobs:
dotnet: false
should-build: ${{ !inputs.test-build }}
# * Standard arm64
# - name: Editor (arm64, release)
# target: editor
# arch: arm64
# dotnet: false
# should-build: ${{ !inputs.test-build }}
- name: Template (arm64, release)
target: template_release
arch: arm64
dotnet: false
should-build: ${{ !inputs.test-build }}
- name: Template (arm64, debug)
target: template_debug
arch: arm64
dotnet: false
should-build: ${{ !inputs.test-build }}
# * .NET x86_64
- name: Editor .NET (x86_64, release)
target: editor
arch: x86_64
@ -100,6 +126,8 @@ jobs:
dotnet: true
should-build: ${{ !inputs.test-build }}
# * .NET x86_32
# - name: Editor .NET (x86_32, release)
# target: editor
# arch: x86_32
@ -118,6 +146,26 @@ jobs:
dotnet: true
should-build: ${{ !inputs.test-build }}
# * .NET arm64
# - name: Editor (arm64, release)
# target: editor
# arch: arm64
# dotnet: true
# should-build: ${{ !inputs.test-build }}
- name: Template (arm64, release)
target: template_release
arch: arm64
dotnet: true
should-build: ${{ !inputs.test-build }}
- name: Template (arm64, debug)
target: template_debug
arch: arm64
dotnet: true
should-build: ${{ !inputs.test-build }}
exclude:
- { opts: { should-build: false } }

View File

@ -15,6 +15,7 @@ dest_files=["res://.godot/imported/junction_bold.otf-4db2200a8b1a6423bafe2a4e7c7
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48

View File

@ -15,6 +15,7 @@ dest_files=["res://.godot/imported/knewave_regular.ttf-955953b059f713782c7b07e66
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48

View File

@ -234,18 +234,18 @@ unique_name_in_owner = true
custom_minimum_size = Vector2(0, 140)
layout_mode = 2
size_flags_vertical = 3
theme_override_font_sizes/bold_italics_font_size = 20
theme_override_font_sizes/italics_font_size = 20
theme_override_font_sizes/mono_font_size = 20
theme_override_font_sizes/normal_font_size = 20
theme_override_font_sizes/bold_font_size = 20
theme_override_font_sizes/italics_font_size = 20
theme_override_font_sizes/bold_italics_font_size = 20
theme_override_font_sizes/mono_font_size = 20
bbcode_enabled = true
text = "[b]Behavior Trees[/b] are composed of tasks that represent specific actions or decision-making rules. Tasks can be broadly categorized into two main types: control tasks and leaf tasks. Control tasks determine the execution flow within the tree. They include Sequence, Selector, and Invert. Leaf tasks represent specific actions to perform, like moving or attacking, or conditions that need to be checked. The BTTask class provides the foundation for various building blocks of the Behavior Trees. BT tasks can share data with the help of the Blackboard."
fit_content = true
[node name="CodePopup" type="PopupPanel" parent="UI Layer/Control"]
unique_name_in_owner = true
position = Vector2i(135, 60)
position = Vector2i(0, 60)
size = Vector2i(1024, 708)
visible = true

View File

@ -52,11 +52,13 @@ void LimboHSM::change_active_state(LimboState *p_state) {
if (active_state) {
active_state->_exit();
active_state->set_process_input(false);
previous_active = active_state;
}
active_state = p_state;
active_state->_enter();
active_state->set_process_input(true);
emit_signal(LimboStringNames::get_singleton()->active_state_changed, active_state, previous_active);
}
@ -251,6 +253,13 @@ void LimboHSM::_initialize(Node *p_agent, const Ref<Blackboard> &p_blackboard) {
}
}
void LimboHSM::_validate_property(PropertyInfo &p_property) const {
if (p_property.name == LW_NAME(update_mode) && !is_root()) {
// Hide update_mode for non-root HSMs.
p_property.usage = PROPERTY_USAGE_NONE;
}
}
void LimboHSM::_notification(int p_what) {
switch (p_what) {
case NOTIFICATION_POST_ENTER_TREE: {

View File

@ -64,6 +64,7 @@ protected:
static void _bind_methods();
void _notification(int p_what);
void _validate_property(PropertyInfo &p_property) const;
virtual void _initialize(Node *p_agent, const Ref<Blackboard> &p_blackboard) override;
virtual bool _dispatch(const StringName &p_event, const Variant &p_cargo = Variant()) override;

View File

@ -156,6 +156,7 @@ LimboStringNames::LimboStringNames() {
Tools = SN("Tools");
Tree = SN("Tree");
TripleBar = SN("TripleBar");
update_mode = SN("update_mode");
update_task = SN("update_task");
update_tree = SN("update_tree");
updated = SN("updated");

View File

@ -173,6 +173,7 @@ public:
StringName Tools;
StringName Tree;
StringName TripleBar;
StringName update_mode;
StringName update_task;
StringName update_tree;
StringName updated;