From cc816331182fd9904ca4b65a17efd1d5d99857c2 Mon Sep 17 00:00:00 2001 From: Eduardo Date: Fri, 26 Jan 2024 17:27:16 +0100 Subject: [PATCH 1/1] first commit there are already shaders, camera and player movement --- .gitattributes | 2 + .gitignore | 2 + Camera3D.gd | 52 + CharacterBody3D.gd | 31 + Farola.glb | Bin 0 -> 58428 bytes Farola.glb.import | 34 + addons/ColorPreview/ColorHelper.gd | 167 ++ addons/ColorPreview/ColorPreview.gd | 353 +++++ addons/ColorPreview/LICENSE | 21 + addons/ColorPreview/Picker.tscn | 15 + addons/ColorPreview/plugin.cfg | 7 + .../GuiResizerTopLeft.svg | 1 + .../GuiResizerTopLeft.svg.import | 37 + .../GuiResizerTopRight.svg | 1 + .../GuiResizerTopRight.svg.import | 37 + addons/anthonyec.camera_preview/Pin.svg | 1 + .../anthonyec.camera_preview/Pin.svg.import | 37 + .../anthonyec.camera_preview/drag_handle.gd | 6 + addons/anthonyec.camera_preview/plugin.cfg | 7 + addons/anthonyec.camera_preview/plugin.gd | 87 ++ addons/anthonyec.camera_preview/preview.gd | 311 ++++ addons/anthonyec.camera_preview/preview.tscn | 173 +++ .../data/scripts/player/player_controller.gd | 37 + addons/data/scripts/rotate_cube.gd | 11 + .../sprite_rotation/sprite_rotation.gd | 68 + addons/data/sprites/test/test_back.png | Bin 0 -> 1000034 bytes addons/data/sprites/test/test_back.png.import | 35 + addons/data/sprites/test/test_back_left.png | Bin 0 -> 930613 bytes .../sprites/test/test_back_left.png.import | 35 + addons/data/sprites/test/test_back_right.png | Bin 0 -> 991284 bytes .../sprites/test/test_back_right.png.import | 35 + addons/data/sprites/test/test_front.png | Bin 0 -> 1036863 bytes .../data/sprites/test/test_front.png.import | 35 + addons/data/sprites/test/test_front_left.png | Bin 0 -> 1068187 bytes .../sprites/test/test_front_left.png.import | 35 + addons/data/sprites/test/test_front_right.png | Bin 0 -> 1212128 bytes .../sprites/test/test_front_right.png.import | 35 + addons/data/sprites/test/test_left.png | Bin 0 -> 1002256 bytes addons/data/sprites/test/test_left.png.import | 35 + addons/data/sprites/test/test_right.png | Bin 0 -> 974944 bytes .../data/sprites/test/test_right.png.import | 35 + addons/data/textures/grass.png | Bin 0 -> 372099 bytes addons/data/textures/grass.png.import | 35 + addons/debug_menu/LICENSE.md | 21 + addons/debug_menu/debug_menu.gd | 479 ++++++ addons/debug_menu/debug_menu.tscn | 401 +++++ addons/debug_menu/plugin.cfg | 7 + addons/debug_menu/plugin.gd | 29 + addons/ez_transitions/fonts/mini_pixel-7.ttf | Bin 0 -> 18468 bytes .../fonts/mini_pixel-7.ttf.import | 33 + .../ez_transitions/images/black_texture.png | Bin 0 -> 548 bytes .../images/black_texture.png.import | 34 + .../images/checkbox_checked.png | Bin 0 -> 379 bytes .../images/checkbox_checked.png.import | 34 + .../images/checkbox_unchecked.png | Bin 0 -> 209 bytes .../images/checkbox_unchecked.png.import | 34 + .../images/checkerboard_texture.png | Bin 0 -> 634 bytes .../images/checkerboard_texture.png.import | 34 + .../images/option_button_arrow.png | Bin 0 -> 107 bytes .../images/option_button_arrow.png.import | 34 + addons/ez_transitions/images/plugin_icon.png | Bin 0 -> 187691 bytes .../images/plugin_icon.png.import | 34 + addons/ez_transitions/images/plugin_icon.svg | 9 + .../images/plugin_icon.svg.import | 37 + addons/ez_transitions/images/plugin_icon.xcf | Bin 0 -> 1449292 bytes .../ez_transitions/images/spinbox_updown.png | Bin 0 -> 128 bytes .../images/spinbox_updown.png.import | 34 + .../images/transition_node_icon.png | Bin 0 -> 573 bytes .../images/transition_node_icon.png.import | 34 + .../images/transition_node_icon.svg | 9 + .../images/transition_node_icon.svg.import | 37 + .../images/transition_overlay_node_icon.png | Bin 0 -> 791 bytes .../transition_overlay_node_icon.png.import | 34 + .../images/transition_overlay_node_icon.svg | 9 + .../transition_overlay_node_icon.svg.import | 37 + .../materials/transition_material.tres | 14 + .../main_container/basic_settings_script.gd | 14 + .../main_container/editor_control_script.gd | 125 ++ .../main_container/main_container.tscn | 1263 +++++++++++++++ .../plugin_singleton/plugin_singleton.tscn | 7 + .../plugin_singleton_script.gd | 99 ++ .../transition_overlay.tscn | 21 + .../transition_overlay_script.gd | 109 ++ addons/ez_transitions/plugin.cfg | 9 + addons/ez_transitions/plugin_handler.gd | 44 + .../shaders/scroll_shader.gdshader | 9 + .../shaders/transition_shader.gdshader | 78 + addons/ez_transitions/themes/main_theme.tres | 148 ++ addons/ez_transitions/tutorial.txt | 24 + addons/ggs/assets/add.svg | 1 + addons/ggs/assets/add.svg.import | 37 + addons/ggs/assets/bug.svg | 1 + addons/ggs/assets/bug.svg.import | 37 + addons/ggs/assets/check_all.svg | 1 + addons/ggs/assets/check_all.svg.import | 37 + addons/ggs/assets/close.svg | 1 + addons/ggs/assets/close.svg.import | 37 + addons/ggs/assets/collapse_all.svg | 1 + addons/ggs/assets/collapse_all.svg.import | 37 + addons/ggs/assets/delete.svg | 1 + addons/ggs/assets/delete.svg.import | 37 + addons/ggs/assets/docs.svg | 1 + addons/ggs/assets/docs.svg.import | 37 + addons/ggs/assets/expand_all.svg | 1 + addons/ggs/assets/expand_all.svg.import | 37 + addons/ggs/assets/feedback.svg | 1 + addons/ggs/assets/feedback.svg.import | 37 + addons/ggs/assets/file_dialog.svg | 1 + addons/ggs/assets/file_dialog.svg.import | 37 + addons/ggs/assets/icon_mini.svg | 1 + addons/ggs/assets/icon_mini.svg.import | 37 + addons/ggs/assets/icon_mono.svg | 1 + addons/ggs/assets/icon_mono.svg.import | 37 + addons/ggs/assets/reload.svg | 1 + addons/ggs/assets/reload.svg.import | 37 + addons/ggs/assets/rename.svg | 1 + addons/ggs/assets/rename.svg.import | 37 + addons/ggs/assets/save_file.svg | 1 + addons/ggs/assets/save_file.svg.import | 37 + addons/ggs/assets/search.svg | 1 + addons/ggs/assets/search.svg.import | 37 + addons/ggs/assets/show_in_filesystem.svg | 1 + .../ggs/assets/show_in_filesystem.svg.import | 37 + addons/ggs/assets/theme.svg | 1 + addons/ggs/assets/theme.svg.import | 37 + addons/ggs/assets/uncheck_all.svg | 1 + addons/ggs/assets/uncheck_all.svg.import | 37 + addons/ggs/classes/ggs_input_helper.gd | 241 +++ addons/ggs/classes/ggs_inspector_plugin.gd | 18 + addons/ggs/classes/ggs_save_file.gd | 17 + addons/ggs/classes/ggs_ui_component.gd | 66 + addons/ggs/classes/ggs_utils.gd | 83 + addons/ggs/classes/global/ggs.gd | 229 +++ addons/ggs/classes/global/ggs.tscn | 12 + addons/ggs/classes/resources/ggs_icon_db.gd | 193 +++ .../ggs/classes/resources/ggs_plugin_data.gd | 75 + addons/ggs/classes/resources/ggs_setting.gd | 98 ++ addons/ggs/docs/changelog.md | 65 + addons/ggs/docs/components/apply_button.md | 6 + addons/ggs/docs/components/arrow_list.md | 23 + .../ggs/docs/components/binary_selection.md | 3 + addons/ggs/docs/components/components.md | 33 + addons/ggs/docs/components/input_button.md | 18 + .../docs/components/input_confirm_window.md | 14 + addons/ggs/docs/components/option_list.md | 8 + addons/ggs/docs/components/radio_list.md | 18 + addons/ggs/docs/components/reset_button.md | 6 + addons/ggs/docs/components/slider.md | 3 + addons/ggs/docs/components/spinbox.md | 3 + addons/ggs/docs/components/text_field.md | 3 + addons/ggs/docs/custom_components.md | 86 ++ addons/ggs/docs/custom_settings.md | 51 + addons/ggs/docs/getting_started.md | 116 ++ addons/ggs/docs/home.md | 6 + addons/ggs/docs/settings/audio_mute.md | 7 + addons/ggs/docs/settings/audio_volume.md | 7 + .../ggs/docs/settings/display_fullscreen.md | 7 + addons/ggs/docs/settings/display_scale.md | 7 + addons/ggs/docs/settings/display_size.md | 7 + addons/ggs/docs/settings/input.md | 37 + addons/ggs/docs/settings/settings.md | 7 + addons/ggs/docs/troubleshoot.md | 21 + addons/ggs/editor/_theme/ggs_theme.gd | 38 + addons/ggs/editor/_theme/ggs_theme.tres | 55 + .../add_setting_window/add_setting_window.gd | 166 ++ .../add_setting_window.tscn | 91 ++ .../editor/category_panel/category_list.gd | 54 + .../editor/category_panel/category_panel.gd | 49 + .../editor/category_panel/category_panel.tscn | 51 + .../editor/component_panel/component_panel.gd | 91 ++ .../component_panel/component_panel.tscn | 73 + .../ggs/editor/input_selector/input_list.gd | 52 + .../editor/input_selector/input_selector.gd | 93 ++ .../editor/input_selector/input_selector.tscn | 72 + addons/ggs/editor/main_panel/bug_btn.gd | 12 + addons/ggs/editor/main_panel/docs_btn.gd | 12 + addons/ggs/editor/main_panel/feedback_btn.gd | 12 + addons/ggs/editor/main_panel/main_panel.tscn | 178 +++ addons/ggs/editor/main_panel/notification.gd | 26 + addons/ggs/editor/main_panel/pref_btn.gd | 12 + .../ggs/editor/main_panel/progress_overlay.gd | 48 + .../ggs/editor/main_panel/save_file_menu.gd | 28 + .../ggs/editor/main_panel/split_containers.gd | 24 + .../ggs/editor/main_panel/update_theme_btn.gd | 12 + addons/ggs/editor/pref_window/pref_window.gd | 177 +++ .../ggs/editor/pref_window/pref_window.tscn | 300 ++++ addons/ggs/editor/setting_panel/groupless.gd | 14 + .../setting_group/setting_group.gd | 24 + .../setting_group/setting_group.tscn | 22 + .../setting_item/setting_item.gd | 39 + .../setting_item/setting_item.tscn | 7 + .../ggs/editor/setting_panel/setting_list.gd | 123 ++ .../ggs/editor/setting_panel/setting_panel.gd | 179 +++ .../editor/setting_panel/setting_panel.tscn | 114 ++ addons/ggs/plugin.cfg | 7 + addons/ggs/plugin.gd | 49 + addons/ggs/plugin_data.tres | 15 + addons/ggs/template.gd | 6 + addons/godot-git-plugin/LICENSE | 21 + addons/godot-git-plugin/THIRDPARTY.md | 1349 +++++++++++++++++ .../godot-git-plugin/git_plugin.gdextension | 12 + .../libgit_plugin.linux.editor.x86_64.so | Bin 0 -> 11991400 bytes ...libgit_plugin.macos.editor.universal.dylib | Bin 0 -> 16775416 bytes addons/godot-git-plugin/plugin.cfg | 7 + .../libgit_plugin.windows.editor.x86_64.dll | Bin 0 -> 1949184 bytes .../libgit_plugin.windows.editor.x86_64.exp | Bin 0 -> 120693 bytes .../libgit_plugin.windows.editor.x86_64.lib | Bin 0 -> 223332 bytes addons/health_bar_2d/LICENSE.md | 21 + addons/health_bar_2d/README.md | 48 + addons/health_bar_2d/addon.gd | 13 + addons/health_bar_2d/examples/bullet.gd | 22 + addons/health_bar_2d/examples/bullet.tscn | 18 + addons/health_bar_2d/examples/example.tscn | 57 + addons/health_bar_2d/examples/heal.gd | 13 + addons/health_bar_2d/examples/heal.tscn | 28 + addons/health_bar_2d/examples/player.gd | 41 + addons/health_bar_2d/examples/player.tscn | 27 + addons/health_bar_2d/examples/turrent.gd | 43 + addons/health_bar_2d/examples/turrent.tscn | 24 + addons/health_bar_2d/health_bar_2d.gd | 115 ++ addons/health_bar_2d/health_bar_2d.tscn | 12 + addons/health_bar_2d/icon.png | Bin 0 -> 154 bytes addons/health_bar_2d/icon.png.import | 34 + addons/health_bar_2d/plugin.cfg | 7 + .../resources/health_bar_texture.png | Bin 0 -> 71 bytes .../resources/health_bar_texture.png.import | 34 + addons/input_prompts/LICENSE | 23 + .../action_prompt/action_prompt.gd | 129 ++ addons/input_prompts/action_prompt/icon.svg | 1 + .../action_prompt/icon.svg.import | 37 + addons/input_prompts/icon.svg | 1 + addons/input_prompts/icon.svg.import | 37 + .../icons/generic/left_stick_down.png | Bin 0 -> 297 bytes .../icons/generic/left_stick_down.png.import | 34 + .../icons/generic/left_stick_left.png | Bin 0 -> 302 bytes .../icons/generic/left_stick_left.png.import | 34 + .../icons/generic/left_stick_right.png | Bin 0 -> 301 bytes .../icons/generic/left_stick_right.png.import | 34 + .../icons/generic/left_stick_up.png | Bin 0 -> 303 bytes .../icons/generic/left_stick_up.png.import | 34 + .../icons/generic/right_stick_down.png | Bin 0 -> 300 bytes .../icons/generic/right_stick_down.png.import | 34 + .../icons/generic/right_stick_left.png | Bin 0 -> 304 bytes .../icons/generic/right_stick_left.png.import | 34 + .../icons/generic/right_stick_right.png | Bin 0 -> 305 bytes .../generic/right_stick_right.png.import | 34 + .../icons/generic/right_stick_up.png | Bin 0 -> 306 bytes .../icons/generic/right_stick_up.png.import | 34 + addons/input_prompts/icons/keyboard/0.png | Bin 0 -> 174 bytes .../input_prompts/icons/keyboard/0.png.import | 34 + addons/input_prompts/icons/keyboard/1.png | Bin 0 -> 178 bytes .../input_prompts/icons/keyboard/1.png.import | 34 + addons/input_prompts/icons/keyboard/2.png | Bin 0 -> 181 bytes .../input_prompts/icons/keyboard/2.png.import | 34 + addons/input_prompts/icons/keyboard/3.png | Bin 0 -> 176 bytes .../input_prompts/icons/keyboard/3.png.import | 34 + addons/input_prompts/icons/keyboard/4.png | Bin 0 -> 173 bytes .../input_prompts/icons/keyboard/4.png.import | 34 + addons/input_prompts/icons/keyboard/5.png | Bin 0 -> 179 bytes .../input_prompts/icons/keyboard/5.png.import | 34 + addons/input_prompts/icons/keyboard/6.png | Bin 0 -> 175 bytes .../input_prompts/icons/keyboard/6.png.import | 34 + addons/input_prompts/icons/keyboard/7.png | Bin 0 -> 174 bytes .../input_prompts/icons/keyboard/7.png.import | 34 + addons/input_prompts/icons/keyboard/8.png | Bin 0 -> 177 bytes .../input_prompts/icons/keyboard/8.png.import | 34 + addons/input_prompts/icons/keyboard/9.png | Bin 0 -> 175 bytes .../input_prompts/icons/keyboard/9.png.import | 34 + addons/input_prompts/icons/keyboard/a.png | Bin 0 -> 177 bytes .../input_prompts/icons/keyboard/a.png.import | 34 + addons/input_prompts/icons/keyboard/alt.png | Bin 0 -> 303 bytes .../icons/keyboard/alt.png.import | 34 + .../icons/keyboard/apostrophe.png | Bin 0 -> 168 bytes .../icons/keyboard/apostrophe.png.import | 34 + .../input_prompts/icons/keyboard/asterisk.png | Bin 0 -> 174 bytes .../icons/keyboard/asterisk.png.import | 34 + addons/input_prompts/icons/keyboard/at.png | Bin 0 -> 183 bytes .../icons/keyboard/at.png.import | 34 + addons/input_prompts/icons/keyboard/b.png | Bin 0 -> 178 bytes .../input_prompts/icons/keyboard/b.png.import | 34 + .../icons/keyboard/backslash.png | Bin 0 -> 179 bytes .../icons/keyboard/backslash.png.import | 34 + .../icons/keyboard/backspace.png | Bin 0 -> 315 bytes .../icons/keyboard/backspace.png.import | 34 + addons/input_prompts/icons/keyboard/blank.png | Bin 0 -> 155 bytes .../icons/keyboard/blank.png.import | 34 + addons/input_prompts/icons/keyboard/c.png | Bin 0 -> 174 bytes .../input_prompts/icons/keyboard/c.png.import | 34 + addons/input_prompts/icons/keyboard/caps.png | Bin 0 -> 307 bytes .../icons/keyboard/caps.png.import | 34 + addons/input_prompts/icons/keyboard/caret.png | Bin 0 -> 177 bytes .../icons/keyboard/caret.png.import | 34 + addons/input_prompts/icons/keyboard/cent.png | Bin 0 -> 176 bytes .../icons/keyboard/cent.png.import | 34 + addons/input_prompts/icons/keyboard/colon.png | Bin 0 -> 170 bytes .../icons/keyboard/colon.png.import | 34 + addons/input_prompts/icons/keyboard/comma.png | Bin 0 -> 168 bytes .../icons/keyboard/comma.png.import | 34 + addons/input_prompts/icons/keyboard/ctrl.png | Bin 0 -> 302 bytes .../icons/keyboard/ctrl.png.import | 34 + addons/input_prompts/icons/keyboard/d.png | Bin 0 -> 173 bytes .../input_prompts/icons/keyboard/d.png.import | 34 + addons/input_prompts/icons/keyboard/del.png | Bin 0 -> 301 bytes .../icons/keyboard/del.png.import | 34 + .../input_prompts/icons/keyboard/dollar.png | Bin 0 -> 183 bytes .../icons/keyboard/dollar.png.import | 34 + addons/input_prompts/icons/keyboard/down.png | Bin 0 -> 177 bytes .../icons/keyboard/down.png.import | 34 + addons/input_prompts/icons/keyboard/e.png | Bin 0 -> 173 bytes .../input_prompts/icons/keyboard/e.png.import | 34 + addons/input_prompts/icons/keyboard/end.png | Bin 0 -> 300 bytes .../icons/keyboard/end.png.import | 34 + .../icons/keyboard/enter_large.png | Bin 0 -> 321 bytes .../icons/keyboard/enter_large.png.import | 34 + .../icons/keyboard/enter_small.png | Bin 0 -> 297 bytes .../icons/keyboard/enter_small.png.import | 34 + .../icons/keyboard/enter_wide.png | Bin 0 -> 310 bytes .../icons/keyboard/enter_wide.png.import | 34 + .../input_prompts/icons/keyboard/equals.png | Bin 0 -> 171 bytes .../icons/keyboard/equals.png.import | 34 + addons/input_prompts/icons/keyboard/esc.png | Bin 0 -> 183 bytes .../icons/keyboard/esc.png.import | 34 + .../icons/keyboard/exclamation.png | Bin 0 -> 178 bytes .../icons/keyboard/exclamation.png.import | 34 + addons/input_prompts/icons/keyboard/f.png | Bin 0 -> 174 bytes .../input_prompts/icons/keyboard/f.png.import | 34 + addons/input_prompts/icons/keyboard/f1.png | Bin 0 -> 184 bytes .../icons/keyboard/f1.png.import | 34 + addons/input_prompts/icons/keyboard/f10.png | Bin 0 -> 181 bytes .../icons/keyboard/f10.png.import | 34 + addons/input_prompts/icons/keyboard/f11.png | Bin 0 -> 174 bytes .../icons/keyboard/f11.png.import | 34 + addons/input_prompts/icons/keyboard/f12.png | Bin 0 -> 184 bytes .../icons/keyboard/f12.png.import | 34 + addons/input_prompts/icons/keyboard/f2.png | Bin 0 -> 185 bytes .../icons/keyboard/f2.png.import | 34 + addons/input_prompts/icons/keyboard/f3.png | Bin 0 -> 186 bytes .../icons/keyboard/f3.png.import | 34 + addons/input_prompts/icons/keyboard/f4.png | Bin 0 -> 181 bytes .../icons/keyboard/f4.png.import | 34 + addons/input_prompts/icons/keyboard/f5.png | Bin 0 -> 183 bytes .../icons/keyboard/f5.png.import | 34 + addons/input_prompts/icons/keyboard/f6.png | Bin 0 -> 183 bytes .../icons/keyboard/f6.png.import | 34 + addons/input_prompts/icons/keyboard/f7.png | Bin 0 -> 180 bytes .../icons/keyboard/f7.png.import | 34 + addons/input_prompts/icons/keyboard/f8.png | Bin 0 -> 183 bytes .../icons/keyboard/f8.png.import | 34 + addons/input_prompts/icons/keyboard/f9.png | Bin 0 -> 178 bytes .../icons/keyboard/f9.png.import | 34 + .../icons/keyboard/forward_slash.png | Bin 0 -> 179 bytes .../icons/keyboard/forward_slash.png.import | 34 + addons/input_prompts/icons/keyboard/g.png | Bin 0 -> 177 bytes .../input_prompts/icons/keyboard/g.png.import | 34 + .../input_prompts/icons/keyboard/greater.png | Bin 0 -> 174 bytes .../icons/keyboard/greater.png.import | 34 + addons/input_prompts/icons/keyboard/h.png | Bin 0 -> 173 bytes .../input_prompts/icons/keyboard/h.png.import | 34 + addons/input_prompts/icons/keyboard/hash.png | Bin 0 -> 174 bytes .../icons/keyboard/hash.png.import | 34 + addons/input_prompts/icons/keyboard/home.png | Bin 0 -> 304 bytes .../icons/keyboard/home.png.import | 34 + addons/input_prompts/icons/keyboard/i.png | Bin 0 -> 174 bytes .../input_prompts/icons/keyboard/i.png.import | 34 + .../input_prompts/icons/keyboard/insert.png | Bin 0 -> 312 bytes .../icons/keyboard/insert.png.import | 34 + addons/input_prompts/icons/keyboard/j.png | Bin 0 -> 173 bytes .../input_prompts/icons/keyboard/j.png.import | 34 + addons/input_prompts/icons/keyboard/k.png | Bin 0 -> 174 bytes .../input_prompts/icons/keyboard/k.png.import | 34 + addons/input_prompts/icons/keyboard/l.png | Bin 0 -> 172 bytes .../input_prompts/icons/keyboard/l.png.import | 34 + addons/input_prompts/icons/keyboard/left.png | Bin 0 -> 177 bytes .../icons/keyboard/left.png.import | 34 + .../icons/keyboard/left_brace.png | Bin 0 -> 172 bytes .../icons/keyboard/left_brace.png.import | 34 + .../icons/keyboard/left_bracket.png | Bin 0 -> 177 bytes .../icons/keyboard/left_bracket.png.import | 34 + .../icons/keyboard/left_paren.png | Bin 0 -> 172 bytes .../icons/keyboard/left_paren.png.import | 34 + addons/input_prompts/icons/keyboard/less.png | Bin 0 -> 177 bytes .../icons/keyboard/less.png.import | 34 + addons/input_prompts/icons/keyboard/m.png | Bin 0 -> 178 bytes .../input_prompts/icons/keyboard/m.png.import | 34 + .../icons/keyboard/media_back.png | Bin 0 -> 181 bytes .../icons/keyboard/media_back.png.import | 34 + .../icons/keyboard/media_forward.png | Bin 0 -> 180 bytes .../icons/keyboard/media_forward.png.import | 34 + .../icons/keyboard/media_next.png | Bin 0 -> 176 bytes .../icons/keyboard/media_next.png.import | 34 + .../icons/keyboard/media_pause.png | Bin 0 -> 169 bytes .../icons/keyboard/media_pause.png.import | 34 + .../icons/keyboard/media_play.png | Bin 0 -> 175 bytes .../icons/keyboard/media_play.png.import | 34 + .../icons/keyboard/media_previous.png | Bin 0 -> 177 bytes .../icons/keyboard/media_previous.png.import | 34 + .../icons/keyboard/media_record.png | Bin 0 -> 175 bytes .../icons/keyboard/media_record.png.import | 34 + .../icons/keyboard/media_stop.png | Bin 0 -> 169 bytes .../icons/keyboard/media_stop.png.import | 34 + addons/input_prompts/icons/keyboard/meta.png | Bin 0 -> 171 bytes .../icons/keyboard/meta.png.import | 34 + addons/input_prompts/icons/keyboard/minus.png | Bin 0 -> 171 bytes .../icons/keyboard/minus.png.import | 34 + addons/input_prompts/icons/keyboard/n.png | Bin 0 -> 172 bytes .../input_prompts/icons/keyboard/n.png.import | 34 + addons/input_prompts/icons/keyboard/nbsp.png | Bin 0 -> 172 bytes .../icons/keyboard/nbsp.png.import | 34 + addons/input_prompts/icons/keyboard/num.png | Bin 0 -> 299 bytes .../icons/keyboard/num.png.import | 34 + addons/input_prompts/icons/keyboard/o.png | Bin 0 -> 174 bytes .../input_prompts/icons/keyboard/o.png.import | 34 + addons/input_prompts/icons/keyboard/p.png | Bin 0 -> 175 bytes .../input_prompts/icons/keyboard/p.png.import | 34 + .../icons/keyboard/page_down.png | Bin 0 -> 321 bytes .../icons/keyboard/page_down.png.import | 34 + .../input_prompts/icons/keyboard/page_up.png | Bin 0 -> 321 bytes .../icons/keyboard/page_up.png.import | 34 + addons/input_prompts/icons/keyboard/pause.png | Bin 0 -> 315 bytes .../icons/keyboard/pause.png.import | 34 + .../input_prompts/icons/keyboard/percent.png | Bin 0 -> 182 bytes .../icons/keyboard/percent.png.import | 34 + .../input_prompts/icons/keyboard/period.png | Bin 0 -> 167 bytes .../icons/keyboard/period.png.import | 34 + addons/input_prompts/icons/keyboard/pipe.png | Bin 0 -> 171 bytes .../icons/keyboard/pipe.png.import | 34 + addons/input_prompts/icons/keyboard/plus.png | Bin 0 -> 175 bytes .../icons/keyboard/plus.png.import | 34 + addons/input_prompts/icons/keyboard/print.png | Bin 0 -> 308 bytes .../icons/keyboard/print.png.import | 34 + addons/input_prompts/icons/keyboard/q.png | Bin 0 -> 177 bytes .../input_prompts/icons/keyboard/q.png.import | 34 + .../input_prompts/icons/keyboard/question.png | Bin 0 -> 179 bytes .../icons/keyboard/question.png.import | 34 + addons/input_prompts/icons/keyboard/quote.png | Bin 0 -> 168 bytes .../icons/keyboard/quote.png.import | 34 + addons/input_prompts/icons/keyboard/r.png | Bin 0 -> 178 bytes .../input_prompts/icons/keyboard/r.png.import | 34 + addons/input_prompts/icons/keyboard/right.png | Bin 0 -> 177 bytes .../icons/keyboard/right.png.import | 34 + .../icons/keyboard/right_brace.png | Bin 0 -> 172 bytes .../icons/keyboard/right_brace.png.import | 34 + .../icons/keyboard/right_bracket.png | Bin 0 -> 176 bytes .../icons/keyboard/right_bracket.png.import | 34 + .../icons/keyboard/right_paren.png | Bin 0 -> 172 bytes .../icons/keyboard/right_paren.png.import | 34 + addons/input_prompts/icons/keyboard/s.png | Bin 0 -> 181 bytes .../input_prompts/icons/keyboard/s.png.import | 34 + .../input_prompts/icons/keyboard/scroll.png | Bin 0 -> 309 bytes .../icons/keyboard/scroll.png.import | 34 + .../icons/keyboard/semicolon.png | Bin 0 -> 172 bytes .../icons/keyboard/semicolon.png.import | 34 + addons/input_prompts/icons/keyboard/shift.png | Bin 0 -> 309 bytes .../icons/keyboard/shift.png.import | 34 + addons/input_prompts/icons/keyboard/space.png | Bin 0 -> 286 bytes .../icons/keyboard/space.png.import | 34 + addons/input_prompts/icons/keyboard/t.png | Bin 0 -> 171 bytes .../input_prompts/icons/keyboard/t.png.import | 34 + addons/input_prompts/icons/keyboard/tab.png | Bin 0 -> 301 bytes .../icons/keyboard/tab.png.import | 34 + addons/input_prompts/icons/keyboard/tilde.png | Bin 0 -> 175 bytes .../icons/keyboard/tilde.png.import | 34 + .../icons/keyboard/tile_0504.png | Bin 0 -> 182 bytes .../icons/keyboard/tile_0504.png.import | 34 + addons/input_prompts/icons/keyboard/u.png | Bin 0 -> 172 bytes .../input_prompts/icons/keyboard/u.png.import | 34 + .../icons/keyboard/underscore.png | Bin 0 -> 169 bytes .../icons/keyboard/underscore.png.import | 34 + addons/input_prompts/icons/keyboard/up.png | Bin 0 -> 179 bytes .../icons/keyboard/up.png.import | 34 + addons/input_prompts/icons/keyboard/v.png | Bin 0 -> 171 bytes .../input_prompts/icons/keyboard/v.png.import | 34 + addons/input_prompts/icons/keyboard/w.png | Bin 0 -> 175 bytes .../input_prompts/icons/keyboard/w.png.import | 34 + addons/input_prompts/icons/keyboard/x.png | Bin 0 -> 174 bytes .../input_prompts/icons/keyboard/x.png.import | 34 + addons/input_prompts/icons/keyboard/y.png | Bin 0 -> 175 bytes .../input_prompts/icons/keyboard/y.png.import | 34 + addons/input_prompts/icons/keyboard/z.png | Bin 0 -> 179 bytes .../input_prompts/icons/keyboard/z.png.import | 34 + addons/input_prompts/icons/mouse/left.png | Bin 0 -> 257 bytes .../input_prompts/icons/mouse/left.png.import | 34 + addons/input_prompts/icons/mouse/middle.png | Bin 0 -> 261 bytes .../icons/mouse/middle.png.import | 34 + addons/input_prompts/icons/mouse/right.png | Bin 0 -> 257 bytes .../icons/mouse/right.png.import | 34 + .../input_prompts/icons/mouse/wheel_down.png | Bin 0 -> 288 bytes .../icons/mouse/wheel_down.png.import | 34 + .../input_prompts/icons/mouse/wheel_left.png | Bin 0 -> 264 bytes .../icons/mouse/wheel_left.png.import | 34 + .../input_prompts/icons/mouse/wheel_right.png | Bin 0 -> 263 bytes .../icons/mouse/wheel_right.png.import | 34 + addons/input_prompts/icons/mouse/wheel_up.png | Bin 0 -> 282 bytes .../icons/mouse/wheel_up.png.import | 34 + addons/input_prompts/icons/nintendo/a.png | Bin 0 -> 230 bytes .../input_prompts/icons/nintendo/a.png.import | 34 + addons/input_prompts/icons/nintendo/b.png | Bin 0 -> 243 bytes .../input_prompts/icons/nintendo/b.png.import | 34 + .../input_prompts/icons/nintendo/capture.png | Bin 0 -> 158 bytes .../icons/nintendo/capture.png.import | 34 + addons/input_prompts/icons/nintendo/down.png | Bin 0 -> 224 bytes .../icons/nintendo/down.png.import | 34 + addons/input_prompts/icons/nintendo/home.png | Bin 0 -> 242 bytes .../icons/nintendo/home.png.import | 34 + addons/input_prompts/icons/nintendo/l.png | Bin 0 -> 201 bytes .../input_prompts/icons/nintendo/l.png.import | 34 + addons/input_prompts/icons/nintendo/left.png | Bin 0 -> 223 bytes .../icons/nintendo/left.png.import | 34 + .../icons/nintendo/left_stick.png | Bin 0 -> 207 bytes .../icons/nintendo/left_stick.png.import | 34 + addons/input_prompts/icons/nintendo/minus.png | Bin 0 -> 143 bytes .../icons/nintendo/minus.png.import | 34 + addons/input_prompts/icons/nintendo/plus.png | Bin 0 -> 205 bytes .../icons/nintendo/plus.png.import | 34 + addons/input_prompts/icons/nintendo/r.png | Bin 0 -> 222 bytes .../input_prompts/icons/nintendo/r.png.import | 34 + addons/input_prompts/icons/nintendo/right.png | Bin 0 -> 234 bytes .../icons/nintendo/right.png.import | 34 + .../icons/nintendo/right_stick.png | Bin 0 -> 207 bytes .../icons/nintendo/right_stick.png.import | 34 + addons/input_prompts/icons/nintendo/up.png | Bin 0 -> 221 bytes .../icons/nintendo/up.png.import | 34 + addons/input_prompts/icons/nintendo/x.png | Bin 0 -> 231 bytes .../input_prompts/icons/nintendo/x.png.import | 34 + addons/input_prompts/icons/nintendo/y.png | Bin 0 -> 226 bytes .../input_prompts/icons/nintendo/y.png.import | 34 + addons/input_prompts/icons/nintendo/zl.png | Bin 0 -> 208 bytes .../icons/nintendo/zl.png.import | 34 + addons/input_prompts/icons/nintendo/zr.png | Bin 0 -> 219 bytes .../icons/nintendo/zr.png.import | 34 + addons/input_prompts/icons/sony/circle.png | Bin 0 -> 192 bytes .../icons/sony/circle.png.import | 34 + addons/input_prompts/icons/sony/cross.png | Bin 0 -> 248 bytes .../input_prompts/icons/sony/cross.png.import | 34 + addons/input_prompts/icons/sony/down.png | Bin 0 -> 205 bytes .../input_prompts/icons/sony/down.png.import | 34 + addons/input_prompts/icons/sony/l1.png | Bin 0 -> 165 bytes addons/input_prompts/icons/sony/l1.png.import | 34 + addons/input_prompts/icons/sony/l2.png | Bin 0 -> 181 bytes addons/input_prompts/icons/sony/l2.png.import | 34 + addons/input_prompts/icons/sony/left.png | Bin 0 -> 200 bytes .../input_prompts/icons/sony/left.png.import | 34 + .../input_prompts/icons/sony/left_stick.png | Bin 0 -> 207 bytes .../icons/sony/left_stick.png.import | 34 + .../input_prompts/icons/sony/microphone.png | Bin 0 -> 182 bytes .../icons/sony/microphone.png.import | 34 + addons/input_prompts/icons/sony/ps.png | Bin 0 -> 201 bytes addons/input_prompts/icons/sony/ps.png.import | 34 + addons/input_prompts/icons/sony/r1.png | Bin 0 -> 168 bytes addons/input_prompts/icons/sony/r1.png.import | 34 + addons/input_prompts/icons/sony/r2.png | Bin 0 -> 183 bytes addons/input_prompts/icons/sony/r2.png.import | 34 + addons/input_prompts/icons/sony/right.png | Bin 0 -> 200 bytes .../input_prompts/icons/sony/right.png.import | 34 + .../input_prompts/icons/sony/right_stick.png | Bin 0 -> 207 bytes .../icons/sony/right_stick.png.import | 34 + addons/input_prompts/icons/sony/select.png | Bin 0 -> 147 bytes .../icons/sony/select.png.import | 34 + addons/input_prompts/icons/sony/square.png | Bin 0 -> 191 bytes .../icons/sony/square.png.import | 34 + addons/input_prompts/icons/sony/start.png | Bin 0 -> 180 bytes .../input_prompts/icons/sony/start.png.import | 34 + addons/input_prompts/icons/sony/touchpad.png | Bin 0 -> 216 bytes .../icons/sony/touchpad.png.import | 34 + addons/input_prompts/icons/sony/triangle.png | Bin 0 -> 200 bytes .../icons/sony/triangle.png.import | 34 + addons/input_prompts/icons/sony/up.png | Bin 0 -> 204 bytes addons/input_prompts/icons/sony/up.png.import | 34 + addons/input_prompts/icons/xbox/a.png | Bin 0 -> 194 bytes addons/input_prompts/icons/xbox/a.png.import | 34 + addons/input_prompts/icons/xbox/b.png | Bin 0 -> 192 bytes addons/input_prompts/icons/xbox/b.png.import | 34 + addons/input_prompts/icons/xbox/down.png | Bin 0 -> 193 bytes .../input_prompts/icons/xbox/down.png.import | 34 + addons/input_prompts/icons/xbox/left.png | Bin 0 -> 190 bytes .../input_prompts/icons/xbox/left.png.import | 34 + .../input_prompts/icons/xbox/left_bumper.png | Bin 0 -> 212 bytes .../icons/xbox/left_bumper.png.import | 34 + .../input_prompts/icons/xbox/left_stick.png | Bin 0 -> 207 bytes .../icons/xbox/left_stick.png.import | 34 + .../input_prompts/icons/xbox/left_trigger.png | Bin 0 -> 298 bytes .../icons/xbox/left_trigger.png.import | 34 + addons/input_prompts/icons/xbox/menu.png | Bin 0 -> 250 bytes .../input_prompts/icons/xbox/menu.png.import | 34 + addons/input_prompts/icons/xbox/right.png | Bin 0 -> 189 bytes .../input_prompts/icons/xbox/right.png.import | 34 + .../input_prompts/icons/xbox/right_bumper.png | Bin 0 -> 214 bytes .../icons/xbox/right_bumper.png.import | 34 + .../input_prompts/icons/xbox/right_stick.png | Bin 0 -> 207 bytes .../icons/xbox/right_stick.png.import | 34 + .../icons/xbox/right_trigger.png | Bin 0 -> 302 bytes .../icons/xbox/right_trigger.png.import | 34 + addons/input_prompts/icons/xbox/share.png | Bin 0 -> 207 bytes .../input_prompts/icons/xbox/share.png.import | 34 + addons/input_prompts/icons/xbox/up.png | Bin 0 -> 188 bytes addons/input_prompts/icons/xbox/up.png.import | 34 + addons/input_prompts/icons/xbox/view.png | Bin 0 -> 250 bytes .../input_prompts/icons/xbox/view.png.import | 34 + addons/input_prompts/icons/xbox/x.png | Bin 0 -> 191 bytes addons/input_prompts/icons/xbox/x.png.import | 34 + addons/input_prompts/icons/xbox/xbox.png | Bin 0 -> 201 bytes .../input_prompts/icons/xbox/xbox.png.import | 34 + addons/input_prompts/icons/xbox/y.png | Bin 0 -> 191 bytes addons/input_prompts/icons/xbox/y.png.import | 34 + addons/input_prompts/input_prompt.gd | 50 + addons/input_prompts/input_prompt_manager.gd | 113 ++ addons/input_prompts/inspector_plugin.gd | 17 + .../joypad_button_prompt/icon.svg | 1 + .../joypad_button_prompt/icon.svg.import | 37 + .../joypad_button_prompt.gd | 73 + .../joypad_button_prompt/nintendo.tres | 38 + .../joypad_button_prompt/sony.tres | 40 + .../joypad_button_prompt/xbox.tres | 38 + .../joypad_motion_prompt/icon.svg | 1 + .../joypad_motion_prompt/icon.svg.import | 37 + .../joypad_motion_prompt.gd | 103 ++ .../joypad_motion_prompt/nintendo.tres | 26 + .../joypad_motion_prompt/sony.tres | 26 + .../joypad_motion_prompt/xbox.tres | 26 + addons/input_prompts/key_prompt/icon.svg | 1 + .../input_prompts/key_prompt/icon.svg.import | 37 + addons/input_prompts/key_prompt/key_prompt.gd | 170 +++ addons/input_prompts/key_prompt/keys.tres | 224 +++ .../mouse_button_prompt/buttons.tres | 20 + .../mouse_button_prompt/icon.svg | 1 + .../mouse_button_prompt/icon.svg.import | 37 + .../mouse_button_prompt.gd | 57 + addons/input_prompts/plugin.cfg | 7 + addons/input_prompts/plugin.gd | 16 + .../resources/joypad_button_textures.gd | 81 + .../resources/joypad_motion_textures.gd | 56 + .../resources/keyboard_textures.gd | 54 + .../resources/mouse_button_textures.gd | 45 + addons/kenney rpg audio/belt_handle_1.ogg | Bin 0 -> 10820 bytes .../kenney rpg audio/belt_handle_1.ogg.import | 19 + addons/kenney rpg audio/belt_handle_2.ogg | Bin 0 -> 15410 bytes .../kenney rpg audio/belt_handle_2.ogg.import | 19 + addons/kenney rpg audio/book_close.ogg | Bin 0 -> 9292 bytes addons/kenney rpg audio/book_close.ogg.import | 19 + addons/kenney rpg audio/book_flip_1.ogg | Bin 0 -> 18248 bytes .../kenney rpg audio/book_flip_1.ogg.import | 19 + addons/kenney rpg audio/book_flip_2.ogg | Bin 0 -> 12393 bytes .../kenney rpg audio/book_flip_2.ogg.import | 19 + addons/kenney rpg audio/book_flip_3.ogg | Bin 0 -> 9077 bytes .../kenney rpg audio/book_flip_3.ogg.import | 19 + addons/kenney rpg audio/book_open.ogg | Bin 0 -> 8273 bytes addons/kenney rpg audio/book_open.ogg.import | 19 + addons/kenney rpg audio/book_place_1.ogg | Bin 0 -> 9901 bytes .../kenney rpg audio/book_place_1.ogg.import | 19 + addons/kenney rpg audio/book_place_2.ogg | Bin 0 -> 11185 bytes .../kenney rpg audio/book_place_2.ogg.import | 19 + addons/kenney rpg audio/book_place_3.ogg | Bin 0 -> 9570 bytes .../kenney rpg audio/book_place_3.ogg.import | 19 + addons/kenney rpg audio/chop.ogg | Bin 0 -> 9370 bytes addons/kenney rpg audio/chop.ogg.import | 19 + addons/kenney rpg audio/cloth_1.ogg | Bin 0 -> 16508 bytes addons/kenney rpg audio/cloth_1.ogg.import | 19 + addons/kenney rpg audio/cloth_2.ogg | Bin 0 -> 11787 bytes addons/kenney rpg audio/cloth_2.ogg.import | 19 + addons/kenney rpg audio/cloth_3.ogg | Bin 0 -> 12432 bytes addons/kenney rpg audio/cloth_3.ogg.import | 19 + addons/kenney rpg audio/cloth_4.ogg | Bin 0 -> 11043 bytes addons/kenney rpg audio/cloth_4.ogg.import | 19 + addons/kenney rpg audio/cloth_belt.ogg | Bin 0 -> 21491 bytes addons/kenney rpg audio/cloth_belt.ogg.import | 19 + addons/kenney rpg audio/cloth_belt_2.ogg | Bin 0 -> 20013 bytes .../kenney rpg audio/cloth_belt_2.ogg.import | 19 + addons/kenney rpg audio/creak_1.ogg | Bin 0 -> 15761 bytes addons/kenney rpg audio/creak_1.ogg.import | 19 + addons/kenney rpg audio/creak_2.ogg | Bin 0 -> 19012 bytes addons/kenney rpg audio/creak_2.ogg.import | 19 + addons/kenney rpg audio/creak_3.ogg | Bin 0 -> 10408 bytes addons/kenney rpg audio/creak_3.ogg.import | 19 + addons/kenney rpg audio/door_close_1.ogg | Bin 0 -> 18564 bytes .../kenney rpg audio/door_close_1.ogg.import | 19 + addons/kenney rpg audio/door_close_2.ogg | Bin 0 -> 17598 bytes .../kenney rpg audio/door_close_2.ogg.import | 19 + addons/kenney rpg audio/door_close_3.ogg | Bin 0 -> 20889 bytes .../kenney rpg audio/door_close_3.ogg.import | 19 + addons/kenney rpg audio/door_close_4.ogg | Bin 0 -> 16902 bytes .../kenney rpg audio/door_close_4.ogg.import | 19 + addons/kenney rpg audio/door_open_1.ogg | Bin 0 -> 22848 bytes .../kenney rpg audio/door_open_1.ogg.import | 19 + addons/kenney rpg audio/door_open_2.ogg | Bin 0 -> 30280 bytes .../kenney rpg audio/door_open_2.ogg.import | 19 + addons/kenney rpg audio/draw_knife_1.ogg | Bin 0 -> 11134 bytes .../kenney rpg audio/draw_knife_1.ogg.import | 19 + addons/kenney rpg audio/draw_knife_2.ogg | Bin 0 -> 12395 bytes .../kenney rpg audio/draw_knife_2.ogg.import | 19 + addons/kenney rpg audio/draw_knife_3.ogg | Bin 0 -> 12726 bytes .../kenney rpg audio/draw_knife_3.ogg.import | 19 + addons/kenney rpg audio/drop_leather.ogg | Bin 0 -> 11695 bytes .../kenney rpg audio/drop_leather.ogg.import | 19 + addons/kenney rpg audio/footstep_0.ogg | Bin 0 -> 9475 bytes addons/kenney rpg audio/footstep_0.ogg.import | 19 + addons/kenney rpg audio/footstep_1.ogg | Bin 0 -> 9900 bytes addons/kenney rpg audio/footstep_1.ogg.import | 19 + addons/kenney rpg audio/footstep_2.ogg | Bin 0 -> 9528 bytes addons/kenney rpg audio/footstep_2.ogg.import | 19 + addons/kenney rpg audio/footstep_3.ogg | Bin 0 -> 10559 bytes addons/kenney rpg audio/footstep_3.ogg.import | 19 + addons/kenney rpg audio/footstep_4.ogg | Bin 0 -> 11303 bytes addons/kenney rpg audio/footstep_4.ogg.import | 19 + addons/kenney rpg audio/footstep_5.ogg | Bin 0 -> 10288 bytes addons/kenney rpg audio/footstep_5.ogg.import | 19 + addons/kenney rpg audio/footstep_6.ogg | Bin 0 -> 9885 bytes addons/kenney rpg audio/footstep_6.ogg.import | 19 + addons/kenney rpg audio/footstep_7.ogg | Bin 0 -> 10264 bytes addons/kenney rpg audio/footstep_7.ogg.import | 19 + addons/kenney rpg audio/footstep_8.ogg | Bin 0 -> 9242 bytes addons/kenney rpg audio/footstep_8.ogg.import | 19 + addons/kenney rpg audio/footstep_9.ogg | Bin 0 -> 9356 bytes addons/kenney rpg audio/footstep_9.ogg.import | 19 + addons/kenney rpg audio/handle_coins.ogg | Bin 0 -> 25394 bytes .../kenney rpg audio/handle_coins.ogg.import | 19 + addons/kenney rpg audio/handle_coins_2.ogg | Bin 0 -> 13094 bytes .../handle_coins_2.ogg.import | 19 + .../kenney rpg audio/handle_small_leather.ogg | Bin 0 -> 10492 bytes .../handle_small_leather.ogg.import | 19 + .../handle_small_leather_2.ogg | Bin 0 -> 10028 bytes .../handle_small_leather_2.ogg.import | 19 + addons/kenney rpg audio/knife_slice.ogg | Bin 0 -> 15532 bytes .../kenney rpg audio/knife_slice.ogg.import | 19 + addons/kenney rpg audio/knife_slice_2.ogg | Bin 0 -> 15099 bytes .../kenney rpg audio/knife_slice_2.ogg.import | 19 + addons/kenney rpg audio/metal_click.ogg | Bin 0 -> 13615 bytes .../kenney rpg audio/metal_click.ogg.import | 19 + addons/kenney rpg audio/metal_latch.ogg | Bin 0 -> 10208 bytes .../kenney rpg audio/metal_latch.ogg.import | 19 + addons/kenney rpg audio/metal_pot_1.ogg | Bin 0 -> 31619 bytes .../kenney rpg audio/metal_pot_1.ogg.import | 19 + addons/kenney rpg audio/metal_pot_2.ogg | Bin 0 -> 22471 bytes .../kenney rpg audio/metal_pot_2.ogg.import | 19 + addons/kenney rpg audio/metal_pot_3.ogg | Bin 0 -> 23142 bytes .../kenney rpg audio/metal_pot_3.ogg.import | 19 + addons/kenney_prototype_textures/LICENSE.txt | 23 + .../dark/texture_01.png | Bin 0 -> 2004 bytes .../dark/texture_01.png.import | 35 + .../dark/texture_02.png | Bin 0 -> 1333 bytes .../dark/texture_02.png.import | 34 + .../dark/texture_03.png | Bin 0 -> 1954 bytes .../dark/texture_03.png.import | 34 + .../dark/texture_04.png | Bin 0 -> 7015 bytes .../dark/texture_04.png.import | 34 + .../dark/texture_05.png | Bin 0 -> 8833 bytes .../dark/texture_05.png.import | 34 + .../dark/texture_06.png | Bin 0 -> 2092 bytes .../dark/texture_06.png.import | 34 + .../dark/texture_07.png | Bin 0 -> 1912 bytes .../dark/texture_07.png.import | 34 + .../dark/texture_08.png | Bin 0 -> 635 bytes .../dark/texture_08.png.import | 34 + .../dark/texture_09.png | Bin 0 -> 2039 bytes .../dark/texture_09.png.import | 34 + .../dark/texture_10.png | Bin 0 -> 6154 bytes .../dark/texture_10.png.import | 34 + .../dark/texture_11.png | Bin 0 -> 6051 bytes .../dark/texture_11.png.import | 34 + .../dark/texture_12.png | Bin 0 -> 6411 bytes .../dark/texture_12.png.import | 34 + .../dark/texture_13.png | Bin 0 -> 6635 bytes .../dark/texture_13.png.import | 34 + .../green/texture_01.png | Bin 0 -> 6706 bytes .../green/texture_01.png.import | 35 + .../green/texture_02.png | Bin 0 -> 2004 bytes .../green/texture_02.png.import | 34 + .../green/texture_03.png | Bin 0 -> 1333 bytes .../green/texture_03.png.import | 34 + .../green/texture_04.png | Bin 0 -> 1954 bytes .../green/texture_04.png.import | 34 + .../green/texture_05.png | Bin 0 -> 7015 bytes .../green/texture_05.png.import | 34 + .../green/texture_06.png | Bin 0 -> 8841 bytes .../green/texture_06.png.import | 34 + .../green/texture_07.png | Bin 0 -> 2092 bytes .../green/texture_07.png.import | 34 + .../green/texture_08.png | Bin 0 -> 1916 bytes .../green/texture_08.png.import | 34 + .../green/texture_09.png | Bin 0 -> 635 bytes .../green/texture_09.png.import | 34 + .../green/texture_10.png | Bin 0 -> 2007 bytes .../green/texture_10.png.import | 34 + .../green/texture_11.png | Bin 0 -> 6101 bytes .../green/texture_11.png.import | 34 + .../green/texture_12.png | Bin 0 -> 6079 bytes .../green/texture_12.png.import | 34 + .../green/texture_13.png | Bin 0 -> 6479 bytes .../green/texture_13.png.import | 34 + .../light/texture_01.png | Bin 0 -> 1333 bytes .../light/texture_01.png.import | 35 + .../light/texture_02.png | Bin 0 -> 1954 bytes .../light/texture_02.png.import | 34 + .../light/texture_03.png | Bin 0 -> 7015 bytes .../light/texture_03.png.import | 34 + .../light/texture_04.png | Bin 0 -> 7498 bytes .../light/texture_04.png.import | 34 + .../light/texture_05.png | Bin 0 -> 2092 bytes .../light/texture_05.png.import | 34 + .../light/texture_06.png | Bin 0 -> 1912 bytes .../light/texture_06.png.import | 34 + .../light/texture_07.png | Bin 0 -> 635 bytes .../light/texture_07.png.import | 34 + .../light/texture_08.png | Bin 0 -> 2007 bytes .../light/texture_08.png.import | 34 + .../light/texture_09.png | Bin 0 -> 6072 bytes .../light/texture_09.png.import | 34 + .../light/texture_10.png | Bin 0 -> 6068 bytes .../light/texture_10.png.import | 34 + .../light/texture_11.png | Bin 0 -> 6415 bytes .../light/texture_11.png.import | 34 + .../light/texture_12.png | Bin 0 -> 6194 bytes .../light/texture_12.png.import | 34 + .../light/texture_13.png | Bin 0 -> 2004 bytes .../light/texture_13.png.import | 34 + .../orange/texture_01.png | Bin 0 -> 6688 bytes .../orange/texture_01.png.import | 35 + .../orange/texture_02.png | Bin 0 -> 2004 bytes .../orange/texture_02.png.import | 34 + .../orange/texture_03.png | Bin 0 -> 1333 bytes .../orange/texture_03.png.import | 34 + .../orange/texture_04.png | Bin 0 -> 1954 bytes .../orange/texture_04.png.import | 34 + .../orange/texture_05.png | Bin 0 -> 7015 bytes .../orange/texture_05.png.import | 34 + .../orange/texture_06.png | Bin 0 -> 8844 bytes .../orange/texture_06.png.import | 34 + .../orange/texture_07.png | Bin 0 -> 2092 bytes .../orange/texture_07.png.import | 34 + .../orange/texture_08.png | Bin 0 -> 1916 bytes .../orange/texture_08.png.import | 34 + .../orange/texture_09.png | Bin 0 -> 635 bytes .../orange/texture_09.png.import | 34 + .../orange/texture_10.png | Bin 0 -> 2007 bytes .../orange/texture_10.png.import | 34 + .../orange/texture_11.png | Bin 0 -> 6104 bytes .../orange/texture_11.png.import | 34 + .../orange/texture_12.png | Bin 0 -> 6073 bytes .../orange/texture_12.png.import | 34 + .../orange/texture_13.png | Bin 0 -> 6465 bytes .../orange/texture_13.png.import | 34 + .../purple/texture_01.png | Bin 0 -> 6615 bytes .../purple/texture_01.png.import | 35 + .../purple/texture_02.png | Bin 0 -> 2004 bytes .../purple/texture_02.png.import | 34 + .../purple/texture_03.png | Bin 0 -> 1333 bytes .../purple/texture_03.png.import | 34 + .../purple/texture_04.png | Bin 0 -> 1954 bytes .../purple/texture_04.png.import | 34 + .../purple/texture_05.png | Bin 0 -> 7015 bytes .../purple/texture_05.png.import | 34 + .../purple/texture_06.png | Bin 0 -> 8841 bytes .../purple/texture_06.png.import | 34 + .../purple/texture_07.png | Bin 0 -> 2092 bytes .../purple/texture_07.png.import | 34 + .../purple/texture_08.png | Bin 0 -> 1916 bytes .../purple/texture_08.png.import | 34 + .../purple/texture_09.png | Bin 0 -> 635 bytes .../purple/texture_09.png.import | 34 + .../purple/texture_10.png | Bin 0 -> 2007 bytes .../purple/texture_10.png.import | 34 + .../purple/texture_11.png | Bin 0 -> 6107 bytes .../purple/texture_11.png.import | 34 + .../purple/texture_12.png | Bin 0 -> 6078 bytes .../purple/texture_12.png.import | 34 + .../purple/texture_13.png | Bin 0 -> 6449 bytes .../purple/texture_13.png.import | 34 + .../red/texture_01.png | Bin 0 -> 6703 bytes .../red/texture_01.png.import | 35 + .../red/texture_02.png | Bin 0 -> 2004 bytes .../red/texture_02.png.import | 34 + .../red/texture_03.png | Bin 0 -> 1333 bytes .../red/texture_03.png.import | 34 + .../red/texture_04.png | Bin 0 -> 1954 bytes .../red/texture_04.png.import | 34 + .../red/texture_05.png | Bin 0 -> 7015 bytes .../red/texture_05.png.import | 34 + .../red/texture_06.png | Bin 0 -> 8833 bytes .../red/texture_06.png.import | 34 + .../red/texture_07.png | Bin 0 -> 2092 bytes .../red/texture_07.png.import | 34 + .../red/texture_08.png | Bin 0 -> 1916 bytes .../red/texture_08.png.import | 34 + .../red/texture_09.png | Bin 0 -> 635 bytes .../red/texture_09.png.import | 34 + .../red/texture_10.png | Bin 0 -> 2007 bytes .../red/texture_10.png.import | 34 + .../red/texture_11.png | Bin 0 -> 6107 bytes .../red/texture_11.png.import | 34 + .../red/texture_12.png | Bin 0 -> 6073 bytes .../red/texture_12.png.import | 34 + .../red/texture_13.png | Bin 0 -> 6427 bytes .../red/texture_13.png.import | 34 + addons/quest_system/active_pool.gd | 7 + addons/quest_system/available_pool.gd | 2 + addons/quest_system/base_quest_pool.gd | 32 + addons/quest_system/completed_pool.gd | 2 + addons/quest_system/plugin.cfg | 7 + addons/quest_system/plugin.gd | 10 + addons/quest_system/quest_manager.gd | 235 +++ addons/quest_system/quest_resource.gd | 22 + addons/scenes/demo_scene.tscn | 137 ++ addons/script-ide/LICENSE | 21 + addons/script-ide/Popup.gd | 6 + addons/script-ide/README.md | 33 + addons/script-ide/icon/class.svg | 1 + addons/script-ide/icon/class.svg.import | 38 + addons/script-ide/icon/constant.svg | 1 + addons/script-ide/icon/constant.svg.import | 38 + addons/script-ide/icon/export.svg | 1 + addons/script-ide/icon/export.svg.import | 38 + addons/script-ide/icon/func.svg | 1 + addons/script-ide/icon/func.svg.import | 38 + addons/script-ide/icon/func_get.svg | 1 + addons/script-ide/icon/func_get.svg.import | 38 + addons/script-ide/icon/func_set.svg | 1 + addons/script-ide/icon/func_set.svg.import | 38 + addons/script-ide/icon/keyword.svg | 1 + addons/script-ide/icon/keyword.svg.import | 38 + addons/script-ide/icon/property.svg | 1 + addons/script-ide/icon/property.svg.import | 38 + addons/script-ide/icon/signal.svg | 1 + addons/script-ide/icon/signal.svg.import | 38 + addons/script-ide/plugin.cfg | 7 + addons/script-ide/plugin.gd | 860 +++++++++++ addons/tracer/StackHandler.cs | 40 + addons/tracer/plugin.cfg | 7 + addons/tracer/subscriber.gd | 123 ++ addons/tracer/tracer.gd | 131 ++ addons/tracer/tracer_plugin.gd | 14 + examples/colors_demo.gd | 25 + examples/colors_demo.gdshader | 14 + examples/test/logs.txt | 5 + examples/test/test.gd | 39 + examples/test/test.tscn | 6 + .../_misc_components/apply_btn/apply_btn.gd | 26 + .../_misc_components/apply_btn/apply_btn.tscn | 11 + .../input_confirm_window.gd | 285 ++++ .../input_confirm_window.tscn | 43 + .../_misc_components/reset_btn/reset_btn.gd | 26 + .../_misc_components/reset_btn/reset_btn.tscn | 11 + .../_shared_scripts/binary_selection.gd | 48 + .../components/arrow_list/arrow_list.gd | 96 ++ .../components/arrow_list/arrow_list.tscn | 24 + .../components/checkbox/checkbox.tscn | 11 + .../components/input_btn/input_btn.gd | 113 ++ .../components/input_btn/input_btn.tscn | 18 + .../components/option_list/option_list.gd | 68 + .../components/option_list/option_list.tscn | 11 + .../components/radio_list/radio_list.gd | 88 ++ .../components/radio_list/radio_list.tscn | 15 + game_settings/components/slider/slider.gd | 47 + game_settings/components/slider/slider.tscn | 14 + game_settings/components/spinbox/spinbox.gd | 36 + game_settings/components/spinbox/spinbox.tscn | 11 + game_settings/components/switch/switch.tscn | 14 + .../components/text_field/text_field.gd | 32 + .../components/text_field/text_field.tscn | 15 + .../components/toggle_btn/toggle_btn.tscn | 12 + game_settings/settings/nonempty.txt | 2 + game_settings/templates/audio/audio_mute.gd | 41 + game_settings/templates/audio/audio_volume.gd | 44 + .../templates/display/display_fullscreen.gd | 23 + .../templates/display/display_scale.gd | 39 + .../templates/display/display_size.gd | 37 + game_settings/templates/input.gd | 96 ++ icon.svg | 1 + icon.svg.import | 37 + plain_tiles.tres | 166 ++ player.gd | 35 + project.godot | 69 + shaders/Farola.glb | Bin 0 -> 29676 bytes shaders/Farola.glb.import | 34 + shaders/perlin_noise.gdshader | 46 + shaders/screen_shaders.gdshader | 62 + shaders/test.tres | 22 + shaders/vhs-crt.gdshader | 222 +++ test.tscn | 192 +++ tiles.tscn | 75 + 978 files changed, 27866 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 Camera3D.gd create mode 100644 CharacterBody3D.gd create mode 100644 Farola.glb create mode 100644 Farola.glb.import create mode 100644 addons/ColorPreview/ColorHelper.gd create mode 100644 addons/ColorPreview/ColorPreview.gd create mode 100644 addons/ColorPreview/LICENSE create mode 100644 addons/ColorPreview/Picker.tscn create mode 100644 addons/ColorPreview/plugin.cfg create mode 100644 addons/anthonyec.camera_preview/GuiResizerTopLeft.svg create mode 100644 addons/anthonyec.camera_preview/GuiResizerTopLeft.svg.import create mode 100644 addons/anthonyec.camera_preview/GuiResizerTopRight.svg create mode 100644 addons/anthonyec.camera_preview/GuiResizerTopRight.svg.import create mode 100644 addons/anthonyec.camera_preview/Pin.svg create mode 100644 addons/anthonyec.camera_preview/Pin.svg.import create mode 100644 addons/anthonyec.camera_preview/drag_handle.gd create mode 100644 addons/anthonyec.camera_preview/plugin.cfg create mode 100644 addons/anthonyec.camera_preview/plugin.gd create mode 100644 addons/anthonyec.camera_preview/preview.gd create mode 100644 addons/anthonyec.camera_preview/preview.tscn create mode 100644 addons/data/scripts/player/player_controller.gd create mode 100644 addons/data/scripts/rotate_cube.gd create mode 100644 addons/data/scripts/sprite_rotation/sprite_rotation.gd create mode 100644 addons/data/sprites/test/test_back.png create mode 100644 addons/data/sprites/test/test_back.png.import create mode 100644 addons/data/sprites/test/test_back_left.png create mode 100644 addons/data/sprites/test/test_back_left.png.import create mode 100644 addons/data/sprites/test/test_back_right.png create mode 100644 addons/data/sprites/test/test_back_right.png.import create mode 100644 addons/data/sprites/test/test_front.png create mode 100644 addons/data/sprites/test/test_front.png.import create mode 100644 addons/data/sprites/test/test_front_left.png create mode 100644 addons/data/sprites/test/test_front_left.png.import create mode 100644 addons/data/sprites/test/test_front_right.png create mode 100644 addons/data/sprites/test/test_front_right.png.import create mode 100644 addons/data/sprites/test/test_left.png create mode 100644 addons/data/sprites/test/test_left.png.import create mode 100644 addons/data/sprites/test/test_right.png create mode 100644 addons/data/sprites/test/test_right.png.import create mode 100644 addons/data/textures/grass.png create mode 100644 addons/data/textures/grass.png.import create mode 100644 addons/debug_menu/LICENSE.md create mode 100644 addons/debug_menu/debug_menu.gd create mode 100644 addons/debug_menu/debug_menu.tscn create mode 100644 addons/debug_menu/plugin.cfg create mode 100644 addons/debug_menu/plugin.gd create mode 100644 addons/ez_transitions/fonts/mini_pixel-7.ttf create mode 100644 addons/ez_transitions/fonts/mini_pixel-7.ttf.import create mode 100644 addons/ez_transitions/images/black_texture.png create mode 100644 addons/ez_transitions/images/black_texture.png.import create mode 100644 addons/ez_transitions/images/checkbox_checked.png create mode 100644 addons/ez_transitions/images/checkbox_checked.png.import create mode 100644 addons/ez_transitions/images/checkbox_unchecked.png create mode 100644 addons/ez_transitions/images/checkbox_unchecked.png.import create mode 100644 addons/ez_transitions/images/checkerboard_texture.png create mode 100644 addons/ez_transitions/images/checkerboard_texture.png.import create mode 100644 addons/ez_transitions/images/option_button_arrow.png create mode 100644 addons/ez_transitions/images/option_button_arrow.png.import create mode 100644 addons/ez_transitions/images/plugin_icon.png create mode 100644 addons/ez_transitions/images/plugin_icon.png.import create mode 100644 addons/ez_transitions/images/plugin_icon.svg create mode 100644 addons/ez_transitions/images/plugin_icon.svg.import create mode 100644 addons/ez_transitions/images/plugin_icon.xcf create mode 100644 addons/ez_transitions/images/spinbox_updown.png create mode 100644 addons/ez_transitions/images/spinbox_updown.png.import create mode 100644 addons/ez_transitions/images/transition_node_icon.png create mode 100644 addons/ez_transitions/images/transition_node_icon.png.import create mode 100644 addons/ez_transitions/images/transition_node_icon.svg create mode 100644 addons/ez_transitions/images/transition_node_icon.svg.import create mode 100644 addons/ez_transitions/images/transition_overlay_node_icon.png create mode 100644 addons/ez_transitions/images/transition_overlay_node_icon.png.import create mode 100644 addons/ez_transitions/images/transition_overlay_node_icon.svg create mode 100644 addons/ez_transitions/images/transition_overlay_node_icon.svg.import create mode 100644 addons/ez_transitions/materials/transition_material.tres create mode 100644 addons/ez_transitions/objects/main_container/basic_settings_script.gd create mode 100644 addons/ez_transitions/objects/main_container/editor_control_script.gd create mode 100644 addons/ez_transitions/objects/main_container/main_container.tscn create mode 100644 addons/ez_transitions/objects/plugin_singleton/plugin_singleton.tscn create mode 100644 addons/ez_transitions/objects/plugin_singleton/plugin_singleton_script.gd create mode 100644 addons/ez_transitions/objects/transition_overlay/transition_overlay.tscn create mode 100644 addons/ez_transitions/objects/transition_overlay/transition_overlay_script.gd create mode 100644 addons/ez_transitions/plugin.cfg create mode 100644 addons/ez_transitions/plugin_handler.gd create mode 100644 addons/ez_transitions/shaders/scroll_shader.gdshader create mode 100644 addons/ez_transitions/shaders/transition_shader.gdshader create mode 100644 addons/ez_transitions/themes/main_theme.tres create mode 100644 addons/ez_transitions/tutorial.txt create mode 100644 addons/ggs/assets/add.svg create mode 100644 addons/ggs/assets/add.svg.import create mode 100644 addons/ggs/assets/bug.svg create mode 100644 addons/ggs/assets/bug.svg.import create mode 100644 addons/ggs/assets/check_all.svg create mode 100644 addons/ggs/assets/check_all.svg.import create mode 100644 addons/ggs/assets/close.svg create mode 100644 addons/ggs/assets/close.svg.import create mode 100644 addons/ggs/assets/collapse_all.svg create mode 100644 addons/ggs/assets/collapse_all.svg.import create mode 100644 addons/ggs/assets/delete.svg create mode 100644 addons/ggs/assets/delete.svg.import create mode 100644 addons/ggs/assets/docs.svg create mode 100644 addons/ggs/assets/docs.svg.import create mode 100644 addons/ggs/assets/expand_all.svg create mode 100644 addons/ggs/assets/expand_all.svg.import create mode 100644 addons/ggs/assets/feedback.svg create mode 100644 addons/ggs/assets/feedback.svg.import create mode 100644 addons/ggs/assets/file_dialog.svg create mode 100644 addons/ggs/assets/file_dialog.svg.import create mode 100644 addons/ggs/assets/icon_mini.svg create mode 100644 addons/ggs/assets/icon_mini.svg.import create mode 100644 addons/ggs/assets/icon_mono.svg create mode 100644 addons/ggs/assets/icon_mono.svg.import create mode 100644 addons/ggs/assets/reload.svg create mode 100644 addons/ggs/assets/reload.svg.import create mode 100644 addons/ggs/assets/rename.svg create mode 100644 addons/ggs/assets/rename.svg.import create mode 100644 addons/ggs/assets/save_file.svg create mode 100644 addons/ggs/assets/save_file.svg.import create mode 100644 addons/ggs/assets/search.svg create mode 100644 addons/ggs/assets/search.svg.import create mode 100644 addons/ggs/assets/show_in_filesystem.svg create mode 100644 addons/ggs/assets/show_in_filesystem.svg.import create mode 100644 addons/ggs/assets/theme.svg create mode 100644 addons/ggs/assets/theme.svg.import create mode 100644 addons/ggs/assets/uncheck_all.svg create mode 100644 addons/ggs/assets/uncheck_all.svg.import create mode 100644 addons/ggs/classes/ggs_input_helper.gd create mode 100644 addons/ggs/classes/ggs_inspector_plugin.gd create mode 100644 addons/ggs/classes/ggs_save_file.gd create mode 100644 addons/ggs/classes/ggs_ui_component.gd create mode 100644 addons/ggs/classes/ggs_utils.gd create mode 100644 addons/ggs/classes/global/ggs.gd create mode 100644 addons/ggs/classes/global/ggs.tscn create mode 100644 addons/ggs/classes/resources/ggs_icon_db.gd create mode 100644 addons/ggs/classes/resources/ggs_plugin_data.gd create mode 100644 addons/ggs/classes/resources/ggs_setting.gd create mode 100644 addons/ggs/docs/changelog.md create mode 100644 addons/ggs/docs/components/apply_button.md create mode 100644 addons/ggs/docs/components/arrow_list.md create mode 100644 addons/ggs/docs/components/binary_selection.md create mode 100644 addons/ggs/docs/components/components.md create mode 100644 addons/ggs/docs/components/input_button.md create mode 100644 addons/ggs/docs/components/input_confirm_window.md create mode 100644 addons/ggs/docs/components/option_list.md create mode 100644 addons/ggs/docs/components/radio_list.md create mode 100644 addons/ggs/docs/components/reset_button.md create mode 100644 addons/ggs/docs/components/slider.md create mode 100644 addons/ggs/docs/components/spinbox.md create mode 100644 addons/ggs/docs/components/text_field.md create mode 100644 addons/ggs/docs/custom_components.md create mode 100644 addons/ggs/docs/custom_settings.md create mode 100644 addons/ggs/docs/getting_started.md create mode 100644 addons/ggs/docs/home.md create mode 100644 addons/ggs/docs/settings/audio_mute.md create mode 100644 addons/ggs/docs/settings/audio_volume.md create mode 100644 addons/ggs/docs/settings/display_fullscreen.md create mode 100644 addons/ggs/docs/settings/display_scale.md create mode 100644 addons/ggs/docs/settings/display_size.md create mode 100644 addons/ggs/docs/settings/input.md create mode 100644 addons/ggs/docs/settings/settings.md create mode 100644 addons/ggs/docs/troubleshoot.md create mode 100644 addons/ggs/editor/_theme/ggs_theme.gd create mode 100644 addons/ggs/editor/_theme/ggs_theme.tres create mode 100644 addons/ggs/editor/add_setting_window/add_setting_window.gd create mode 100644 addons/ggs/editor/add_setting_window/add_setting_window.tscn create mode 100644 addons/ggs/editor/category_panel/category_list.gd create mode 100644 addons/ggs/editor/category_panel/category_panel.gd create mode 100644 addons/ggs/editor/category_panel/category_panel.tscn create mode 100644 addons/ggs/editor/component_panel/component_panel.gd create mode 100644 addons/ggs/editor/component_panel/component_panel.tscn create mode 100644 addons/ggs/editor/input_selector/input_list.gd create mode 100644 addons/ggs/editor/input_selector/input_selector.gd create mode 100644 addons/ggs/editor/input_selector/input_selector.tscn create mode 100644 addons/ggs/editor/main_panel/bug_btn.gd create mode 100644 addons/ggs/editor/main_panel/docs_btn.gd create mode 100644 addons/ggs/editor/main_panel/feedback_btn.gd create mode 100644 addons/ggs/editor/main_panel/main_panel.tscn create mode 100644 addons/ggs/editor/main_panel/notification.gd create mode 100644 addons/ggs/editor/main_panel/pref_btn.gd create mode 100644 addons/ggs/editor/main_panel/progress_overlay.gd create mode 100644 addons/ggs/editor/main_panel/save_file_menu.gd create mode 100644 addons/ggs/editor/main_panel/split_containers.gd create mode 100644 addons/ggs/editor/main_panel/update_theme_btn.gd create mode 100644 addons/ggs/editor/pref_window/pref_window.gd create mode 100644 addons/ggs/editor/pref_window/pref_window.tscn create mode 100644 addons/ggs/editor/setting_panel/groupless.gd create mode 100644 addons/ggs/editor/setting_panel/setting_group/setting_group.gd create mode 100644 addons/ggs/editor/setting_panel/setting_group/setting_group.tscn create mode 100644 addons/ggs/editor/setting_panel/setting_item/setting_item.gd create mode 100644 addons/ggs/editor/setting_panel/setting_item/setting_item.tscn create mode 100644 addons/ggs/editor/setting_panel/setting_list.gd create mode 100644 addons/ggs/editor/setting_panel/setting_panel.gd create mode 100644 addons/ggs/editor/setting_panel/setting_panel.tscn create mode 100644 addons/ggs/plugin.cfg create mode 100644 addons/ggs/plugin.gd create mode 100644 addons/ggs/plugin_data.tres create mode 100644 addons/ggs/template.gd create mode 100644 addons/godot-git-plugin/LICENSE create mode 100644 addons/godot-git-plugin/THIRDPARTY.md create mode 100644 addons/godot-git-plugin/git_plugin.gdextension create mode 100644 addons/godot-git-plugin/linux/libgit_plugin.linux.editor.x86_64.so create mode 100644 addons/godot-git-plugin/macos/libgit_plugin.macos.editor.universal.dylib create mode 100644 addons/godot-git-plugin/plugin.cfg create mode 100644 addons/godot-git-plugin/win64/libgit_plugin.windows.editor.x86_64.dll create mode 100644 addons/godot-git-plugin/win64/libgit_plugin.windows.editor.x86_64.exp create mode 100644 addons/godot-git-plugin/win64/libgit_plugin.windows.editor.x86_64.lib create mode 100644 addons/health_bar_2d/LICENSE.md create mode 100644 addons/health_bar_2d/README.md create mode 100644 addons/health_bar_2d/addon.gd create mode 100644 addons/health_bar_2d/examples/bullet.gd create mode 100644 addons/health_bar_2d/examples/bullet.tscn create mode 100644 addons/health_bar_2d/examples/example.tscn create mode 100644 addons/health_bar_2d/examples/heal.gd create mode 100644 addons/health_bar_2d/examples/heal.tscn create mode 100644 addons/health_bar_2d/examples/player.gd create mode 100644 addons/health_bar_2d/examples/player.tscn create mode 100644 addons/health_bar_2d/examples/turrent.gd create mode 100644 addons/health_bar_2d/examples/turrent.tscn create mode 100644 addons/health_bar_2d/health_bar_2d.gd create mode 100644 addons/health_bar_2d/health_bar_2d.tscn create mode 100644 addons/health_bar_2d/icon.png create mode 100644 addons/health_bar_2d/icon.png.import create mode 100644 addons/health_bar_2d/plugin.cfg create mode 100644 addons/health_bar_2d/resources/health_bar_texture.png create mode 100644 addons/health_bar_2d/resources/health_bar_texture.png.import create mode 100644 addons/input_prompts/LICENSE create mode 100644 addons/input_prompts/action_prompt/action_prompt.gd create mode 100644 addons/input_prompts/action_prompt/icon.svg create mode 100644 addons/input_prompts/action_prompt/icon.svg.import create mode 100644 addons/input_prompts/icon.svg create mode 100644 addons/input_prompts/icon.svg.import create mode 100644 addons/input_prompts/icons/generic/left_stick_down.png create mode 100644 addons/input_prompts/icons/generic/left_stick_down.png.import create mode 100644 addons/input_prompts/icons/generic/left_stick_left.png create mode 100644 addons/input_prompts/icons/generic/left_stick_left.png.import create mode 100644 addons/input_prompts/icons/generic/left_stick_right.png create mode 100644 addons/input_prompts/icons/generic/left_stick_right.png.import create mode 100644 addons/input_prompts/icons/generic/left_stick_up.png create mode 100644 addons/input_prompts/icons/generic/left_stick_up.png.import create mode 100644 addons/input_prompts/icons/generic/right_stick_down.png create mode 100644 addons/input_prompts/icons/generic/right_stick_down.png.import create mode 100644 addons/input_prompts/icons/generic/right_stick_left.png create mode 100644 addons/input_prompts/icons/generic/right_stick_left.png.import create mode 100644 addons/input_prompts/icons/generic/right_stick_right.png create mode 100644 addons/input_prompts/icons/generic/right_stick_right.png.import create mode 100644 addons/input_prompts/icons/generic/right_stick_up.png create mode 100644 addons/input_prompts/icons/generic/right_stick_up.png.import create mode 100644 addons/input_prompts/icons/keyboard/0.png create mode 100644 addons/input_prompts/icons/keyboard/0.png.import create mode 100644 addons/input_prompts/icons/keyboard/1.png create mode 100644 addons/input_prompts/icons/keyboard/1.png.import create mode 100644 addons/input_prompts/icons/keyboard/2.png create mode 100644 addons/input_prompts/icons/keyboard/2.png.import create mode 100644 addons/input_prompts/icons/keyboard/3.png create mode 100644 addons/input_prompts/icons/keyboard/3.png.import create mode 100644 addons/input_prompts/icons/keyboard/4.png create mode 100644 addons/input_prompts/icons/keyboard/4.png.import create mode 100644 addons/input_prompts/icons/keyboard/5.png create mode 100644 addons/input_prompts/icons/keyboard/5.png.import create mode 100644 addons/input_prompts/icons/keyboard/6.png create mode 100644 addons/input_prompts/icons/keyboard/6.png.import create mode 100644 addons/input_prompts/icons/keyboard/7.png create mode 100644 addons/input_prompts/icons/keyboard/7.png.import create mode 100644 addons/input_prompts/icons/keyboard/8.png create mode 100644 addons/input_prompts/icons/keyboard/8.png.import create mode 100644 addons/input_prompts/icons/keyboard/9.png create mode 100644 addons/input_prompts/icons/keyboard/9.png.import create mode 100644 addons/input_prompts/icons/keyboard/a.png create mode 100644 addons/input_prompts/icons/keyboard/a.png.import create mode 100644 addons/input_prompts/icons/keyboard/alt.png create mode 100644 addons/input_prompts/icons/keyboard/alt.png.import create mode 100644 addons/input_prompts/icons/keyboard/apostrophe.png create mode 100644 addons/input_prompts/icons/keyboard/apostrophe.png.import create mode 100644 addons/input_prompts/icons/keyboard/asterisk.png create mode 100644 addons/input_prompts/icons/keyboard/asterisk.png.import create mode 100644 addons/input_prompts/icons/keyboard/at.png create mode 100644 addons/input_prompts/icons/keyboard/at.png.import create mode 100644 addons/input_prompts/icons/keyboard/b.png create mode 100644 addons/input_prompts/icons/keyboard/b.png.import create mode 100644 addons/input_prompts/icons/keyboard/backslash.png create mode 100644 addons/input_prompts/icons/keyboard/backslash.png.import create mode 100644 addons/input_prompts/icons/keyboard/backspace.png create mode 100644 addons/input_prompts/icons/keyboard/backspace.png.import create mode 100644 addons/input_prompts/icons/keyboard/blank.png create mode 100644 addons/input_prompts/icons/keyboard/blank.png.import create mode 100644 addons/input_prompts/icons/keyboard/c.png create mode 100644 addons/input_prompts/icons/keyboard/c.png.import create mode 100644 addons/input_prompts/icons/keyboard/caps.png create mode 100644 addons/input_prompts/icons/keyboard/caps.png.import create mode 100644 addons/input_prompts/icons/keyboard/caret.png create mode 100644 addons/input_prompts/icons/keyboard/caret.png.import create mode 100644 addons/input_prompts/icons/keyboard/cent.png create mode 100644 addons/input_prompts/icons/keyboard/cent.png.import create mode 100644 addons/input_prompts/icons/keyboard/colon.png create mode 100644 addons/input_prompts/icons/keyboard/colon.png.import create mode 100644 addons/input_prompts/icons/keyboard/comma.png create mode 100644 addons/input_prompts/icons/keyboard/comma.png.import create mode 100644 addons/input_prompts/icons/keyboard/ctrl.png create mode 100644 addons/input_prompts/icons/keyboard/ctrl.png.import create mode 100644 addons/input_prompts/icons/keyboard/d.png create mode 100644 addons/input_prompts/icons/keyboard/d.png.import create mode 100644 addons/input_prompts/icons/keyboard/del.png create mode 100644 addons/input_prompts/icons/keyboard/del.png.import create mode 100644 addons/input_prompts/icons/keyboard/dollar.png create mode 100644 addons/input_prompts/icons/keyboard/dollar.png.import create mode 100644 addons/input_prompts/icons/keyboard/down.png create mode 100644 addons/input_prompts/icons/keyboard/down.png.import create mode 100644 addons/input_prompts/icons/keyboard/e.png create mode 100644 addons/input_prompts/icons/keyboard/e.png.import create mode 100644 addons/input_prompts/icons/keyboard/end.png create mode 100644 addons/input_prompts/icons/keyboard/end.png.import create mode 100644 addons/input_prompts/icons/keyboard/enter_large.png create mode 100644 addons/input_prompts/icons/keyboard/enter_large.png.import create mode 100644 addons/input_prompts/icons/keyboard/enter_small.png create mode 100644 addons/input_prompts/icons/keyboard/enter_small.png.import create mode 100644 addons/input_prompts/icons/keyboard/enter_wide.png create mode 100644 addons/input_prompts/icons/keyboard/enter_wide.png.import create mode 100644 addons/input_prompts/icons/keyboard/equals.png create mode 100644 addons/input_prompts/icons/keyboard/equals.png.import create mode 100644 addons/input_prompts/icons/keyboard/esc.png create mode 100644 addons/input_prompts/icons/keyboard/esc.png.import create mode 100644 addons/input_prompts/icons/keyboard/exclamation.png create mode 100644 addons/input_prompts/icons/keyboard/exclamation.png.import create mode 100644 addons/input_prompts/icons/keyboard/f.png create mode 100644 addons/input_prompts/icons/keyboard/f.png.import create mode 100644 addons/input_prompts/icons/keyboard/f1.png create mode 100644 addons/input_prompts/icons/keyboard/f1.png.import create mode 100644 addons/input_prompts/icons/keyboard/f10.png create mode 100644 addons/input_prompts/icons/keyboard/f10.png.import create mode 100644 addons/input_prompts/icons/keyboard/f11.png create mode 100644 addons/input_prompts/icons/keyboard/f11.png.import create mode 100644 addons/input_prompts/icons/keyboard/f12.png create mode 100644 addons/input_prompts/icons/keyboard/f12.png.import create mode 100644 addons/input_prompts/icons/keyboard/f2.png create mode 100644 addons/input_prompts/icons/keyboard/f2.png.import create mode 100644 addons/input_prompts/icons/keyboard/f3.png create mode 100644 addons/input_prompts/icons/keyboard/f3.png.import create mode 100644 addons/input_prompts/icons/keyboard/f4.png create mode 100644 addons/input_prompts/icons/keyboard/f4.png.import create mode 100644 addons/input_prompts/icons/keyboard/f5.png create mode 100644 addons/input_prompts/icons/keyboard/f5.png.import create mode 100644 addons/input_prompts/icons/keyboard/f6.png create mode 100644 addons/input_prompts/icons/keyboard/f6.png.import create mode 100644 addons/input_prompts/icons/keyboard/f7.png create mode 100644 addons/input_prompts/icons/keyboard/f7.png.import create mode 100644 addons/input_prompts/icons/keyboard/f8.png create mode 100644 addons/input_prompts/icons/keyboard/f8.png.import create mode 100644 addons/input_prompts/icons/keyboard/f9.png create mode 100644 addons/input_prompts/icons/keyboard/f9.png.import create mode 100644 addons/input_prompts/icons/keyboard/forward_slash.png create mode 100644 addons/input_prompts/icons/keyboard/forward_slash.png.import create mode 100644 addons/input_prompts/icons/keyboard/g.png create mode 100644 addons/input_prompts/icons/keyboard/g.png.import create mode 100644 addons/input_prompts/icons/keyboard/greater.png create mode 100644 addons/input_prompts/icons/keyboard/greater.png.import create mode 100644 addons/input_prompts/icons/keyboard/h.png create mode 100644 addons/input_prompts/icons/keyboard/h.png.import create mode 100644 addons/input_prompts/icons/keyboard/hash.png create mode 100644 addons/input_prompts/icons/keyboard/hash.png.import create mode 100644 addons/input_prompts/icons/keyboard/home.png create mode 100644 addons/input_prompts/icons/keyboard/home.png.import create mode 100644 addons/input_prompts/icons/keyboard/i.png create mode 100644 addons/input_prompts/icons/keyboard/i.png.import create mode 100644 addons/input_prompts/icons/keyboard/insert.png create mode 100644 addons/input_prompts/icons/keyboard/insert.png.import create mode 100644 addons/input_prompts/icons/keyboard/j.png create mode 100644 addons/input_prompts/icons/keyboard/j.png.import create mode 100644 addons/input_prompts/icons/keyboard/k.png create mode 100644 addons/input_prompts/icons/keyboard/k.png.import create mode 100644 addons/input_prompts/icons/keyboard/l.png create mode 100644 addons/input_prompts/icons/keyboard/l.png.import create mode 100644 addons/input_prompts/icons/keyboard/left.png create mode 100644 addons/input_prompts/icons/keyboard/left.png.import create mode 100644 addons/input_prompts/icons/keyboard/left_brace.png create mode 100644 addons/input_prompts/icons/keyboard/left_brace.png.import create mode 100644 addons/input_prompts/icons/keyboard/left_bracket.png create mode 100644 addons/input_prompts/icons/keyboard/left_bracket.png.import create mode 100644 addons/input_prompts/icons/keyboard/left_paren.png create mode 100644 addons/input_prompts/icons/keyboard/left_paren.png.import create mode 100644 addons/input_prompts/icons/keyboard/less.png create mode 100644 addons/input_prompts/icons/keyboard/less.png.import create mode 100644 addons/input_prompts/icons/keyboard/m.png create mode 100644 addons/input_prompts/icons/keyboard/m.png.import create mode 100644 addons/input_prompts/icons/keyboard/media_back.png create mode 100644 addons/input_prompts/icons/keyboard/media_back.png.import create mode 100644 addons/input_prompts/icons/keyboard/media_forward.png create mode 100644 addons/input_prompts/icons/keyboard/media_forward.png.import create mode 100644 addons/input_prompts/icons/keyboard/media_next.png create mode 100644 addons/input_prompts/icons/keyboard/media_next.png.import create mode 100644 addons/input_prompts/icons/keyboard/media_pause.png create mode 100644 addons/input_prompts/icons/keyboard/media_pause.png.import create mode 100644 addons/input_prompts/icons/keyboard/media_play.png create mode 100644 addons/input_prompts/icons/keyboard/media_play.png.import create mode 100644 addons/input_prompts/icons/keyboard/media_previous.png create mode 100644 addons/input_prompts/icons/keyboard/media_previous.png.import create mode 100644 addons/input_prompts/icons/keyboard/media_record.png create mode 100644 addons/input_prompts/icons/keyboard/media_record.png.import create mode 100644 addons/input_prompts/icons/keyboard/media_stop.png create mode 100644 addons/input_prompts/icons/keyboard/media_stop.png.import create mode 100644 addons/input_prompts/icons/keyboard/meta.png create mode 100644 addons/input_prompts/icons/keyboard/meta.png.import create mode 100644 addons/input_prompts/icons/keyboard/minus.png create mode 100644 addons/input_prompts/icons/keyboard/minus.png.import create mode 100644 addons/input_prompts/icons/keyboard/n.png create mode 100644 addons/input_prompts/icons/keyboard/n.png.import create mode 100644 addons/input_prompts/icons/keyboard/nbsp.png create mode 100644 addons/input_prompts/icons/keyboard/nbsp.png.import create mode 100644 addons/input_prompts/icons/keyboard/num.png create mode 100644 addons/input_prompts/icons/keyboard/num.png.import create mode 100644 addons/input_prompts/icons/keyboard/o.png create mode 100644 addons/input_prompts/icons/keyboard/o.png.import create mode 100644 addons/input_prompts/icons/keyboard/p.png create mode 100644 addons/input_prompts/icons/keyboard/p.png.import create mode 100644 addons/input_prompts/icons/keyboard/page_down.png create mode 100644 addons/input_prompts/icons/keyboard/page_down.png.import create mode 100644 addons/input_prompts/icons/keyboard/page_up.png create mode 100644 addons/input_prompts/icons/keyboard/page_up.png.import create mode 100644 addons/input_prompts/icons/keyboard/pause.png create mode 100644 addons/input_prompts/icons/keyboard/pause.png.import create mode 100644 addons/input_prompts/icons/keyboard/percent.png create mode 100644 addons/input_prompts/icons/keyboard/percent.png.import create mode 100644 addons/input_prompts/icons/keyboard/period.png create mode 100644 addons/input_prompts/icons/keyboard/period.png.import create mode 100644 addons/input_prompts/icons/keyboard/pipe.png create mode 100644 addons/input_prompts/icons/keyboard/pipe.png.import create mode 100644 addons/input_prompts/icons/keyboard/plus.png create mode 100644 addons/input_prompts/icons/keyboard/plus.png.import create mode 100644 addons/input_prompts/icons/keyboard/print.png create mode 100644 addons/input_prompts/icons/keyboard/print.png.import create mode 100644 addons/input_prompts/icons/keyboard/q.png create mode 100644 addons/input_prompts/icons/keyboard/q.png.import create mode 100644 addons/input_prompts/icons/keyboard/question.png create mode 100644 addons/input_prompts/icons/keyboard/question.png.import create mode 100644 addons/input_prompts/icons/keyboard/quote.png create mode 100644 addons/input_prompts/icons/keyboard/quote.png.import create mode 100644 addons/input_prompts/icons/keyboard/r.png create mode 100644 addons/input_prompts/icons/keyboard/r.png.import create mode 100644 addons/input_prompts/icons/keyboard/right.png create mode 100644 addons/input_prompts/icons/keyboard/right.png.import create mode 100644 addons/input_prompts/icons/keyboard/right_brace.png create mode 100644 addons/input_prompts/icons/keyboard/right_brace.png.import create mode 100644 addons/input_prompts/icons/keyboard/right_bracket.png create mode 100644 addons/input_prompts/icons/keyboard/right_bracket.png.import create mode 100644 addons/input_prompts/icons/keyboard/right_paren.png create mode 100644 addons/input_prompts/icons/keyboard/right_paren.png.import create mode 100644 addons/input_prompts/icons/keyboard/s.png create mode 100644 addons/input_prompts/icons/keyboard/s.png.import create mode 100644 addons/input_prompts/icons/keyboard/scroll.png create mode 100644 addons/input_prompts/icons/keyboard/scroll.png.import create mode 100644 addons/input_prompts/icons/keyboard/semicolon.png create mode 100644 addons/input_prompts/icons/keyboard/semicolon.png.import create mode 100644 addons/input_prompts/icons/keyboard/shift.png create mode 100644 addons/input_prompts/icons/keyboard/shift.png.import create mode 100644 addons/input_prompts/icons/keyboard/space.png create mode 100644 addons/input_prompts/icons/keyboard/space.png.import create mode 100644 addons/input_prompts/icons/keyboard/t.png create mode 100644 addons/input_prompts/icons/keyboard/t.png.import create mode 100644 addons/input_prompts/icons/keyboard/tab.png create mode 100644 addons/input_prompts/icons/keyboard/tab.png.import create mode 100644 addons/input_prompts/icons/keyboard/tilde.png create mode 100644 addons/input_prompts/icons/keyboard/tilde.png.import create mode 100644 addons/input_prompts/icons/keyboard/tile_0504.png create mode 100644 addons/input_prompts/icons/keyboard/tile_0504.png.import create mode 100644 addons/input_prompts/icons/keyboard/u.png create mode 100644 addons/input_prompts/icons/keyboard/u.png.import create mode 100644 addons/input_prompts/icons/keyboard/underscore.png create mode 100644 addons/input_prompts/icons/keyboard/underscore.png.import create mode 100644 addons/input_prompts/icons/keyboard/up.png create mode 100644 addons/input_prompts/icons/keyboard/up.png.import create mode 100644 addons/input_prompts/icons/keyboard/v.png create mode 100644 addons/input_prompts/icons/keyboard/v.png.import create mode 100644 addons/input_prompts/icons/keyboard/w.png create mode 100644 addons/input_prompts/icons/keyboard/w.png.import create mode 100644 addons/input_prompts/icons/keyboard/x.png create mode 100644 addons/input_prompts/icons/keyboard/x.png.import create mode 100644 addons/input_prompts/icons/keyboard/y.png create mode 100644 addons/input_prompts/icons/keyboard/y.png.import create mode 100644 addons/input_prompts/icons/keyboard/z.png create mode 100644 addons/input_prompts/icons/keyboard/z.png.import create mode 100644 addons/input_prompts/icons/mouse/left.png create mode 100644 addons/input_prompts/icons/mouse/left.png.import create mode 100644 addons/input_prompts/icons/mouse/middle.png create mode 100644 addons/input_prompts/icons/mouse/middle.png.import create mode 100644 addons/input_prompts/icons/mouse/right.png create mode 100644 addons/input_prompts/icons/mouse/right.png.import create mode 100644 addons/input_prompts/icons/mouse/wheel_down.png create mode 100644 addons/input_prompts/icons/mouse/wheel_down.png.import create mode 100644 addons/input_prompts/icons/mouse/wheel_left.png create mode 100644 addons/input_prompts/icons/mouse/wheel_left.png.import create mode 100644 addons/input_prompts/icons/mouse/wheel_right.png create mode 100644 addons/input_prompts/icons/mouse/wheel_right.png.import create mode 100644 addons/input_prompts/icons/mouse/wheel_up.png create mode 100644 addons/input_prompts/icons/mouse/wheel_up.png.import create mode 100644 addons/input_prompts/icons/nintendo/a.png create mode 100644 addons/input_prompts/icons/nintendo/a.png.import create mode 100644 addons/input_prompts/icons/nintendo/b.png create mode 100644 addons/input_prompts/icons/nintendo/b.png.import create mode 100644 addons/input_prompts/icons/nintendo/capture.png create mode 100644 addons/input_prompts/icons/nintendo/capture.png.import create mode 100644 addons/input_prompts/icons/nintendo/down.png create mode 100644 addons/input_prompts/icons/nintendo/down.png.import create mode 100644 addons/input_prompts/icons/nintendo/home.png create mode 100644 addons/input_prompts/icons/nintendo/home.png.import create mode 100644 addons/input_prompts/icons/nintendo/l.png create mode 100644 addons/input_prompts/icons/nintendo/l.png.import create mode 100644 addons/input_prompts/icons/nintendo/left.png create mode 100644 addons/input_prompts/icons/nintendo/left.png.import create mode 100644 addons/input_prompts/icons/nintendo/left_stick.png create mode 100644 addons/input_prompts/icons/nintendo/left_stick.png.import create mode 100644 addons/input_prompts/icons/nintendo/minus.png create mode 100644 addons/input_prompts/icons/nintendo/minus.png.import create mode 100644 addons/input_prompts/icons/nintendo/plus.png create mode 100644 addons/input_prompts/icons/nintendo/plus.png.import create mode 100644 addons/input_prompts/icons/nintendo/r.png create mode 100644 addons/input_prompts/icons/nintendo/r.png.import create mode 100644 addons/input_prompts/icons/nintendo/right.png create mode 100644 addons/input_prompts/icons/nintendo/right.png.import create mode 100644 addons/input_prompts/icons/nintendo/right_stick.png create mode 100644 addons/input_prompts/icons/nintendo/right_stick.png.import create mode 100644 addons/input_prompts/icons/nintendo/up.png create mode 100644 addons/input_prompts/icons/nintendo/up.png.import create mode 100644 addons/input_prompts/icons/nintendo/x.png create mode 100644 addons/input_prompts/icons/nintendo/x.png.import create mode 100644 addons/input_prompts/icons/nintendo/y.png create mode 100644 addons/input_prompts/icons/nintendo/y.png.import create mode 100644 addons/input_prompts/icons/nintendo/zl.png create mode 100644 addons/input_prompts/icons/nintendo/zl.png.import create mode 100644 addons/input_prompts/icons/nintendo/zr.png create mode 100644 addons/input_prompts/icons/nintendo/zr.png.import create mode 100644 addons/input_prompts/icons/sony/circle.png create mode 100644 addons/input_prompts/icons/sony/circle.png.import create mode 100644 addons/input_prompts/icons/sony/cross.png create mode 100644 addons/input_prompts/icons/sony/cross.png.import create mode 100644 addons/input_prompts/icons/sony/down.png create mode 100644 addons/input_prompts/icons/sony/down.png.import create mode 100644 addons/input_prompts/icons/sony/l1.png create mode 100644 addons/input_prompts/icons/sony/l1.png.import create mode 100644 addons/input_prompts/icons/sony/l2.png create mode 100644 addons/input_prompts/icons/sony/l2.png.import create mode 100644 addons/input_prompts/icons/sony/left.png create mode 100644 addons/input_prompts/icons/sony/left.png.import create mode 100644 addons/input_prompts/icons/sony/left_stick.png create mode 100644 addons/input_prompts/icons/sony/left_stick.png.import create mode 100644 addons/input_prompts/icons/sony/microphone.png create mode 100644 addons/input_prompts/icons/sony/microphone.png.import create mode 100644 addons/input_prompts/icons/sony/ps.png create mode 100644 addons/input_prompts/icons/sony/ps.png.import create mode 100644 addons/input_prompts/icons/sony/r1.png create mode 100644 addons/input_prompts/icons/sony/r1.png.import create mode 100644 addons/input_prompts/icons/sony/r2.png create mode 100644 addons/input_prompts/icons/sony/r2.png.import create mode 100644 addons/input_prompts/icons/sony/right.png create mode 100644 addons/input_prompts/icons/sony/right.png.import create mode 100644 addons/input_prompts/icons/sony/right_stick.png create mode 100644 addons/input_prompts/icons/sony/right_stick.png.import create mode 100644 addons/input_prompts/icons/sony/select.png create mode 100644 addons/input_prompts/icons/sony/select.png.import create mode 100644 addons/input_prompts/icons/sony/square.png create mode 100644 addons/input_prompts/icons/sony/square.png.import create mode 100644 addons/input_prompts/icons/sony/start.png create mode 100644 addons/input_prompts/icons/sony/start.png.import create mode 100644 addons/input_prompts/icons/sony/touchpad.png create mode 100644 addons/input_prompts/icons/sony/touchpad.png.import create mode 100644 addons/input_prompts/icons/sony/triangle.png create mode 100644 addons/input_prompts/icons/sony/triangle.png.import create mode 100644 addons/input_prompts/icons/sony/up.png create mode 100644 addons/input_prompts/icons/sony/up.png.import create mode 100644 addons/input_prompts/icons/xbox/a.png create mode 100644 addons/input_prompts/icons/xbox/a.png.import create mode 100644 addons/input_prompts/icons/xbox/b.png create mode 100644 addons/input_prompts/icons/xbox/b.png.import create mode 100644 addons/input_prompts/icons/xbox/down.png create mode 100644 addons/input_prompts/icons/xbox/down.png.import create mode 100644 addons/input_prompts/icons/xbox/left.png create mode 100644 addons/input_prompts/icons/xbox/left.png.import create mode 100644 addons/input_prompts/icons/xbox/left_bumper.png create mode 100644 addons/input_prompts/icons/xbox/left_bumper.png.import create mode 100644 addons/input_prompts/icons/xbox/left_stick.png create mode 100644 addons/input_prompts/icons/xbox/left_stick.png.import create mode 100644 addons/input_prompts/icons/xbox/left_trigger.png create mode 100644 addons/input_prompts/icons/xbox/left_trigger.png.import create mode 100644 addons/input_prompts/icons/xbox/menu.png create mode 100644 addons/input_prompts/icons/xbox/menu.png.import create mode 100644 addons/input_prompts/icons/xbox/right.png create mode 100644 addons/input_prompts/icons/xbox/right.png.import create mode 100644 addons/input_prompts/icons/xbox/right_bumper.png create mode 100644 addons/input_prompts/icons/xbox/right_bumper.png.import create mode 100644 addons/input_prompts/icons/xbox/right_stick.png create mode 100644 addons/input_prompts/icons/xbox/right_stick.png.import create mode 100644 addons/input_prompts/icons/xbox/right_trigger.png create mode 100644 addons/input_prompts/icons/xbox/right_trigger.png.import create mode 100644 addons/input_prompts/icons/xbox/share.png create mode 100644 addons/input_prompts/icons/xbox/share.png.import create mode 100644 addons/input_prompts/icons/xbox/up.png create mode 100644 addons/input_prompts/icons/xbox/up.png.import create mode 100644 addons/input_prompts/icons/xbox/view.png create mode 100644 addons/input_prompts/icons/xbox/view.png.import create mode 100644 addons/input_prompts/icons/xbox/x.png create mode 100644 addons/input_prompts/icons/xbox/x.png.import create mode 100644 addons/input_prompts/icons/xbox/xbox.png create mode 100644 addons/input_prompts/icons/xbox/xbox.png.import create mode 100644 addons/input_prompts/icons/xbox/y.png create mode 100644 addons/input_prompts/icons/xbox/y.png.import create mode 100644 addons/input_prompts/input_prompt.gd create mode 100644 addons/input_prompts/input_prompt_manager.gd create mode 100644 addons/input_prompts/inspector_plugin.gd create mode 100644 addons/input_prompts/joypad_button_prompt/icon.svg create mode 100644 addons/input_prompts/joypad_button_prompt/icon.svg.import create mode 100644 addons/input_prompts/joypad_button_prompt/joypad_button_prompt.gd create mode 100644 addons/input_prompts/joypad_button_prompt/nintendo.tres create mode 100644 addons/input_prompts/joypad_button_prompt/sony.tres create mode 100644 addons/input_prompts/joypad_button_prompt/xbox.tres create mode 100644 addons/input_prompts/joypad_motion_prompt/icon.svg create mode 100644 addons/input_prompts/joypad_motion_prompt/icon.svg.import create mode 100644 addons/input_prompts/joypad_motion_prompt/joypad_motion_prompt.gd create mode 100644 addons/input_prompts/joypad_motion_prompt/nintendo.tres create mode 100644 addons/input_prompts/joypad_motion_prompt/sony.tres create mode 100644 addons/input_prompts/joypad_motion_prompt/xbox.tres create mode 100644 addons/input_prompts/key_prompt/icon.svg create mode 100644 addons/input_prompts/key_prompt/icon.svg.import create mode 100644 addons/input_prompts/key_prompt/key_prompt.gd create mode 100644 addons/input_prompts/key_prompt/keys.tres create mode 100644 addons/input_prompts/mouse_button_prompt/buttons.tres create mode 100644 addons/input_prompts/mouse_button_prompt/icon.svg create mode 100644 addons/input_prompts/mouse_button_prompt/icon.svg.import create mode 100644 addons/input_prompts/mouse_button_prompt/mouse_button_prompt.gd create mode 100644 addons/input_prompts/plugin.cfg create mode 100644 addons/input_prompts/plugin.gd create mode 100644 addons/input_prompts/resources/joypad_button_textures.gd create mode 100644 addons/input_prompts/resources/joypad_motion_textures.gd create mode 100644 addons/input_prompts/resources/keyboard_textures.gd create mode 100644 addons/input_prompts/resources/mouse_button_textures.gd create mode 100644 addons/kenney rpg audio/belt_handle_1.ogg create mode 100644 addons/kenney rpg audio/belt_handle_1.ogg.import create mode 100644 addons/kenney rpg audio/belt_handle_2.ogg create mode 100644 addons/kenney rpg audio/belt_handle_2.ogg.import create mode 100644 addons/kenney rpg audio/book_close.ogg create mode 100644 addons/kenney rpg audio/book_close.ogg.import create mode 100644 addons/kenney rpg audio/book_flip_1.ogg create mode 100644 addons/kenney rpg audio/book_flip_1.ogg.import create mode 100644 addons/kenney rpg audio/book_flip_2.ogg create mode 100644 addons/kenney rpg audio/book_flip_2.ogg.import create mode 100644 addons/kenney rpg audio/book_flip_3.ogg create mode 100644 addons/kenney rpg audio/book_flip_3.ogg.import create mode 100644 addons/kenney rpg audio/book_open.ogg create mode 100644 addons/kenney rpg audio/book_open.ogg.import create mode 100644 addons/kenney rpg audio/book_place_1.ogg create mode 100644 addons/kenney rpg audio/book_place_1.ogg.import create mode 100644 addons/kenney rpg audio/book_place_2.ogg create mode 100644 addons/kenney rpg audio/book_place_2.ogg.import create mode 100644 addons/kenney rpg audio/book_place_3.ogg create mode 100644 addons/kenney rpg audio/book_place_3.ogg.import create mode 100644 addons/kenney rpg audio/chop.ogg create mode 100644 addons/kenney rpg audio/chop.ogg.import create mode 100644 addons/kenney rpg audio/cloth_1.ogg create mode 100644 addons/kenney rpg audio/cloth_1.ogg.import create mode 100644 addons/kenney rpg audio/cloth_2.ogg create mode 100644 addons/kenney rpg audio/cloth_2.ogg.import create mode 100644 addons/kenney rpg audio/cloth_3.ogg create mode 100644 addons/kenney rpg audio/cloth_3.ogg.import create mode 100644 addons/kenney rpg audio/cloth_4.ogg create mode 100644 addons/kenney rpg audio/cloth_4.ogg.import create mode 100644 addons/kenney rpg audio/cloth_belt.ogg create mode 100644 addons/kenney rpg audio/cloth_belt.ogg.import create mode 100644 addons/kenney rpg audio/cloth_belt_2.ogg create mode 100644 addons/kenney rpg audio/cloth_belt_2.ogg.import create mode 100644 addons/kenney rpg audio/creak_1.ogg create mode 100644 addons/kenney rpg audio/creak_1.ogg.import create mode 100644 addons/kenney rpg audio/creak_2.ogg create mode 100644 addons/kenney rpg audio/creak_2.ogg.import create mode 100644 addons/kenney rpg audio/creak_3.ogg create mode 100644 addons/kenney rpg audio/creak_3.ogg.import create mode 100644 addons/kenney rpg audio/door_close_1.ogg create mode 100644 addons/kenney rpg audio/door_close_1.ogg.import create mode 100644 addons/kenney rpg audio/door_close_2.ogg create mode 100644 addons/kenney rpg audio/door_close_2.ogg.import create mode 100644 addons/kenney rpg audio/door_close_3.ogg create mode 100644 addons/kenney rpg audio/door_close_3.ogg.import create mode 100644 addons/kenney rpg audio/door_close_4.ogg create mode 100644 addons/kenney rpg audio/door_close_4.ogg.import create mode 100644 addons/kenney rpg audio/door_open_1.ogg create mode 100644 addons/kenney rpg audio/door_open_1.ogg.import create mode 100644 addons/kenney rpg audio/door_open_2.ogg create mode 100644 addons/kenney rpg audio/door_open_2.ogg.import create mode 100644 addons/kenney rpg audio/draw_knife_1.ogg create mode 100644 addons/kenney rpg audio/draw_knife_1.ogg.import create mode 100644 addons/kenney rpg audio/draw_knife_2.ogg create mode 100644 addons/kenney rpg audio/draw_knife_2.ogg.import create mode 100644 addons/kenney rpg audio/draw_knife_3.ogg create mode 100644 addons/kenney rpg audio/draw_knife_3.ogg.import create mode 100644 addons/kenney rpg audio/drop_leather.ogg create mode 100644 addons/kenney rpg audio/drop_leather.ogg.import create mode 100644 addons/kenney rpg audio/footstep_0.ogg create mode 100644 addons/kenney rpg audio/footstep_0.ogg.import create mode 100644 addons/kenney rpg audio/footstep_1.ogg create mode 100644 addons/kenney rpg audio/footstep_1.ogg.import create mode 100644 addons/kenney rpg audio/footstep_2.ogg create mode 100644 addons/kenney rpg audio/footstep_2.ogg.import create mode 100644 addons/kenney rpg audio/footstep_3.ogg create mode 100644 addons/kenney rpg audio/footstep_3.ogg.import create mode 100644 addons/kenney rpg audio/footstep_4.ogg create mode 100644 addons/kenney rpg audio/footstep_4.ogg.import create mode 100644 addons/kenney rpg audio/footstep_5.ogg create mode 100644 addons/kenney rpg audio/footstep_5.ogg.import create mode 100644 addons/kenney rpg audio/footstep_6.ogg create mode 100644 addons/kenney rpg audio/footstep_6.ogg.import create mode 100644 addons/kenney rpg audio/footstep_7.ogg create mode 100644 addons/kenney rpg audio/footstep_7.ogg.import create mode 100644 addons/kenney rpg audio/footstep_8.ogg create mode 100644 addons/kenney rpg audio/footstep_8.ogg.import create mode 100644 addons/kenney rpg audio/footstep_9.ogg create mode 100644 addons/kenney rpg audio/footstep_9.ogg.import create mode 100644 addons/kenney rpg audio/handle_coins.ogg create mode 100644 addons/kenney rpg audio/handle_coins.ogg.import create mode 100644 addons/kenney rpg audio/handle_coins_2.ogg create mode 100644 addons/kenney rpg audio/handle_coins_2.ogg.import create mode 100644 addons/kenney rpg audio/handle_small_leather.ogg create mode 100644 addons/kenney rpg audio/handle_small_leather.ogg.import create mode 100644 addons/kenney rpg audio/handle_small_leather_2.ogg create mode 100644 addons/kenney rpg audio/handle_small_leather_2.ogg.import create mode 100644 addons/kenney rpg audio/knife_slice.ogg create mode 100644 addons/kenney rpg audio/knife_slice.ogg.import create mode 100644 addons/kenney rpg audio/knife_slice_2.ogg create mode 100644 addons/kenney rpg audio/knife_slice_2.ogg.import create mode 100644 addons/kenney rpg audio/metal_click.ogg create mode 100644 addons/kenney rpg audio/metal_click.ogg.import create mode 100644 addons/kenney rpg audio/metal_latch.ogg create mode 100644 addons/kenney rpg audio/metal_latch.ogg.import create mode 100644 addons/kenney rpg audio/metal_pot_1.ogg create mode 100644 addons/kenney rpg audio/metal_pot_1.ogg.import create mode 100644 addons/kenney rpg audio/metal_pot_2.ogg create mode 100644 addons/kenney rpg audio/metal_pot_2.ogg.import create mode 100644 addons/kenney rpg audio/metal_pot_3.ogg create mode 100644 addons/kenney rpg audio/metal_pot_3.ogg.import create mode 100644 addons/kenney_prototype_textures/LICENSE.txt create mode 100644 addons/kenney_prototype_textures/dark/texture_01.png create mode 100644 addons/kenney_prototype_textures/dark/texture_01.png.import create mode 100644 addons/kenney_prototype_textures/dark/texture_02.png create mode 100644 addons/kenney_prototype_textures/dark/texture_02.png.import create mode 100644 addons/kenney_prototype_textures/dark/texture_03.png create mode 100644 addons/kenney_prototype_textures/dark/texture_03.png.import create mode 100644 addons/kenney_prototype_textures/dark/texture_04.png create mode 100644 addons/kenney_prototype_textures/dark/texture_04.png.import create mode 100644 addons/kenney_prototype_textures/dark/texture_05.png create mode 100644 addons/kenney_prototype_textures/dark/texture_05.png.import create mode 100644 addons/kenney_prototype_textures/dark/texture_06.png create mode 100644 addons/kenney_prototype_textures/dark/texture_06.png.import create mode 100644 addons/kenney_prototype_textures/dark/texture_07.png create mode 100644 addons/kenney_prototype_textures/dark/texture_07.png.import create mode 100644 addons/kenney_prototype_textures/dark/texture_08.png create mode 100644 addons/kenney_prototype_textures/dark/texture_08.png.import create mode 100644 addons/kenney_prototype_textures/dark/texture_09.png create mode 100644 addons/kenney_prototype_textures/dark/texture_09.png.import create mode 100644 addons/kenney_prototype_textures/dark/texture_10.png create mode 100644 addons/kenney_prototype_textures/dark/texture_10.png.import create mode 100644 addons/kenney_prototype_textures/dark/texture_11.png create mode 100644 addons/kenney_prototype_textures/dark/texture_11.png.import create mode 100644 addons/kenney_prototype_textures/dark/texture_12.png create mode 100644 addons/kenney_prototype_textures/dark/texture_12.png.import create mode 100644 addons/kenney_prototype_textures/dark/texture_13.png create mode 100644 addons/kenney_prototype_textures/dark/texture_13.png.import create mode 100644 addons/kenney_prototype_textures/green/texture_01.png create mode 100644 addons/kenney_prototype_textures/green/texture_01.png.import create mode 100644 addons/kenney_prototype_textures/green/texture_02.png create mode 100644 addons/kenney_prototype_textures/green/texture_02.png.import create mode 100644 addons/kenney_prototype_textures/green/texture_03.png create mode 100644 addons/kenney_prototype_textures/green/texture_03.png.import create mode 100644 addons/kenney_prototype_textures/green/texture_04.png create mode 100644 addons/kenney_prototype_textures/green/texture_04.png.import create mode 100644 addons/kenney_prototype_textures/green/texture_05.png create mode 100644 addons/kenney_prototype_textures/green/texture_05.png.import create mode 100644 addons/kenney_prototype_textures/green/texture_06.png create mode 100644 addons/kenney_prototype_textures/green/texture_06.png.import create mode 100644 addons/kenney_prototype_textures/green/texture_07.png create mode 100644 addons/kenney_prototype_textures/green/texture_07.png.import create mode 100644 addons/kenney_prototype_textures/green/texture_08.png create mode 100644 addons/kenney_prototype_textures/green/texture_08.png.import create mode 100644 addons/kenney_prototype_textures/green/texture_09.png create mode 100644 addons/kenney_prototype_textures/green/texture_09.png.import create mode 100644 addons/kenney_prototype_textures/green/texture_10.png create mode 100644 addons/kenney_prototype_textures/green/texture_10.png.import create mode 100644 addons/kenney_prototype_textures/green/texture_11.png create mode 100644 addons/kenney_prototype_textures/green/texture_11.png.import create mode 100644 addons/kenney_prototype_textures/green/texture_12.png create mode 100644 addons/kenney_prototype_textures/green/texture_12.png.import create mode 100644 addons/kenney_prototype_textures/green/texture_13.png create mode 100644 addons/kenney_prototype_textures/green/texture_13.png.import create mode 100644 addons/kenney_prototype_textures/light/texture_01.png create mode 100644 addons/kenney_prototype_textures/light/texture_01.png.import create mode 100644 addons/kenney_prototype_textures/light/texture_02.png create mode 100644 addons/kenney_prototype_textures/light/texture_02.png.import create mode 100644 addons/kenney_prototype_textures/light/texture_03.png create mode 100644 addons/kenney_prototype_textures/light/texture_03.png.import create mode 100644 addons/kenney_prototype_textures/light/texture_04.png create mode 100644 addons/kenney_prototype_textures/light/texture_04.png.import create mode 100644 addons/kenney_prototype_textures/light/texture_05.png create mode 100644 addons/kenney_prototype_textures/light/texture_05.png.import create mode 100644 addons/kenney_prototype_textures/light/texture_06.png create mode 100644 addons/kenney_prototype_textures/light/texture_06.png.import create mode 100644 addons/kenney_prototype_textures/light/texture_07.png create mode 100644 addons/kenney_prototype_textures/light/texture_07.png.import create mode 100644 addons/kenney_prototype_textures/light/texture_08.png create mode 100644 addons/kenney_prototype_textures/light/texture_08.png.import create mode 100644 addons/kenney_prototype_textures/light/texture_09.png create mode 100644 addons/kenney_prototype_textures/light/texture_09.png.import create mode 100644 addons/kenney_prototype_textures/light/texture_10.png create mode 100644 addons/kenney_prototype_textures/light/texture_10.png.import create mode 100644 addons/kenney_prototype_textures/light/texture_11.png create mode 100644 addons/kenney_prototype_textures/light/texture_11.png.import create mode 100644 addons/kenney_prototype_textures/light/texture_12.png create mode 100644 addons/kenney_prototype_textures/light/texture_12.png.import create mode 100644 addons/kenney_prototype_textures/light/texture_13.png create mode 100644 addons/kenney_prototype_textures/light/texture_13.png.import create mode 100644 addons/kenney_prototype_textures/orange/texture_01.png create mode 100644 addons/kenney_prototype_textures/orange/texture_01.png.import create mode 100644 addons/kenney_prototype_textures/orange/texture_02.png create mode 100644 addons/kenney_prototype_textures/orange/texture_02.png.import create mode 100644 addons/kenney_prototype_textures/orange/texture_03.png create mode 100644 addons/kenney_prototype_textures/orange/texture_03.png.import create mode 100644 addons/kenney_prototype_textures/orange/texture_04.png create mode 100644 addons/kenney_prototype_textures/orange/texture_04.png.import create mode 100644 addons/kenney_prototype_textures/orange/texture_05.png create mode 100644 addons/kenney_prototype_textures/orange/texture_05.png.import create mode 100644 addons/kenney_prototype_textures/orange/texture_06.png create mode 100644 addons/kenney_prototype_textures/orange/texture_06.png.import create mode 100644 addons/kenney_prototype_textures/orange/texture_07.png create mode 100644 addons/kenney_prototype_textures/orange/texture_07.png.import create mode 100644 addons/kenney_prototype_textures/orange/texture_08.png create mode 100644 addons/kenney_prototype_textures/orange/texture_08.png.import create mode 100644 addons/kenney_prototype_textures/orange/texture_09.png create mode 100644 addons/kenney_prototype_textures/orange/texture_09.png.import create mode 100644 addons/kenney_prototype_textures/orange/texture_10.png create mode 100644 addons/kenney_prototype_textures/orange/texture_10.png.import create mode 100644 addons/kenney_prototype_textures/orange/texture_11.png create mode 100644 addons/kenney_prototype_textures/orange/texture_11.png.import create mode 100644 addons/kenney_prototype_textures/orange/texture_12.png create mode 100644 addons/kenney_prototype_textures/orange/texture_12.png.import create mode 100644 addons/kenney_prototype_textures/orange/texture_13.png create mode 100644 addons/kenney_prototype_textures/orange/texture_13.png.import create mode 100644 addons/kenney_prototype_textures/purple/texture_01.png create mode 100644 addons/kenney_prototype_textures/purple/texture_01.png.import create mode 100644 addons/kenney_prototype_textures/purple/texture_02.png create mode 100644 addons/kenney_prototype_textures/purple/texture_02.png.import create mode 100644 addons/kenney_prototype_textures/purple/texture_03.png create mode 100644 addons/kenney_prototype_textures/purple/texture_03.png.import create mode 100644 addons/kenney_prototype_textures/purple/texture_04.png create mode 100644 addons/kenney_prototype_textures/purple/texture_04.png.import create mode 100644 addons/kenney_prototype_textures/purple/texture_05.png create mode 100644 addons/kenney_prototype_textures/purple/texture_05.png.import create mode 100644 addons/kenney_prototype_textures/purple/texture_06.png create mode 100644 addons/kenney_prototype_textures/purple/texture_06.png.import create mode 100644 addons/kenney_prototype_textures/purple/texture_07.png create mode 100644 addons/kenney_prototype_textures/purple/texture_07.png.import create mode 100644 addons/kenney_prototype_textures/purple/texture_08.png create mode 100644 addons/kenney_prototype_textures/purple/texture_08.png.import create mode 100644 addons/kenney_prototype_textures/purple/texture_09.png create mode 100644 addons/kenney_prototype_textures/purple/texture_09.png.import create mode 100644 addons/kenney_prototype_textures/purple/texture_10.png create mode 100644 addons/kenney_prototype_textures/purple/texture_10.png.import create mode 100644 addons/kenney_prototype_textures/purple/texture_11.png create mode 100644 addons/kenney_prototype_textures/purple/texture_11.png.import create mode 100644 addons/kenney_prototype_textures/purple/texture_12.png create mode 100644 addons/kenney_prototype_textures/purple/texture_12.png.import create mode 100644 addons/kenney_prototype_textures/purple/texture_13.png create mode 100644 addons/kenney_prototype_textures/purple/texture_13.png.import create mode 100644 addons/kenney_prototype_textures/red/texture_01.png create mode 100644 addons/kenney_prototype_textures/red/texture_01.png.import create mode 100644 addons/kenney_prototype_textures/red/texture_02.png create mode 100644 addons/kenney_prototype_textures/red/texture_02.png.import create mode 100644 addons/kenney_prototype_textures/red/texture_03.png create mode 100644 addons/kenney_prototype_textures/red/texture_03.png.import create mode 100644 addons/kenney_prototype_textures/red/texture_04.png create mode 100644 addons/kenney_prototype_textures/red/texture_04.png.import create mode 100644 addons/kenney_prototype_textures/red/texture_05.png create mode 100644 addons/kenney_prototype_textures/red/texture_05.png.import create mode 100644 addons/kenney_prototype_textures/red/texture_06.png create mode 100644 addons/kenney_prototype_textures/red/texture_06.png.import create mode 100644 addons/kenney_prototype_textures/red/texture_07.png create mode 100644 addons/kenney_prototype_textures/red/texture_07.png.import create mode 100644 addons/kenney_prototype_textures/red/texture_08.png create mode 100644 addons/kenney_prototype_textures/red/texture_08.png.import create mode 100644 addons/kenney_prototype_textures/red/texture_09.png create mode 100644 addons/kenney_prototype_textures/red/texture_09.png.import create mode 100644 addons/kenney_prototype_textures/red/texture_10.png create mode 100644 addons/kenney_prototype_textures/red/texture_10.png.import create mode 100644 addons/kenney_prototype_textures/red/texture_11.png create mode 100644 addons/kenney_prototype_textures/red/texture_11.png.import create mode 100644 addons/kenney_prototype_textures/red/texture_12.png create mode 100644 addons/kenney_prototype_textures/red/texture_12.png.import create mode 100644 addons/kenney_prototype_textures/red/texture_13.png create mode 100644 addons/kenney_prototype_textures/red/texture_13.png.import create mode 100644 addons/quest_system/active_pool.gd create mode 100644 addons/quest_system/available_pool.gd create mode 100644 addons/quest_system/base_quest_pool.gd create mode 100644 addons/quest_system/completed_pool.gd create mode 100644 addons/quest_system/plugin.cfg create mode 100644 addons/quest_system/plugin.gd create mode 100644 addons/quest_system/quest_manager.gd create mode 100644 addons/quest_system/quest_resource.gd create mode 100644 addons/scenes/demo_scene.tscn create mode 100644 addons/script-ide/LICENSE create mode 100644 addons/script-ide/Popup.gd create mode 100644 addons/script-ide/README.md create mode 100644 addons/script-ide/icon/class.svg create mode 100644 addons/script-ide/icon/class.svg.import create mode 100644 addons/script-ide/icon/constant.svg create mode 100644 addons/script-ide/icon/constant.svg.import create mode 100644 addons/script-ide/icon/export.svg create mode 100644 addons/script-ide/icon/export.svg.import create mode 100644 addons/script-ide/icon/func.svg create mode 100644 addons/script-ide/icon/func.svg.import create mode 100644 addons/script-ide/icon/func_get.svg create mode 100644 addons/script-ide/icon/func_get.svg.import create mode 100644 addons/script-ide/icon/func_set.svg create mode 100644 addons/script-ide/icon/func_set.svg.import create mode 100644 addons/script-ide/icon/keyword.svg create mode 100644 addons/script-ide/icon/keyword.svg.import create mode 100644 addons/script-ide/icon/property.svg create mode 100644 addons/script-ide/icon/property.svg.import create mode 100644 addons/script-ide/icon/signal.svg create mode 100644 addons/script-ide/icon/signal.svg.import create mode 100644 addons/script-ide/plugin.cfg create mode 100644 addons/script-ide/plugin.gd create mode 100644 addons/tracer/StackHandler.cs create mode 100644 addons/tracer/plugin.cfg create mode 100644 addons/tracer/subscriber.gd create mode 100644 addons/tracer/tracer.gd create mode 100644 addons/tracer/tracer_plugin.gd create mode 100644 examples/colors_demo.gd create mode 100644 examples/colors_demo.gdshader create mode 100644 examples/test/logs.txt create mode 100644 examples/test/test.gd create mode 100644 examples/test/test.tscn create mode 100644 game_settings/components/_misc_components/apply_btn/apply_btn.gd create mode 100644 game_settings/components/_misc_components/apply_btn/apply_btn.tscn create mode 100644 game_settings/components/_misc_components/input_confirm_window/input_confirm_window.gd create mode 100644 game_settings/components/_misc_components/input_confirm_window/input_confirm_window.tscn create mode 100644 game_settings/components/_misc_components/reset_btn/reset_btn.gd create mode 100644 game_settings/components/_misc_components/reset_btn/reset_btn.tscn create mode 100644 game_settings/components/_shared_scripts/binary_selection.gd create mode 100644 game_settings/components/arrow_list/arrow_list.gd create mode 100644 game_settings/components/arrow_list/arrow_list.tscn create mode 100644 game_settings/components/checkbox/checkbox.tscn create mode 100644 game_settings/components/input_btn/input_btn.gd create mode 100644 game_settings/components/input_btn/input_btn.tscn create mode 100644 game_settings/components/option_list/option_list.gd create mode 100644 game_settings/components/option_list/option_list.tscn create mode 100644 game_settings/components/radio_list/radio_list.gd create mode 100644 game_settings/components/radio_list/radio_list.tscn create mode 100644 game_settings/components/slider/slider.gd create mode 100644 game_settings/components/slider/slider.tscn create mode 100644 game_settings/components/spinbox/spinbox.gd create mode 100644 game_settings/components/spinbox/spinbox.tscn create mode 100644 game_settings/components/switch/switch.tscn create mode 100644 game_settings/components/text_field/text_field.gd create mode 100644 game_settings/components/text_field/text_field.tscn create mode 100644 game_settings/components/toggle_btn/toggle_btn.tscn create mode 100644 game_settings/settings/nonempty.txt create mode 100644 game_settings/templates/audio/audio_mute.gd create mode 100644 game_settings/templates/audio/audio_volume.gd create mode 100644 game_settings/templates/display/display_fullscreen.gd create mode 100644 game_settings/templates/display/display_scale.gd create mode 100644 game_settings/templates/display/display_size.gd create mode 100644 game_settings/templates/input.gd create mode 100644 icon.svg create mode 100644 icon.svg.import create mode 100644 plain_tiles.tres create mode 100644 player.gd create mode 100644 project.godot create mode 100644 shaders/Farola.glb create mode 100644 shaders/Farola.glb.import create mode 100644 shaders/perlin_noise.gdshader create mode 100644 shaders/screen_shaders.gdshader create mode 100644 shaders/test.tres create mode 100644 shaders/vhs-crt.gdshader create mode 100644 test.tscn create mode 100644 tiles.tscn diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..8ad74f7 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Normalize EOL for all files that Git considers text files. +* text=auto eol=lf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4709183 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# Godot 4+ specific ignores +.godot/ diff --git a/Camera3D.gd b/Camera3D.gd new file mode 100644 index 0000000..e5347aa --- /dev/null +++ b/Camera3D.gd @@ -0,0 +1,52 @@ +extends Camera3D + +@export var movEnabled := true +@export var mouseSensitivity := 0.5 +@export var flyspeed := 100.0 +@export var debug := false +@export var player: Node3D + +var yaw : float = 0.0 +var pitch : float = 0.0 + +# Called when the node enters the scene tree for the first time. +func _ready(): + yaw = 0.0 + pitch = 0.0 + + Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) + +func _input(event): + # release the mouse on esc + if event.is_action_pressed("ui_cancel"): + Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE) + + # capture mouse again on click + if event.is_action_pressed("left_click"): + if Input.get_mouse_mode() == Input.MOUSE_MODE_VISIBLE: + Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) + get_viewport().set_input_as_handled() + + # if mouse is not captured dont move the camera + if not Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED: + return + + # get mouse movement and move the camera + if event is InputEventMouseMotion and movEnabled: + var mouseVec: Vector2 = event.get_relative() + + yaw = fmod(yaw - mouseVec.x * mouseSensitivity, 360) + pitch = max(min(pitch - mouseVec.y * mouseSensitivity, 90), -90) + player.rotation = Vector3(deg_to_rad(pitch), deg_to_rad(yaw), 0) + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + if(Input.is_action_pressed("ui_up")): + translate(position - global_basis * Vector3(0, 0, 1) * delta * flyspeed * .01) + if(Input.is_action_pressed("ui_down")): + translate(position - global_basis * Vector3(0, 0, 1) * delta * flyspeed * -.01) + if(Input.is_action_pressed("ui_left")): + translate(position - global_basis * Vector3(1, 0, 0) * delta * flyspeed * .01) + if(Input.is_action_pressed("ui_right")): + translate(position - global_basis * Vector3(1, 0, 0) * delta * flyspeed * -.01) + diff --git a/CharacterBody3D.gd b/CharacterBody3D.gd new file mode 100644 index 0000000..91c388e --- /dev/null +++ b/CharacterBody3D.gd @@ -0,0 +1,31 @@ +extends CharacterBody3D + + +const SPEED = 5.0 +const JUMP_VELOCITY = 4.5 + +# Get the gravity from the project settings to be synced with RigidBody nodes. +var gravity = ProjectSettings.get_setting("physics/3d/default_gravity") + + +func _physics_process(delta): + # Add the gravity. + if not is_on_floor(): + velocity.y -= gravity * delta + + # Handle jump. + if Input.is_action_just_pressed("ui_accept") and is_on_floor(): + velocity.y = JUMP_VELOCITY + + # Get the input direction and handle the movement/deceleration. + # As good practice, you should replace UI actions with custom gameplay actions. + var input_dir = Input.get_vector("ui_left", "ui_right", "ui_up", "ui_down") + var direction = (transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized() + if direction: + velocity.x = direction.x * SPEED + velocity.z = direction.z * SPEED + else: + velocity.x = move_toward(velocity.x, 0, SPEED) + velocity.z = move_toward(velocity.z, 0, SPEED) + + move_and_slide() diff --git a/Farola.glb b/Farola.glb new file mode 100644 index 0000000000000000000000000000000000000000..48374bf4358074bb142a5a01a646bfa31b28033b GIT binary patch literal 58428 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 K$iVAa@&5sB49wL4 literal 0 HcmV?d00001 diff --git a/Farola.glb.import b/Farola.glb.import new file mode 100644 index 0000000..0599a7c --- /dev/null +++ b/Farola.glb.import @@ -0,0 +1,34 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://bpuiyd81j8177" +path="res://.godot/imported/Farola.glb-d3dc51144649e91c33d609662b0328e3.scn" + +[deps] + +source_file="res://Farola.glb" +dest_files=["res://.godot/imported/Farola.glb-d3dc51144649e91c33d609662b0328e3.scn"] + +[params] + +nodes/root_type="Node3D" +nodes/root_name="" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/naming_version=1 +gltf/embedded_image_handling=0 diff --git a/addons/ColorPreview/ColorHelper.gd b/addons/ColorPreview/ColorHelper.gd new file mode 100644 index 0000000..95982ae --- /dev/null +++ b/addons/ColorPreview/ColorHelper.gd @@ -0,0 +1,167 @@ +class_name ColorHelper +extends RefCounted + +## This is a duplicate of core/math/color_names.inc named_colors (without _) +## Since those colors are only accessible through the Color constants +const named_colors := { + "ALICEBLUE": null, + "ANTIQUEWHITE": null, + "AQUA": null, + "AQUAMARINE": null, + "AZURE": null, + "BEIGE": null, + "BISQUE": null, + "BLACK": null, + "BLANCHEDALMOND": null, + "BLUE": null, + "BLUEVIOLET": null, + "BROWN": null, + "BURLYWOOD": null, + "CADETBLUE": null, + "CHARTREUSE": null, + "CHOCOLATE": null, + "CORAL": null, + "CORNFLOWERBLUE": null, + "CORNSILK": null, + "CRIMSON": null, + "CYAN": null, + "DARKBLUE": null, + "DARKCYAN": null, + "DARKGOLDENROD": null, + "DARKGRAY": null, + "DARKGREEN": null, + "DARKKHAKI": null, + "DARKMAGENTA": null, + "DARKOLIVEGREEN": null, + "DARKORANGE": null, + "DARKORCHID": null, + "DARKRED": null, + "DARKSALMON": null, + "DARKSEAGREEN": null, + "DARKSLATEBLUE": null, + "DARKSLATEGRAY": null, + "DARKTURQUOISE": null, + "DARKVIOLET": null, + "DEEPPINK": null, + "DEEPSKYBLUE": null, + "DIMGRAY": null, + "DODGERBLUE": null, + "FIREBRICK": null, + "FLORALWHITE": null, + "FORESTGREEN": null, + "FUCHSIA": null, + "GAINSBORO": null, + "GHOSTWHITE": null, + "GOLD": null, + "GOLDENROD": null, + "GRAY": null, + "GREEN": null, + "GREENYELLOW": null, + "HONEYDEW": null, + "HOTPINK": null, + "INDIANRED": null, + "INDIGO": null, + "IVORY": null, + "KHAKI": null, + "LAVENDER": null, + "LAVENDERBLUSH": null, + "LAWNGREEN": null, + "LEMONCHIFFON": null, + "LIGHTBLUE": null, + "LIGHTCORAL": null, + "LIGHTCYAN": null, + "LIGHTGOLDENROD": null, + "LIGHTGRAY": null, + "LIGHTGREEN": null, + "LIGHTPINK": null, + "LIGHTSALMON": null, + "LIGHTSEAGREEN": null, + "LIGHTSKYBLUE": null, + "LIGHTSLATEGRAY": null, + "LIGHTSTEELBLUE": null, + "LIGHTYELLOW": null, + "LIME": null, + "LIMEGREEN": null, + "LINEN": null, + "MAGENTA": null, + "MAROON": null, + "MEDIUMAQUAMARINE": null, + "MEDIUMBLUE": null, + "MEDIUMORCHID": null, + "MEDIUMPURPLE": null, + "MEDIUMSEAGREEN": null, + "MEDIUMSLATEBLUE": null, + "MEDIUMSPRINGGREEN": null, + "MEDIUMTURQUOISE": null, + "MEDIUMVIOLETRED": null, + "MIDNIGHTBLUE": null, + "MINTCREAM": null, + "MISTYROSE": null, + "MOCCASIN": null, + "NAVAJOWHITE": null, + "NAVYBLUE": null, + "OLDLACE": null, + "OLIVE": null, + "OLIVEDRAB": null, + "ORANGE": null, + "ORANGERED": null, + "ORCHID": null, + "PALEGOLDENROD": null, + "PALEGREEN": null, + "PALETURQUOISE": null, + "PALEVIOLETRED": null, + "PAPAYAWHIP": null, + "PEACHPUFF": null, + "PERU": null, + "PINK": null, + "PLUM": null, + "POWDERBLUE": null, + "PURPLE": null, + "REBECCAPURPLE": null, + "RED": null, + "ROSYBROWN": null, + "ROYALBLUE": null, + "SADDLEBROWN": null, + "SALMON": null, + "SANDYBROWN": null, + "SEAGREEN": null, + "SEASHELL": null, + "SIENNA": null, + "SILVER": null, + "SKYBLUE": null, + "SLATEBLUE": null, + "SLATEGRAY": null, + "SNOW": null, + "SPRINGGREEN": null, + "STEELBLUE": null, + "TAN": null, + "TEAL": null, + "THISTLE": null, + "TOMATO": null, + "TRANSPARENT": null, + "TURQUOISE": null, + "VIOLET": null, + "WEBGRAY": null, + "WEBGREEN": null, + "WEBMAROON": null, + "WEBPURPLE": null, + "WHEAT": null, + "WHITE": null, + "WHITESMOKE": null, + "YELLOW": null, + "YELLOWGREEN": null, +} + + +## Checks if a color is a named color. +## Based on Godot /core/math/color.cpp Color::find_named_color +static func is_named_color(name: String) -> bool: + # Normalize name + name = name.replace(" ", "") + name = name.replace("-", "") + name = name.replace("_", "") + name = name.replace("'", "") + name = name.replace(".", "") + name = name.to_upper() + + return name in named_colors diff --git a/addons/ColorPreview/ColorPreview.gd b/addons/ColorPreview/ColorPreview.gd new file mode 100644 index 0000000..54e88fa --- /dev/null +++ b/addons/ColorPreview/ColorPreview.gd @@ -0,0 +1,353 @@ +@tool +extends EditorPlugin + +var editor: Node = null +var editors: Array = [] +var current_textedit: TextEdit +var hovering_line = null +var gutter_position: int = 0 +var preview_gutter_name: String = "color_preview" +var picker_popup: Popup +var regex: RegEx +const regex_patterns: Array[String] = [ + "Color\\((?(?R)*.*?)\\)", + "Color\\.(?[A-Z_]+)\\b", + "source_color.*?vec4\\((?(?R)*.*?)\\)", +] + + +func _enter_tree() -> void: + initialize_gutter() + initialize_picker() + # the shader editor does not exist until opened for the first time + # so, to get it consistently, check if it's there whenever the focus changes + get_viewport().gui_focus_changed.connect(get_shader_editor_code_edit) + + regex = RegEx.new() + regex.compile("|".join(regex_patterns)) + + +func _exit_tree() -> void: + exit_picker() + exit_gutter() + + +func initialize_picker() -> void: + var editor_base := get_editor_interface().get_base_control() + if not picker_popup: + picker_popup = preload("res://addons/ColorPreview/Picker.tscn").instantiate() + picker_popup.get_node("%ColorPreviewPicker").theme = editor_base.theme + picker_popup.connect("popup_hide", on_picker_popup_close) + picker_popup.hide() + + var picker := (picker_popup.get_node("%ColorPreviewPicker") as ColorPicker) + if not picker.is_connected("color_changed", picker_color_changed): + picker.connect("color_changed", picker_color_changed) + + if not picker_popup.is_inside_tree() or not editor_base.has_node(picker_popup.get_path()): + editor_base.add_child(picker_popup) + + +func exit_picker() -> void: + if picker_popup: + picker_popup.queue_free() + + +func initialize_gutter() -> void: + var script_editor := get_editor_interface().get_script_editor() + if not script_editor.is_connected("editor_script_changed", editor_script_changed): + script_editor.connect("editor_script_changed", editor_script_changed) + get_all_text_editors(script_editor) + for child in editors: + if child and is_instance_valid(child) and child is TextEdit: + add_color_gutter(child) + + +func exit_gutter() -> void: + var script_editor := get_editor_interface().get_script_editor() + get_all_text_editors(script_editor) + for child in editors: + if child is TextEdit: + remove_color_gutter(child) + + +### ### ### GETTING AND KEEPING EDITORS ### ### ### + +func get_all_text_editors(parent : Node) -> void: + for child in parent.get_children(): + if child.get_child_count(): + get_all_text_editors(child) + + if child is CodeEdit: + add_code_edit_to_editors_array(child) + + +func get_shader_editor_code_edit(node: Node): + if not node is CodeEdit or not node.get_parent().get_class() == "ShaderTextEditor": + return + + if not editors.has(node): + add_code_edit_to_editors_array(node) + initialize_gutter() + initialize_picker() + + +func add_code_edit_to_editors_array(node: CodeEdit) -> void: + editors.append(node) + + if node.is_connected("text_changed", handle_change): + node.disconnect("text_changed", handle_change) + node.text_changed.connect(handle_change.bind(node)) + + if node.is_connected("caret_changed", handle_change): + node.disconnect("caret_changed", handle_change) + node.caret_changed.connect(handle_change.bind(node)) + + +func handle_change(textedit : TextEdit) -> void: + current_textedit = textedit + if not current_textedit.is_connected("gui_input", textedit_clicked): + current_textedit.gui_input.connect(textedit_clicked.bind(textedit)) + + var editor := get_editor_interface() + if not editors.has(textedit): + editors.clear() + get_all_text_editors(editor.get_script_editor()) + get_colors_from_textedit(textedit) + + +func editor_script_changed(script: Script) -> void: + initialize_gutter() + initialize_picker() + if current_textedit: + if current_textedit.is_connected("gui_input", textedit_clicked): + current_textedit.disconnect("gui_input", textedit_clicked) + current_textedit = null + var editor := get_editor_interface() + var script_editor = editor.get_script_editor() + editors.clear() + get_all_text_editors(script_editor) + + +### ### ### HANDLING GUTTERS ### ### ### + +func has_color_preview_gutter(textedit: TextEdit) -> bool: + for gutter_index in textedit.get_gutter_count() - 1: + if gutter_index < 0: + continue + if textedit.get_gutter_name(gutter_index) == preview_gutter_name: + return true + return false + + +func add_color_gutter(textedit: TextEdit) -> void: + if has_color_preview_gutter(textedit): + return + current_textedit = textedit + textedit.add_gutter(gutter_position) + textedit.set_gutter_width(gutter_position, 35) + textedit.set_gutter_name(gutter_position, preview_gutter_name) + textedit.set_gutter_type(gutter_position, TextEdit.GUTTER_TYPE_CUSTOM) + textedit.set_gutter_custom_draw(gutter_position, gutter_draw_color_preview) + + +func remove_color_gutter(textedit: TextEdit) -> void: + for gutter_index in textedit.get_gutter_count() - 1: + if gutter_index < 0: + continue + var name = textedit.get_gutter_name(gutter_index) + if name == preview_gutter_name: + textedit.remove_gutter(gutter_position) + + +func gutter_draw_color_preview(line: int, gutter: int, area: Rect2) -> void: + if not current_textedit or line > current_textedit.get_line_count() - 1: + return + + var size: int + var offset := Vector2.ZERO + # centering the preview square in the line because perfectionism + if area.size.x < area.size.y: + size = area.size.x + offset = Vector2(0, (area.size.y - area.size.x) /2) + else: + size = area.size.y + offset = Vector2((area.size.x - area.size.y) /2, 0) + var icon_region := Rect2(area.position + offset, Vector2(size, size)) + + # spacing the squares so they don't merge + var padding = size / 6 + icon_region = icon_region.grow(-padding) + + var icon_corner_region := PackedVector2Array([ + icon_region.end, + icon_region.end + Vector2(-icon_region.size.x / 2, 0.0), + icon_region.end + Vector2(0.0, -icon_region.size.y / 2) + ]) + + var mouse_pos := current_textedit.get_local_mouse_pos() + var hovering := area.has_point(mouse_pos) + var line_color = get_line_color(current_textedit, line) + + # black is falsey, comparing to null allows us to preview it + if line_color is Color: + line_color = line_color as Color + + if line_color.a < 1: # transparent -> add checkered bg + no-alpha corner + current_textedit.draw_rect(icon_region, Color.WHITE) + current_textedit.draw_rect( Rect2( + Vector2(icon_region.position.x + icon_region.size.x/2, icon_region.position.y), + icon_region.size/2 + ), Color.DIM_GRAY) + current_textedit.draw_rect( Rect2( + Vector2(icon_region.position.x, icon_region.position.y + icon_region.size.y/2), + icon_region.size/2 + ), Color.DIM_GRAY) + + current_textedit.draw_colored_polygon(icon_corner_region, Color(line_color, 1.0)) + + current_textedit.draw_rect(icon_region, line_color) + current_textedit.set_line_gutter_clickable(line, gutter_position, true) + + if hovering: + hovering_line = line + else: + if hovering: + hovering_line = null + + # not captured by the hovering check above + # if left or right of gutter, forget the line + if mouse_pos.x > area.end.x or mouse_pos.x < area.position.x: + # in case the picker is open, remember the line even when moving away + if not picker_popup or not picker_popup.visible: + hovering_line = null + + +func get_colors_from_textedit(textedit: TextEdit) -> void: + var all_lines := textedit.text.split("\n") + var has_color := false + + for line_index in len(all_lines): + var color = color_from_string(all_lines[line_index]) + if color != null: + has_color = true + set_line_color(textedit, line_index, color) + textedit.set_gutter_draw(gutter_position, true) + else: + set_line_color(textedit, line_index) + + if not has_color: + textedit.set_gutter_draw(gutter_position, false) + + +func set_line_color(textedit: TextEdit, line: int, color = null) -> void: + textedit.set_line_gutter_metadata(line, gutter_position, color) + + +func get_line_color(textedit: TextEdit, line: int): + var meta = textedit.get_line_gutter_metadata(line, gutter_position) + return meta if meta is Color else null + + +### ### ### COLOR PICKER ### ### ### + +func textedit_clicked(event: InputEvent, textedit: TextEdit) -> void: + if hovering_line != null: + if event is InputEventMouseButton: + if event.button_index == MOUSE_BUTTON_LEFT and event.pressed: + var color: Color = get_line_color(textedit, hovering_line) + if color != null: + picker_popup.get_node("%ColorPreviewPicker").color = color + picker_popup.position = event.global_position + Vector2(20, 0) + picker_popup.popup() + + +func picker_color_changed(new_color: Color) -> void: + if hovering_line and current_textedit: + set_line_color(current_textedit, hovering_line, new_color) + + +func on_picker_popup_close() -> void: + if not hovering_line: + return + var text := current_textedit.get_line(hovering_line) + var color_match := regex.search(text) + var new_color = get_line_color(current_textedit, hovering_line) + + if color_from_regex_match(color_match) == new_color: + return # don't change if equal -> doesn't mess up constants, strings etc. + + if color_match.get_string("color_const"): # replace the whole color string + text = text.replace(color_match.get_string(), "Color" + str(new_color)) + + else: # only replace inside parenthesis to cover Color(...) and vec4(...) + var color_string := str(new_color).replace("(", "").replace(")", "") + var params := color_match.get_string("color_params") + if params == "": + params = color_match.get_string("vec4_params") + text = text.replace(params, color_string) + + current_textedit.set_line(hovering_line, text) + + +### ### ### COLOR INTERPRETATION ### ### ### + +func color_from_string(string: String): # Color or null + var color_match := regex.search(string) + if !color_match: + return null + return color_from_regex_match(color_match) + + +func color_from_regex_match(regex_match: RegExMatch): # Color or null + var color_const := regex_match.get_string("color_const") + if ColorHelper.is_named_color(color_const): + return Color(color_const) + + var params := regex_match.get_string("color_params") + if params == "": + params = regex_match.get_string("vec4_params") + + if not "," in params: + var color = color_from_string(params) + if color != null: + return color + color = named_or_hex_color(params) + if color != null: + return color + + var parameters := params.split(",") + var parameter_count := parameters.size() + if parameter_count == 2: + var color = color_from_string(parameters[0]) + if color != null: + return Color(color, parameters[1].to_float()) + color = named_or_hex_color(parameters[0]) + if color != null: + return Color(color , parameters[1].to_float()) + elif parameter_count == 3: + return Color( + parameters[0].to_float(), + parameters[1].to_float(), + parameters[2].to_float(), + ) + elif parameter_count == 4: + return Color( + parameters[0].to_float(), + parameters[1].to_float(), + parameters[2].to_float(), + parameters[3].to_float(), + ) + return null + + +func named_or_hex_color(string: String): # Color or null + string = string.trim_prefix("\"").trim_prefix("\'").trim_suffix("\"").trim_suffix("\'") + if string.is_valid_html_color() or ColorHelper.is_named_color(string): + return Color(string) + return null + + + + + diff --git a/addons/ColorPreview/LICENSE b/addons/ColorPreview/LICENSE new file mode 100644 index 0000000..163258e --- /dev/null +++ b/addons/ColorPreview/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 Steen RH/Qubus0 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE diff --git a/addons/ColorPreview/Picker.tscn b/addons/ColorPreview/Picker.tscn new file mode 100644 index 0000000..7881771 --- /dev/null +++ b/addons/ColorPreview/Picker.tscn @@ -0,0 +1,15 @@ +[gd_scene format=3 uid="uid://dlhe1fiimv8if"] + +[node name="Popup" type="PopupPanel"] +size = Vector2i(465, 775) + +[node name="ColorPreviewPicker" type="ColorPicker" parent="."] +unique_name_in_owner = true +offset_left = 14.0 +offset_top = 14.0 +offset_right = 435.0 +offset_bottom = 761.0 +grow_horizontal = 2 +grow_vertical = 2 +color = Color(0.129412, 0.145098, 0.176471, 1) +deferred_mode = true diff --git a/addons/ColorPreview/plugin.cfg b/addons/ColorPreview/plugin.cfg new file mode 100644 index 0000000..175431d --- /dev/null +++ b/addons/ColorPreview/plugin.cfg @@ -0,0 +1,7 @@ +[plugin] + +name="ColorPreview" +description="An Editor Plugin which lets you preview and adjust colors from code directly next to them" +author="Ste and Contributors" +version="2.1.0" +script="ColorPreview.gd" diff --git a/addons/anthonyec.camera_preview/GuiResizerTopLeft.svg b/addons/anthonyec.camera_preview/GuiResizerTopLeft.svg new file mode 100644 index 0000000..fe4dbf5 --- /dev/null +++ b/addons/anthonyec.camera_preview/GuiResizerTopLeft.svg @@ -0,0 +1 @@ + diff --git a/addons/anthonyec.camera_preview/GuiResizerTopLeft.svg.import b/addons/anthonyec.camera_preview/GuiResizerTopLeft.svg.import new file mode 100644 index 0000000..9584d3b --- /dev/null +++ b/addons/anthonyec.camera_preview/GuiResizerTopLeft.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://btc01wc11tiid" +path="res://.godot/imported/GuiResizerTopLeft.svg-eb563f557424c74239e878a1213a5bf4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/anthonyec.camera_preview/GuiResizerTopLeft.svg" +dest_files=["res://.godot/imported/GuiResizerTopLeft.svg-eb563f557424c74239e878a1213a5bf4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=2.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/addons/anthonyec.camera_preview/GuiResizerTopRight.svg b/addons/anthonyec.camera_preview/GuiResizerTopRight.svg new file mode 100644 index 0000000..dd00953 --- /dev/null +++ b/addons/anthonyec.camera_preview/GuiResizerTopRight.svg @@ -0,0 +1 @@ + diff --git a/addons/anthonyec.camera_preview/GuiResizerTopRight.svg.import b/addons/anthonyec.camera_preview/GuiResizerTopRight.svg.import new file mode 100644 index 0000000..4a1fa5d --- /dev/null +++ b/addons/anthonyec.camera_preview/GuiResizerTopRight.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://04l05jxuyt7k" +path="res://.godot/imported/GuiResizerTopRight.svg-cc1dc8556d51357c5eb0b01d09d8f049.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/anthonyec.camera_preview/GuiResizerTopRight.svg" +dest_files=["res://.godot/imported/GuiResizerTopRight.svg-cc1dc8556d51357c5eb0b01d09d8f049.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=2.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/addons/anthonyec.camera_preview/Pin.svg b/addons/anthonyec.camera_preview/Pin.svg new file mode 100644 index 0000000..8e5935c --- /dev/null +++ b/addons/anthonyec.camera_preview/Pin.svg @@ -0,0 +1 @@ + diff --git a/addons/anthonyec.camera_preview/Pin.svg.import b/addons/anthonyec.camera_preview/Pin.svg.import new file mode 100644 index 0000000..27d274f --- /dev/null +++ b/addons/anthonyec.camera_preview/Pin.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://do6d60od41vmg" +path="res://.godot/imported/Pin.svg-83b09f5c00a829c5d8b136bf5bae65bc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/anthonyec.camera_preview/Pin.svg" +dest_files=["res://.godot/imported/Pin.svg-83b09f5c00a829c5d8b136bf5bae65bc.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=2.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/addons/anthonyec.camera_preview/drag_handle.gd b/addons/anthonyec.camera_preview/drag_handle.gd new file mode 100644 index 0000000..445cc50 --- /dev/null +++ b/addons/anthonyec.camera_preview/drag_handle.gd @@ -0,0 +1,6 @@ +extends Button + +func _get_drag_data(at_position: Vector2) -> Variant: + var duplicate = get_parent().duplicate() + set_drag_preview(duplicate) + return {} diff --git a/addons/anthonyec.camera_preview/plugin.cfg b/addons/anthonyec.camera_preview/plugin.cfg new file mode 100644 index 0000000..42adb86 --- /dev/null +++ b/addons/anthonyec.camera_preview/plugin.cfg @@ -0,0 +1,7 @@ +[plugin] + +name="Little Camera Preview" +description="Shows a picture-in-picture preview of the selected 2D or 3D camera" +author="Anthony Cossins" +version="0.9" +script="plugin.gd" diff --git a/addons/anthonyec.camera_preview/plugin.gd b/addons/anthonyec.camera_preview/plugin.gd new file mode 100644 index 0000000..4e74dd8 --- /dev/null +++ b/addons/anthonyec.camera_preview/plugin.gd @@ -0,0 +1,87 @@ +@tool +extends EditorPlugin + +const preview_scene = preload("res://addons/anthonyec.camera_preview/preview.tscn") + +var preview: CameraPreview +var current_main_screen_name: String + +func _enter_tree() -> void: + main_screen_changed.connect(_on_main_screen_changed) + EditorInterface.get_selection().selection_changed.connect(_on_editor_selection_changed) + + # Initialise preview panel and add to main screen. + preview = preview_scene.instantiate() as CameraPreview + preview.request_hide() + + var main_screen = EditorInterface.get_editor_main_screen() + main_screen.add_child(preview) + +func _exit_tree() -> void: + if preview: + preview.queue_free() + +func _ready() -> void: + # TODO: Currently there is no API to get the main screen name without + # listening to the `EditorPlugin.main_screen_changed` signal: + # https://github.com/godotengine/godot-proposals/issues/2081 + EditorInterface.set_main_screen_editor("Script") + EditorInterface.set_main_screen_editor("3D") + +func _on_main_screen_changed(screen_name: String) -> void: + current_main_screen_name = screen_name + + # TODO: Bit of a hack to prevent pinned staying between view changes on the same scene. + preview.unlink_camera() + _on_editor_selection_changed() + +func _on_editor_selection_changed() -> void: + if not is_main_screen_viewport(): + # This hides the preview "container" and not the preview itself, allowing + # any locked previews to remain visible once switching back to 3D tab. + preview.visible = false + return + + preview.visible = true + + var selected_nodes = EditorInterface.get_selection().get_selected_nodes() + + var selected_camera_3d: Camera3D = find_camera_3d_or_null(selected_nodes) + var selected_camera_2d: Camera2D = find_camera_2d_or_null(selected_nodes) + + if selected_camera_3d and current_main_screen_name == "3D": + preview.link_with_camera_3d(selected_camera_3d) + preview.request_show() + + elif selected_camera_2d and current_main_screen_name == "2D": + preview.link_with_camera_2d(selected_camera_2d) + preview.request_show() + + else: + preview.request_hide() + +func is_main_screen_viewport() -> bool: + return current_main_screen_name == "3D" or current_main_screen_name == "2D" + +func find_camera_3d_or_null(nodes: Array[Node]) -> Camera3D: + var camera: Camera3D + + for node in nodes: + if node is Camera3D: + camera = node as Camera3D + break + + return camera + +func find_camera_2d_or_null(nodes: Array[Node]) -> Camera2D: + var camera: Camera2D + + for node in nodes: + if node is Camera2D: + camera = node as Camera2D + break + + return camera + +func _on_selected_camera_3d_tree_exiting() -> void: + preview.unlink_camera() diff --git a/addons/anthonyec.camera_preview/preview.gd b/addons/anthonyec.camera_preview/preview.gd new file mode 100644 index 0000000..2d1446a --- /dev/null +++ b/addons/anthonyec.camera_preview/preview.gd @@ -0,0 +1,311 @@ +@tool + +class_name CameraPreview +extends Control + +enum CameraType { + CAMERA_2D, + CAMERA_3D +} + +enum PinnedPosition { + LEFT, + RIGHT, +} + +enum InteractionState { + NONE, + RESIZE, + DRAG, + + # Animation is split into 2 seperate states so that the tween is only + # invoked once in the "start" state. + START_ANIMATE_INTO_PLACE, + ANIMATE_INTO_PLACE, +} + +const margin_3d: Vector2 = Vector2(20, 20) +const margin_2d: Vector2 = Vector2(40, 30) +const min_panel_width: float = 250 +const max_panel_width_ratio: float = 0.6 + +@onready var panel: Panel = %Panel +@onready var placeholder: Panel = %Placeholder +@onready var preview_camera_3d: Camera3D = %Camera3D +@onready var preview_camera_2d: Camera2D = %Camera2D +@onready var sub_viewport: SubViewport = %SubViewport +@onready var sub_viewport_text_rect: TextureRect = %TextureRect +@onready var resize_left_handle: Button = %ResizeLeftHandle +@onready var resize_right_handle: Button = %ResizeRightHandle +@onready var lock_button: Button = %LockButton +@onready var gradient: TextureRect = %Gradient + +var camera_type: CameraType = CameraType.CAMERA_3D +var pinned_position: PinnedPosition = PinnedPosition.RIGHT +var viewport_ratio: float = 1 +var screen_scale: float = 1 +var is_locked: bool +var show_controls: bool +var selected_camera_3d: Camera3D +var selected_camera_2d: Camera2D +var remote_transform_3d: RemoteTransform3D +var remote_transform_2d: RemoteTransform2D + +var state: InteractionState = InteractionState.NONE +var initial_mouse_position: Vector2 +var initial_panel_size: Vector2 +var initial_panel_position: Vector2 + +func _ready() -> void: + screen_scale = DisplayServer.screen_get_scale() + + # Setting texture to viewport in code instead of directly in the editor + # because otherwise an error "Path to node is invalid: Panel/SubViewport" + # on first load. This is harmless but doesn't look great. + # + # This is a known issue: + # https://github.com/godotengine/godot/issues/27790#issuecomment-499740220 + sub_viewport_text_rect.texture = sub_viewport.get_texture() + +func _process(_delta: float) -> void: + if not visible: return + + var window_width = float(ProjectSettings.get_setting("display/window/size/viewport_width")) + var window_height = float(ProjectSettings.get_setting("display/window/size/viewport_height")) + viewport_ratio = window_height / window_width + + match state: + InteractionState.NONE: + # Constrain panel size to aspect ratio. + panel.size.y = panel.size.x * viewport_ratio + + # Clamp size. + panel.size = panel.size.clamp( + Vector2(min_panel_width * screen_scale, min_panel_width * screen_scale * viewport_ratio), + Vector2(size.x * max_panel_width_ratio, size.x * max_panel_width_ratio * viewport_ratio) + ) + + panel.position = get_pinned_position(pinned_position) + + InteractionState.RESIZE: + var delta_mouse_position = initial_mouse_position - get_global_mouse_position() + + if pinned_position == PinnedPosition.LEFT: + panel.size = initial_panel_size - delta_mouse_position + + if pinned_position == PinnedPosition.RIGHT: + panel.size = initial_panel_size + delta_mouse_position + + # Constrain panel size to aspect ratio. + panel.size.y = panel.size.x * viewport_ratio + + # Clamp size. + panel.size = panel.size.clamp( + Vector2(min_panel_width * screen_scale, min_panel_width * screen_scale * viewport_ratio), + Vector2(size.x * max_panel_width_ratio, size.x * max_panel_width_ratio * viewport_ratio) + ) + + panel.position = get_pinned_position(pinned_position) + + InteractionState.DRAG: + placeholder.size = panel.size + + var global_mouse_position = get_global_mouse_position() + var offset = initial_mouse_position - initial_panel_position + + panel.global_position = global_mouse_position - offset + + if global_mouse_position.x < global_position.x + size.x / 2: + pinned_position = PinnedPosition.LEFT + else: + pinned_position = PinnedPosition.RIGHT + + placeholder.position = get_pinned_position(pinned_position) + + InteractionState.START_ANIMATE_INTO_PLACE: + var final_position: Vector2 = get_pinned_position(pinned_position) + var tween = get_tree().create_tween() + + tween.set_ease(Tween.EASE_OUT) + tween.set_trans(Tween.TRANS_CUBIC) + tween.tween_property(panel, "position", final_position, 0.3) + + tween.finished.connect(func(): + panel.position = final_position + state = InteractionState.NONE + ) + + state = InteractionState.ANIMATE_INTO_PLACE + + # I couldn't get `mouse_entered` and `mouse_exited` events to work + # nicely, so I use rect method instead. Plus using this method it's easy to + # grow the hit area size. + var panel_hover_rect = Rect2(panel.global_position, panel.size) + panel_hover_rect = panel_hover_rect.grow(40) + + var mouse_position = get_global_mouse_position() + + show_controls = state != InteractionState.NONE or panel_hover_rect.has_point(mouse_position) + + # UI visibility. + resize_left_handle.visible = show_controls and pinned_position == PinnedPosition.RIGHT + resize_right_handle.visible = show_controls and pinned_position == PinnedPosition.LEFT + lock_button.visible = show_controls or is_locked + placeholder.visible = state == InteractionState.DRAG or state == InteractionState.ANIMATE_INTO_PLACE + gradient.visible = show_controls + + # Sync camera settings. + if camera_type == CameraType.CAMERA_3D and selected_camera_3d: + # TODO: Don't think this is needed and can just assign `panel.size` directly. + var viewport_size = Vector2(panel.size.x, panel.size.x * viewport_ratio) + sub_viewport.size = viewport_size + + preview_camera_3d.fov = selected_camera_3d.fov + preview_camera_3d.projection = selected_camera_3d.projection + preview_camera_3d.size = selected_camera_3d.size + preview_camera_3d.cull_mask = selected_camera_3d.cull_mask + preview_camera_3d.keep_aspect = selected_camera_3d.keep_aspect + preview_camera_3d.near = selected_camera_3d.near + preview_camera_3d.far = selected_camera_3d.far + preview_camera_3d.h_offset = selected_camera_3d.h_offset + preview_camera_3d.v_offset = selected_camera_3d.v_offset + preview_camera_3d.attributes = selected_camera_3d.attributes + preview_camera_3d.environment = selected_camera_3d.environment + + if camera_type == CameraType.CAMERA_2D and selected_camera_2d: + var ratio = window_width / panel.size.x + + # TODO: Is there a better way to fix this? + # The camera border is visible sometimes due to pixel rounding. + # Subtract 1px from right and bottom to hide this. + var hide_camera_border_fix = Vector2(1, 1) + + sub_viewport.size = panel.size + sub_viewport.size_2d_override = (panel.size - hide_camera_border_fix) * ratio + sub_viewport.size_2d_override_stretch = true + + preview_camera_2d.offset = selected_camera_2d.offset + preview_camera_2d.zoom = selected_camera_2d.zoom + preview_camera_2d.ignore_rotation = selected_camera_2d.ignore_rotation + preview_camera_2d.anchor_mode = selected_camera_2d.anchor_mode + preview_camera_2d.limit_left = selected_camera_2d.limit_left + preview_camera_2d.limit_right = selected_camera_2d.limit_right + preview_camera_2d.limit_top = selected_camera_2d.limit_top + preview_camera_2d.limit_bottom = selected_camera_2d.limit_bottom + +func link_with_camera_3d(camera_3d: Camera3D) -> void: + # TODO: Camera may not be ready since this method is called in `_enter_tree` + # in the plugin because of a workaround for: + # https://github.com/godotengine/godot-proposals/issues/2081 + if not preview_camera_3d: + return request_hide() + + var is_different_camera = camera_3d != preview_camera_3d + + # TODO: A bit messy. + if is_different_camera: + if preview_camera_3d.tree_exiting.is_connected(unlink_camera): + preview_camera_3d.tree_exiting.disconnect(unlink_camera) + + if not camera_3d.tree_exiting.is_connected(unlink_camera): + camera_3d.tree_exiting.connect(unlink_camera) + + sub_viewport.disable_3d = false + sub_viewport.world_3d = camera_3d.get_world_3d() + + remote_transform_3d = RemoteTransform3D.new() + + remote_transform_3d.remote_path = preview_camera_3d.get_path() + remote_transform_3d.use_global_coordinates = true + + camera_3d.add_child(remote_transform_3d) + selected_camera_3d = camera_3d + + camera_type = CameraType.CAMERA_3D + +func link_with_camera_2d(camera_2d: Camera2D) -> void: + if not preview_camera_2d: + return request_hide() + + var is_different_camera = camera_2d != preview_camera_2d + + # TODO: A bit messy. + if is_different_camera: + if preview_camera_2d.tree_exiting.is_connected(unlink_camera): + preview_camera_2d.tree_exiting.disconnect(unlink_camera) + + if not camera_2d.tree_exiting.is_connected(unlink_camera): + camera_2d.tree_exiting.connect(unlink_camera) + + sub_viewport.disable_3d = true + sub_viewport.world_2d = camera_2d.get_world_2d() + + remote_transform_2d = RemoteTransform2D.new() + + remote_transform_2d.remote_path = preview_camera_2d.get_path() + remote_transform_2d.use_global_coordinates = true + + camera_2d.add_child(remote_transform_2d) + selected_camera_2d = camera_2d + + camera_type = CameraType.CAMERA_2D + +func unlink_camera() -> void: + if selected_camera_3d: + selected_camera_3d.remove_child(remote_transform_3d) + selected_camera_3d = null + + if selected_camera_2d: + selected_camera_2d.remove_child(remote_transform_2d) + selected_camera_2d = null + + is_locked = false + lock_button.button_pressed = false + +func request_hide() -> void: + if is_locked: return + visible = false + +func request_show() -> void: + visible = true + +func get_pinned_position(pinned_position: PinnedPosition) -> Vector2: + var margin: Vector2 = margin_3d + + if camera_type == CameraType.CAMERA_2D: + margin = margin_2d + + match pinned_position: + PinnedPosition.LEFT: + return Vector2.ZERO - Vector2(0, panel.size.y) - Vector2(-margin.x, margin.y) + PinnedPosition.RIGHT: + return size - panel.size - margin + _: + assert(false, "Unknown pinned position %s" % str(pinned_position)) + + return Vector2.ZERO + +func _on_resize_handle_button_down() -> void: + if state != InteractionState.NONE: return + + state = InteractionState.RESIZE + initial_mouse_position = get_global_mouse_position() + initial_panel_size = panel.size + +func _on_resize_handle_button_up() -> void: + state = InteractionState.NONE + +func _on_drag_handle_button_down() -> void: + if state != InteractionState.NONE: return + + state = InteractionState.DRAG + initial_mouse_position = get_global_mouse_position() + initial_panel_position = panel.global_position + +func _on_drag_handle_button_up() -> void: + if state != InteractionState.DRAG: return + + state = InteractionState.START_ANIMATE_INTO_PLACE + +func _on_lock_button_pressed() -> void: + is_locked = !is_locked diff --git a/addons/anthonyec.camera_preview/preview.tscn b/addons/anthonyec.camera_preview/preview.tscn new file mode 100644 index 0000000..1979b33 --- /dev/null +++ b/addons/anthonyec.camera_preview/preview.tscn @@ -0,0 +1,173 @@ +[gd_scene load_steps=7 format=3 uid="uid://xybmfvufjuv"] + +[ext_resource type="Script" path="res://addons/anthonyec.camera_preview/preview.gd" id="1_6b32r"] +[ext_resource type="Texture2D" uid="uid://do6d60od41vmg" path="res://addons/anthonyec.camera_preview/Pin.svg" id="2_p0pa8"] +[ext_resource type="Texture2D" uid="uid://btc01wc11tiid" path="res://addons/anthonyec.camera_preview/GuiResizerTopLeft.svg" id="2_t64ej"] +[ext_resource type="Texture2D" uid="uid://04l05jxuyt7k" path="res://addons/anthonyec.camera_preview/GuiResizerTopRight.svg" id="3_6yuab"] + +[sub_resource type="Gradient" id="Gradient_11p6r"] +offsets = PackedFloat32Array(0, 0.3, 0.6, 1) +colors = PackedColorArray(0, 0, 0, 0.235294, 0, 0, 0, 0.0784314, 0, 0, 0, 0.0784314, 0, 0, 0, 0.235294) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_4dkve"] +gradient = SubResource("Gradient_11p6r") +width = 256 +height = 256 +fill_to = Vector2(2.08165e-12, 1) + +[node name="Preview" type="Control"] +z_index = 999 +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_6b32r") + +[node name="Placeholder" type="Panel" parent="."] +unique_name_in_owner = true +visible = false +modulate = Color(1, 1, 1, 0.705882) +layout_mode = 1 +anchors_preset = 3 +anchor_left = 1.0 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -40.0 +offset_top = -40.0 +offset_right = 410.0 +offset_bottom = 410.0 +grow_horizontal = 0 +grow_vertical = 0 + +[node name="Panel" type="Panel" parent="."] +unique_name_in_owner = true +clip_contents = true +layout_mode = 1 +anchors_preset = 3 +anchor_left = 1.0 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -520.0 +offset_top = -301.25 +offset_right = -20.0 +offset_bottom = -20.0 +grow_horizontal = 0 +grow_vertical = 0 +pivot_offset = Vector2(450, 300) + +[node name="SubViewport" type="SubViewport" parent="Panel"] +unique_name_in_owner = true +handle_input_locally = false +gui_disable_input = true +size_2d_override_stretch = true + +[node name="Camera3D" type="Camera3D" parent="Panel/SubViewport"] +unique_name_in_owner = true +current = true + +[node name="Camera2D" type="Camera2D" parent="Panel/SubViewport"] +unique_name_in_owner = true +ignore_rotation = false + +[node name="ViewportMarginContainer" type="MarginContainer" parent="Panel"] +clip_contents = true +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 +theme_override_constants/margin_left = 4 +theme_override_constants/margin_top = 4 +theme_override_constants/margin_right = 4 +theme_override_constants/margin_bottom = 4 + +[node name="TextureRect" type="TextureRect" parent="Panel/ViewportMarginContainer"] +unique_name_in_owner = true +layout_mode = 2 +expand_mode = 2 + +[node name="DragHandle" type="Button" parent="Panel"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +focus_mode = 0 +flat = true + +[node name="Gradient" type="TextureRect" parent="Panel"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 +texture = SubResource("GradientTexture2D_4dkve") + +[node name="OverlayMarginContainer" type="MarginContainer" parent="Panel"] +clip_contents = true +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 +theme_override_constants/margin_left = 4 +theme_override_constants/margin_top = 4 +theme_override_constants/margin_right = 4 +theme_override_constants/margin_bottom = 4 + +[node name="ResizeLeftHandle" type="Button" parent="Panel/OverlayMarginContainer"] +unique_name_in_owner = true +visible = false +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 0 +mouse_default_cursor_shape = 12 +icon = ExtResource("2_t64ej") +flat = true +icon_alignment = 1 + +[node name="ResizeRightHandle" type="Button" parent="Panel/OverlayMarginContainer"] +unique_name_in_owner = true +visible = false +layout_mode = 2 +size_flags_horizontal = 8 +size_flags_vertical = 0 +mouse_default_cursor_shape = 11 +icon = ExtResource("3_6yuab") +flat = true +icon_alignment = 1 + +[node name="LockButton" type="Button" parent="Panel/OverlayMarginContainer"] +unique_name_in_owner = true +visible = false +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 8 +tooltip_text = "Always Show Preview" +toggle_mode = true +icon = ExtResource("2_p0pa8") +flat = true +icon_alignment = 1 + +[connection signal="button_down" from="Panel/DragHandle" to="." method="_on_drag_handle_button_down"] +[connection signal="button_up" from="Panel/DragHandle" to="." method="_on_drag_handle_button_up"] +[connection signal="renamed" from="Panel/DragHandle" to="." method="_on_drag_handle_renamed"] +[connection signal="button_down" from="Panel/OverlayMarginContainer/ResizeLeftHandle" to="." method="_on_resize_handle_button_down"] +[connection signal="button_up" from="Panel/OverlayMarginContainer/ResizeLeftHandle" to="." method="_on_resize_handle_button_up"] +[connection signal="button_down" from="Panel/OverlayMarginContainer/ResizeRightHandle" to="." method="_on_resize_handle_button_down"] +[connection signal="button_up" from="Panel/OverlayMarginContainer/ResizeRightHandle" to="." method="_on_resize_handle_button_up"] +[connection signal="pressed" from="Panel/OverlayMarginContainer/LockButton" to="." method="_on_lock_button_pressed"] diff --git a/addons/data/scripts/player/player_controller.gd b/addons/data/scripts/player/player_controller.gd new file mode 100644 index 0000000..4562d0a --- /dev/null +++ b/addons/data/scripts/player/player_controller.gd @@ -0,0 +1,37 @@ +extends CharacterBody3D + +var gravity = ProjectSettings.get_setting("physics/3d/default_gravity") +var speed = 5 +var jump_speed = 5 +var mouse_sensitivity = 0.002 + +# Called when the node enters the scene tree for the first time. +func _ready(): + Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) + OS.open_midi_inputs() + print(OS.get_connected_midi_inputs()) + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + pass + +func _physics_process(delta): + velocity.y += -gravity * delta + var input = Input.get_vector("left", "right", "forward", "back") + var movement_dir = transform.basis * Vector3(input.x, 0, input.y) + velocity.x = movement_dir.x * speed + velocity.z = movement_dir.z * speed + + move_and_slide() + if is_on_floor() and Input.is_action_just_pressed("jump"): + velocity.y = jump_speed + +func _input(event): + + if event is InputEventMouseMotion and Input.mouse_mode == Input.MOUSE_MODE_CAPTURED: + rotate_y(-event.relative.x * mouse_sensitivity) + $Camera3D.rotate_x(-event.relative.y * mouse_sensitivity) + $Camera3D.rotation.x = clampf($Camera3D.rotation.x, -deg_to_rad(70), deg_to_rad(70)) + + + diff --git a/addons/data/scripts/rotate_cube.gd b/addons/data/scripts/rotate_cube.gd new file mode 100644 index 0000000..688a02b --- /dev/null +++ b/addons/data/scripts/rotate_cube.gd @@ -0,0 +1,11 @@ +extends Node3D +var speed = 1 + +# Called when the node enters the scene tree for the first time. +func _ready(): + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + rotate_y(speed * delta) diff --git a/addons/data/scripts/sprite_rotation/sprite_rotation.gd b/addons/data/scripts/sprite_rotation/sprite_rotation.gd new file mode 100644 index 0000000..4105fbd --- /dev/null +++ b/addons/data/scripts/sprite_rotation/sprite_rotation.gd @@ -0,0 +1,68 @@ +extends AnimatedSprite3D + +var cam +var cam_pos +var look_point_pos +var look_point_dir +var cam_dir +var angle_to_cam +var angle_to_lookpoint +var enemy_angle + +func _ready(): + #Get the player's camera + cam = get_viewport().get_camera_3d(); + + +func _process(delta): + #Gets the position of the object the sprite is "looking" at + look_point_pos = get_parent().get_node("RotationRange/Lookpoint").global_position + look_point_dir = position - look_point_pos + + #Billboards the sprite so it always looks at the player + cam_pos = cam.global_transform.origin + look_at(cam_pos, Vector3(0, 1, 0)) + rotation.x = 0 + + + # Calculate the angle of the sprite, taking into consideration both the object the sprite is looking at + # and the position of the camera, and convert the radians to degrees for more human friendly readability + cam_dir = position - cam_pos + angle_to_cam = rad_to_deg(atan2(cam_dir.x, cam_dir.z)) + angle_to_lookpoint = rad_to_deg(atan2(look_point_dir.x, look_point_dir.z)) + enemy_angle = angle_to_cam - angle_to_lookpoint + + #Fix negative degrees + if enemy_angle < 0: + enemy_angle += 360 + + #Here I split up the angle in nice equal chunks so we get 8 even segments for an + # 8-directional sprite, like most classic FPS games! + # Feel free to multiply/divide the statements if + # you want something like only 4-directions or even 16 or more, the limit is your + # imagination/hardware! + + if enemy_angle >= 292.5 && enemy_angle < 337.5: + play("front_left") + + elif enemy_angle >= 22.5 && enemy_angle < 67.5: + play("front_right") + + elif enemy_angle >= 67.5 && enemy_angle < 112.5: + play("right") + + elif enemy_angle >= 112.5 && enemy_angle < 157.5: + play("back_right") + + elif enemy_angle >= 157.5 && enemy_angle < 202.5: + play("back") + + elif enemy_angle >= 202.5 && enemy_angle < 247.5: + play("back_left") + + elif enemy_angle >= 247.5 && enemy_angle < 292.5: + play("left") + + elif enemy_angle >= 337.5 || enemy_angle > 22.5: + play("front") + diff --git a/addons/data/sprites/test/test_back.png b/addons/data/sprites/test/test_back.png new file mode 100644 index 0000000000000000000000000000000000000000..3d27f6e48dfaa59876d343b35d0cd2fb447b0c38 GIT binary patch literal 1000034 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%0AU=9OWB3XIGy~9gpP%~f)5 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%0DRjpozDuRKZWN}E3ZctQ0n73nU*T^Z># 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�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 z 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�r%Bs#Ym_~2QC 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