From 638bb3fd1b5af9e7cd43becc462c8ff983a65f30 Mon Sep 17 00:00:00 2001 From: Fabien Freling Date: Mon, 18 Dec 2023 21:51:32 +0100 Subject: [PATCH 1/4] add godot and android sdk via nix --- flake.lock | 24 ++++++++++++------------ flake.nix | 4 ++++ 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index ca5ad12..8a5062e 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1696343447, - "narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=", + "lastModified": 1701473968, + "narHash": "sha256-YcVE5emp1qQ8ieHUnxt1wCZCC3ZfAS+SRRWZ2TMda7E=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4", + "rev": "34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5", "type": "github" }, "original": { @@ -20,11 +20,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1696983906, - "narHash": "sha256-L7GyeErguS7Pg4h8nK0wGlcUTbfUMDu+HMf1UcyP72k=", + "lastModified": 1702759837, + "narHash": "sha256-u3XeJVRe/Q975nwFE+6ALEwypMKJEELMJKDAhSKyq3M=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bd1cde45c77891214131cbbea5b1203e485a9d51", + "rev": "b2566f4f897ac6224e094b167d9488d03e157f28", "type": "github" }, "original": { @@ -37,11 +37,11 @@ "nixpkgs-lib": { "locked": { "dir": "lib", - "lastModified": 1696019113, - "narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=", + "lastModified": 1701253981, + "narHash": "sha256-ztaDIyZ7HrTAfEEUt9AtTDNoCYxUdSd6NrRHaYOIxtk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a", + "rev": "e92039b55bcd58469325ded85d4f58dd5a4eaf58", "type": "github" }, "original": { @@ -54,11 +54,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1697009197, - "narHash": "sha256-viVRhBTFT8fPJTb1N3brQIpFZnttmwo3JVKNuWRVc3s=", + "lastModified": 1702539185, + "narHash": "sha256-KnIRG5NMdLIpEkZTnN5zovNYc0hhXjAgv6pfd5Z4c7U=", "owner": "nixos", "repo": "nixpkgs", - "rev": "01441e14af5e29c9d27ace398e6dd0b293e25a54", + "rev": "aa9d4729cbc99dabacb50e3994dcefb3ea0f7447", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 032f3bf..8df9335 100644 --- a/flake.nix +++ b/flake.nix @@ -42,6 +42,10 @@ buildInputs = [ sqlite + # Android + android-tools + godot_4 + # Zig / webAssembly impl. zig zls From e6c28313e310f4d1b700ebbe931819e744aa5f2b Mon Sep 17 00:00:00 2001 From: Fabien Freling Date: Mon, 18 Dec 2023 21:51:47 +0100 Subject: [PATCH 2/4] add android export --- godot/export_presets.cfg | 201 +++++++++++++++++++++++++++++++++++++++ godot/project.godot | 1 + 2 files changed, 202 insertions(+) create mode 100644 godot/export_presets.cfg diff --git a/godot/export_presets.cfg b/godot/export_presets.cfg new file mode 100644 index 0000000..0be7e60 --- /dev/null +++ b/godot/export_presets.cfg @@ -0,0 +1,201 @@ +[preset.0] + +name="Android" +platform="Android" +runnable=true +dedicated_server=false +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="" +encryption_include_filters="" +encryption_exclude_filters="" +encrypt_pck=false +encrypt_directory=false + +[preset.0.options] + +custom_template/debug="" +custom_template/release="" +gradle_build/use_gradle_build=false +gradle_build/export_format=0 +gradle_build/min_sdk="" +gradle_build/target_sdk="" +architectures/armeabi-v7a=false +architectures/arm64-v8a=true +architectures/x86=false +architectures/x86_64=false +version/code=1 +version/name="" +package/unique_name="com.example.$genname" +package/name="" +package/signed=true +package/app_category=2 +package/retain_data_on_uninstall=false +package/exclude_from_recents=false +package/show_in_android_tv=false +package/show_in_app_library=true +package/show_as_launcher_app=false +launcher_icons/main_192x192="" +launcher_icons/adaptive_foreground_432x432="" +launcher_icons/adaptive_background_432x432="" +graphics/opengl_debug=false +xr_features/xr_mode=0 +screen/immersive_mode=true +screen/support_small=true +screen/support_normal=true +screen/support_large=true +screen/support_xlarge=true +user_data_backup/allow=false +command_line/extra_args="" +apk_expansion/enable=false +apk_expansion/SALT="" +apk_expansion/public_key="" +permissions/custom_permissions=PackedStringArray() +permissions/access_checkin_properties=false +permissions/access_coarse_location=false +permissions/access_fine_location=false +permissions/access_location_extra_commands=false +permissions/access_mock_location=false +permissions/access_network_state=false +permissions/access_surface_flinger=false +permissions/access_wifi_state=false +permissions/account_manager=false +permissions/add_voicemail=false +permissions/authenticate_accounts=false +permissions/battery_stats=false +permissions/bind_accessibility_service=false +permissions/bind_appwidget=false +permissions/bind_device_admin=false +permissions/bind_input_method=false +permissions/bind_nfc_service=false +permissions/bind_notification_listener_service=false +permissions/bind_print_service=false +permissions/bind_remoteviews=false +permissions/bind_text_service=false +permissions/bind_vpn_service=false +permissions/bind_wallpaper=false +permissions/bluetooth=false +permissions/bluetooth_admin=false +permissions/bluetooth_privileged=false +permissions/brick=false +permissions/broadcast_package_removed=false +permissions/broadcast_sms=false +permissions/broadcast_sticky=false +permissions/broadcast_wap_push=false +permissions/call_phone=false +permissions/call_privileged=false +permissions/camera=false +permissions/capture_audio_output=false +permissions/capture_secure_video_output=false +permissions/capture_video_output=false +permissions/change_component_enabled_state=false +permissions/change_configuration=false +permissions/change_network_state=false +permissions/change_wifi_multicast_state=false +permissions/change_wifi_state=false +permissions/clear_app_cache=false +permissions/clear_app_user_data=false +permissions/control_location_updates=false +permissions/delete_cache_files=false +permissions/delete_packages=false +permissions/device_power=false +permissions/diagnostic=false +permissions/disable_keyguard=false +permissions/dump=false +permissions/expand_status_bar=false +permissions/factory_test=false +permissions/flashlight=false +permissions/force_back=false +permissions/get_accounts=false +permissions/get_package_size=false +permissions/get_tasks=false +permissions/get_top_activity_info=false +permissions/global_search=false +permissions/hardware_test=false +permissions/inject_events=false +permissions/install_location_provider=false +permissions/install_packages=false +permissions/install_shortcut=false +permissions/internal_system_window=false +permissions/internet=false +permissions/kill_background_processes=false +permissions/location_hardware=false +permissions/manage_accounts=false +permissions/manage_app_tokens=false +permissions/manage_documents=false +permissions/manage_external_storage=true +permissions/master_clear=false +permissions/media_content_control=false +permissions/modify_audio_settings=false +permissions/modify_phone_state=false +permissions/mount_format_filesystems=false +permissions/mount_unmount_filesystems=false +permissions/nfc=false +permissions/persistent_activity=false +permissions/process_outgoing_calls=false +permissions/read_calendar=false +permissions/read_call_log=false +permissions/read_contacts=false +permissions/read_external_storage=false +permissions/read_frame_buffer=false +permissions/read_history_bookmarks=false +permissions/read_input_state=false +permissions/read_logs=false +permissions/read_phone_state=false +permissions/read_profile=false +permissions/read_sms=false +permissions/read_social_stream=false +permissions/read_sync_settings=false +permissions/read_sync_stats=false +permissions/read_user_dictionary=false +permissions/reboot=false +permissions/receive_boot_completed=false +permissions/receive_mms=false +permissions/receive_sms=false +permissions/receive_wap_push=false +permissions/record_audio=false +permissions/reorder_tasks=false +permissions/restart_packages=false +permissions/send_respond_via_message=false +permissions/send_sms=false +permissions/set_activity_watcher=false +permissions/set_alarm=false +permissions/set_always_finish=false +permissions/set_animation_scale=false +permissions/set_debug_app=false +permissions/set_orientation=false +permissions/set_pointer_speed=false +permissions/set_preferred_applications=false +permissions/set_process_limit=false +permissions/set_time=false +permissions/set_time_zone=false +permissions/set_wallpaper=false +permissions/set_wallpaper_hints=false +permissions/signal_persistent_processes=false +permissions/status_bar=false +permissions/subscribed_feeds_read=false +permissions/subscribed_feeds_write=false +permissions/system_alert_window=false +permissions/transmit_ir=false +permissions/uninstall_shortcut=false +permissions/update_device_stats=false +permissions/use_credentials=false +permissions/use_sip=false +permissions/vibrate=false +permissions/wake_lock=false +permissions/write_apn_settings=false +permissions/write_calendar=false +permissions/write_call_log=false +permissions/write_contacts=false +permissions/write_external_storage=false +permissions/write_gservices=false +permissions/write_history_bookmarks=false +permissions/write_profile=false +permissions/write_secure_settings=false +permissions/write_settings=false +permissions/write_sms=false +permissions/write_social_stream=false +permissions/write_sync_settings=false +permissions/write_user_dictionary=false diff --git a/godot/project.godot b/godot/project.godot index 1b49b39..2c0efd8 100644 --- a/godot/project.godot +++ b/godot/project.godot @@ -32,3 +32,4 @@ enabled=PackedStringArray("res://addons/godot-sqlite/plugin.cfg") renderer/rendering_method="gl_compatibility" renderer/rendering_method.mobile="gl_compatibility" +textures/vram_compression/import_etc2_astc=true From 25fa80039169d12b09d6f62e62f38dde54ba6f55 Mon Sep 17 00:00:00 2001 From: Fabien Freling Date: Mon, 18 Dec 2023 22:21:03 +0100 Subject: [PATCH 3/4] remove zig files --- .gitignore | 1 - .gitmodules | 6 --- 3rd-party/Tupfile | 5 -- 3rd-party/raygui | 1 - 3rd-party/raygui.c | 6 --- 3rd-party/raylib | 1 - Tupfile.ini | 0 build.zig | 79 ------------------------------- envrc.sample | 1 - flake.nix | 45 ++---------------- justfile | 22 ++------- src/main.zig | 114 --------------------------------------------- src/raylib.zig | 5 -- 13 files changed, 6 insertions(+), 280 deletions(-) delete mode 100644 .gitignore delete mode 100644 .gitmodules delete mode 100644 3rd-party/Tupfile delete mode 160000 3rd-party/raygui delete mode 100644 3rd-party/raygui.c delete mode 160000 3rd-party/raylib delete mode 100644 Tupfile.ini delete mode 100644 build.zig delete mode 100644 src/main.zig delete mode 100644 src/raylib.zig diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 567609b..0000000 --- a/.gitignore +++ /dev/null @@ -1 +0,0 @@ -build/ diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 600b63f..0000000 --- a/.gitmodules +++ /dev/null @@ -1,6 +0,0 @@ -[submodule "3rd-party/raygui"] - path = 3rd-party/raygui - url = https://github.com/raysan5/raygui.git -[submodule "3rd-party/raylib"] - path = 3rd-party/raylib - url = https://github.com/raysan5/raylib.git diff --git a/3rd-party/Tupfile b/3rd-party/Tupfile deleted file mode 100644 index c307e54..0000000 --- a/3rd-party/Tupfile +++ /dev/null @@ -1,5 +0,0 @@ -BDIR := ../build/raygui - -: raygui.c |> clang -c %f -o %o -I../build/raylib/include -Iraygui/src |> $(BDIR)/%B.o -: $(BDIR)/*.o |> ar crs %o %f |> $(BDIR)/libraygui.a - diff --git a/3rd-party/raygui b/3rd-party/raygui deleted file mode 160000 index 499e8bf..0000000 --- a/3rd-party/raygui +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 499e8bf7b1d9b0a92af8f685e646bc61f13c6dff diff --git a/3rd-party/raygui.c b/3rd-party/raygui.c deleted file mode 100644 index 2f9910a..0000000 --- a/3rd-party/raygui.c +++ /dev/null @@ -1,6 +0,0 @@ -#define RAYGUI_IMPLEMENTATION -#include "raygui.h" -#undef RAYGUI_IMPLEMENTATION - -#define GUI_WINDOW_FILE_DIALOG_IMPLEMENTATION -#include "../examples/custom_file_dialog/gui_window_file_dialog.h" diff --git a/3rd-party/raylib b/3rd-party/raylib deleted file mode 160000 index 18bedbd..0000000 --- a/3rd-party/raylib +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 18bedbd0952c27b0eb8bc5df0df4acf589cef181 diff --git a/Tupfile.ini b/Tupfile.ini deleted file mode 100644 index e69de29..0000000 diff --git a/build.zig b/build.zig deleted file mode 100644 index efae36f..0000000 --- a/build.zig +++ /dev/null @@ -1,79 +0,0 @@ -const std = @import("std"); - -// Although this function looks imperative, note that its job is to -// declaratively construct a build graph that will be executed by an external -// runner. -pub fn build(b: *std.Build) void { - const target = b.standardTargetOptions(.{}); - const optimize = b.standardOptimizeOption(.{}); - - const exe = b.addExecutable(.{ - .name = "fabapp", - .root_source_file = .{ .path = "src/main.zig" }, - .target = target, - .optimize = optimize, - }); - - // - // C dependencies - // - exe.linkLibC(); - - // Raylib - exe.addIncludePath(.{ .path = "build/raylib/include" }); - exe.addLibraryPath(.{ .path = "build/raylib" }); - exe.linkSystemLibrary("raylib"); - - // Raygui - exe.addIncludePath(.{ .path = "3rd-party/raygui/src" }); - exe.addIncludePath(.{ .path = "3rd-party/raygui" }); - exe.addLibraryPath(.{ .path = "build/raygui" }); - exe.linkSystemLibrary("raygui"); - - // SQLite - exe.linkSystemLibrary("sqlite3"); - - // This declares intent for the executable to be installed into the - // standard location when the user invokes the "install" step (the default - // step when running `zig build`). - b.installArtifact(exe); - - // This *creates* a Run step in the build graph, to be executed when another - // step is evaluated that depends on it. The next line below will establish - // such a dependency. - const run_cmd = b.addRunArtifact(exe); - - // By making the run step depend on the install step, it will be run from the - // installation directory rather than directly from within the cache directory. - // This is not necessary, however, if the application depends on other installed - // files, this ensures they will be present and in the expected location. - run_cmd.step.dependOn(b.getInstallStep()); - - // This allows the user to pass arguments to the application in the build - // command itself, like this: `zig build run -- arg1 arg2 etc` - if (b.args) |args| { - run_cmd.addArgs(args); - } - - // This creates a build step. It will be visible in the `zig build --help` menu, - // and can be selected like this: `zig build run` - // This will evaluate the `run` step rather than the default, which is "install". - const run_step = b.step("run", "Run the app"); - run_step.dependOn(&run_cmd.step); - - // Creates a step for unit testing. This only builds the test executable - // but does not run it. - const unit_tests = b.addTest(.{ - .root_source_file = .{ .path = "src/main.zig" }, - .target = target, - .optimize = optimize, - }); - - const run_unit_tests = b.addRunArtifact(unit_tests); - - // Similar to creating the run step earlier, this exposes a `test` step to - // the `zig build --help` menu, providing a way for the user to request - // running the unit tests. - const test_step = b.step("test", "Run unit tests"); - test_step.dependOn(&run_unit_tests.step); -} diff --git a/envrc.sample b/envrc.sample index 54c13ac..a5dbbcb 100644 --- a/envrc.sample +++ b/envrc.sample @@ -1,2 +1 @@ use flake . -export CMAKE_GENERATOR=Ninja diff --git a/flake.nix b/flake.nix index 8df9335..628ed9a 100644 --- a/flake.nix +++ b/flake.nix @@ -29,49 +29,10 @@ devShells.default = with pkgs; mkShell { - # EM_CONFIG = pkgs.writeText ".emscripten" '' - # EMSCRIPTEN_ROOT = '${pkgs.emscripten}/share/emscripten' - # LLVM_ROOT = '${pkgs.emscripten.llvmEnv}/bin' - # BINARYEN_ROOT = '${pkgs.binaryen}' - # NODE_JS = '${pkgs.nodejs-18_x}/bin/node' - # CACHE = '${toString ./.cache}' - # ''; - - nativeBuildInputs = [ clang cmake just ninja tup ]; - - buildInputs = [ - sqlite - - # Android - android-tools - godot_4 - - # Zig / webAssembly impl. - zig - zls - emscripten - - # Linux graphical deps - ## X11 - xorg.libX11 - xorg.libXcursor - xorg.libXi - xorg.libXext - xorg.libXrandr - xorg.libXinerama - xorg.libxcb - libGL - libGLU - pkg-config - - ## Wayland - wayland-protocols - wayland - libxkbcommon - ]; - + LD_LIBRARY_PATH = lib.makeLibraryPath [ stdenv.cc.cc ]; # For libstdc++.so.6 + nativeBuildInputs = [ clang just android-tools godot_4 ]; + buildInputs = [ sqlite ]; }; - }; }; } diff --git a/justfile b/justfile index 15f5c3d..d79686d 100644 --- a/justfile +++ b/justfile @@ -1,32 +1,17 @@ -cpp_build_dir := justfile_directory() / "build" - alias b := build alias r := run alias t := test alias fmt := format +edit: + godot4 --editor godot/project.godot + pre-build: git submodule update --init --recursive -raylib: - mkdir -p {{ cpp_build_dir }} - cmake -B {{ cpp_build_dir }} -S {{ justfile_directory() }}/3rd-party/raylib \ - -DBUILD_EXAMPLES=OFF - cmake --build {{ cpp_build_dir }} - -raygui: - tup - -deps: pre-build raylib raygui - build: zig build -Doptimize=Debug -# web-build: pre-build -# # zig build-lib src/main.zig -target wasm32-freestanding -dynamic -rdynamic -# zig build -Dtarget=wasm32-emscripten --sysroot /nix/store/lszbak7w3k1jmx3cm3qb2qzillsib71v-emscripten-3.1.24/bin/emcc -# # zig build -Dtarget=wasm32-emscripten - run: nixGL zig build run -- {{ justfile_directory() }}/life.sqlite3 @@ -34,5 +19,4 @@ test: zig build test format: - fd -e zig -X zig fmt {} fd -e nix -X nix fmt {} diff --git a/src/main.zig b/src/main.zig deleted file mode 100644 index 695cf2e..0000000 --- a/src/main.zig +++ /dev/null @@ -1,114 +0,0 @@ -const std = @import("std"); -const raylib = @import("raylib.zig"); -const c = @cImport({ - @cInclude("sqlite3.h"); -}); - -const StateTag = enum { - unloaded, - loaded, -}; - -const State = union(StateTag) { - unloaded: void, - loaded: *c.sqlite3, -}; - -fn loadSqlite(path: [:0]const u8) State { - var db_opt: ?*c.sqlite3 = undefined; - - const result = c.sqlite3_open(path.ptr, &db_opt); - if (result != c.SQLITE_OK) { - std.debug.print("[SQLite] err {}: {s}\n", .{ result, c.sqlite3_errmsg(db_opt) }); - _ = c.sqlite3_close(db_opt); - return State{ .unloaded = {} }; - } - - if (db_opt) |db| { - std.debug.print("[SQLite] Success\n", .{}); - return State{ .loaded = db }; - } - - return State{ .unloaded = {} }; -} - -pub fn main() !void { - var state = State{ .unloaded = {} }; - - const alloc = std.heap.c_allocator; - - const args = try std.process.argsAlloc(alloc); - defer std.process.argsFree(alloc, args); - - std.debug.print("Arguments: {s}\n", .{args}); - - if (args.len > 1) { - state = loadSqlite(args[1]); - } - - const screen_width = 800; - const screen_height = 450; - raylib.InitWindow(screen_width, screen_height, "Loggy"); - raylib.SetTargetFPS(60); - - var file_dialog_state = raylib.InitGuiWindowFileDialog(raylib.GetWorkingDirectory()); - // const ext = ".sqlite3"; - // @memcpy(file_dialog_state.filterExt[0..ext.len], ext); - var checked = false; - - while (!raylib.WindowShouldClose()) { - // - // Update - // - { - if (file_dialog_state.SelectFilePressed) { - // C-strings -> slices - const dir = std.mem.sliceTo(&file_dialog_state.dirPathText, 0); - const file = std.mem.sliceTo(&file_dialog_state.fileNameText, 0); - - // slices -> C-string (null-terminated) - const db_path = try std.fs.path.joinZ(alloc, &[_][]const u8{ dir, file }); - defer alloc.free(db_path); - state = loadSqlite(db_path); - } - file_dialog_state.SelectFilePressed = false; - } - - // - // Render - // - { - raylib.BeginDrawing(); - defer raylib.EndDrawing(); - raylib.ClearBackground(raylib.RAYWHITE); - - switch (state) { - .unloaded => { - if (file_dialog_state.windowActive) raylib.GuiLock(); - defer raylib.GuiUnlock(); - - const button_size = 200; - if (raylib.GuiButton(.{ .x = (screen_width - button_size) / 2, .y = (screen_height - button_size) / 2, .width = 200, .height = 200 }, "Load db file") == 1) { - file_dialog_state.windowActive = true; - } - }, - - .loaded => |*db| { - _ = db; - const label_rect: raylib.Rectangle = .{ .x = 10, .y = 10, .width = 40, .height = 40 }; - _ = raylib.GuiCheckBox(label_rect, "Eat well", &checked); - }, - } - - raylib.GuiWindowFileDialog(&file_dialog_state); - } - } - raylib.CloseWindow(); -} - -test "simple test" { - var list = std.ArrayList(i32).init(std.testing.allocator); - defer list.deinit(); // try commenting this out and see if zig detects the memory leak! - try list.append(42); - try std.testing.expectEqual(@as(i32, 42), list.pop()); -} diff --git a/src/raylib.zig b/src/raylib.zig deleted file mode 100644 index 937ee90..0000000 --- a/src/raylib.zig +++ /dev/null @@ -1,5 +0,0 @@ -pub usingnamespace @cImport({ - @cInclude("raylib.h"); - @cInclude("raygui.h"); - @cInclude("examples/custom_file_dialog/gui_window_file_dialog.h"); -}); From 8b1fe0a9be77a529c991792d7e4a98cc6ba59403 Mon Sep 17 00:00:00 2001 From: Fabien Freling Date: Mon, 18 Dec 2023 23:03:56 +0100 Subject: [PATCH 4/4] repair button press --- flake.nix | 2 ++ godot/main.gd | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 628ed9a..0f15fd7 100644 --- a/flake.nix +++ b/flake.nix @@ -30,6 +30,8 @@ devShells.default = with pkgs; mkShell { LD_LIBRARY_PATH = lib.makeLibraryPath [ stdenv.cc.cc ]; # For libstdc++.so.6 + ANDROID_HOME = "foo/bar"; + nativeBuildInputs = [ clang just android-tools godot_4 ]; buildInputs = [ sqlite ]; }; diff --git a/godot/main.gd b/godot/main.gd index 04bde40..fcd7cba 100644 --- a/godot/main.gd +++ b/godot/main.gd @@ -6,6 +6,8 @@ func _ready(): $FileDialog.access = FileDialog.ACCESS_FILESYSTEM $FileDialog.use_native_dialog = true + $MarginContainer/Unloaded/Button.pressed.connect(_on_button_pressed) + Global.state_changed.connect(_update_state) if Global.current_state == Global.State.UNLOADED: pass @@ -14,7 +16,6 @@ func _ready(): var s = ResourceLoader.load("res://loaded.tscn") var current_scene = s.instantiate() $MarginContainer.add_child(current_scene) - pass # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta):