From ac030207718f9149854cff4948ca0ac66072ac9c Mon Sep 17 00:00:00 2001 From: outfrost Date: Fri, 13 Nov 2020 05:10:24 +0100 Subject: [PATCH] Initial commit --- .github/workflows/build-release.yml | 37 ++ .github/workflows/build.yml | 55 +++ .gitignore | 22 ++ default_env.tres | 7 + export_presets.cfg | 142 +++++++ game/DebugLabel.gd | 25 ++ game/Game.gd | 28 ++ game/Game.tscn | 35 ++ game/GroupMessenger.gd | 29 ++ game/loading/TransitionScreen.gd | 48 +++ game/loading/TransitionScreen.tscn | 43 +++ game/menu/CreditsPopup.gd | 18 + game/menu/MainMenu.gd | 22 ++ game/menu/MainMenu.tscn | 161 ++++++++ game/ui-theme/button_style_base.tres | 8 + game/ui-theme/button_style_disabled.tres | 8 + game/ui-theme/button_style_focused.tres | 13 + game/ui-theme/button_style_hover.tres | 8 + game/ui-theme/button_style_pressed.tres | 8 + game/ui-theme/font_bold.tres | 6 + game/ui-theme/font_bold_italic.tres | 6 + game/ui-theme/font_default.tres | 6 + game/ui-theme/font_italic.tres | 6 + game/ui-theme/panel_style_base.tres | 4 + game/ui-theme/panel_style_popup.tres | 9 + game/ui-theme/panel_style_transparent.tres | 4 + game/ui-theme/ui_theme.tres | 430 +++++++++++++++++++++ icon.png | Bin 0 -> 3305 bytes icon.png.import | 34 ++ project.godot | 73 ++++ script_templates/Debug.gd | 13 + 31 files changed, 1308 insertions(+) create mode 100644 .github/workflows/build-release.yml create mode 100644 .github/workflows/build.yml create mode 100644 .gitignore create mode 100644 default_env.tres create mode 100644 export_presets.cfg create mode 100644 game/DebugLabel.gd create mode 100644 game/Game.gd create mode 100644 game/Game.tscn create mode 100644 game/GroupMessenger.gd create mode 100644 game/loading/TransitionScreen.gd create mode 100644 game/loading/TransitionScreen.tscn create mode 100644 game/menu/CreditsPopup.gd create mode 100644 game/menu/MainMenu.gd create mode 100644 game/menu/MainMenu.tscn create mode 100644 game/ui-theme/button_style_base.tres create mode 100644 game/ui-theme/button_style_disabled.tres create mode 100644 game/ui-theme/button_style_focused.tres create mode 100644 game/ui-theme/button_style_hover.tres create mode 100644 game/ui-theme/button_style_pressed.tres create mode 100644 game/ui-theme/font_bold.tres create mode 100644 game/ui-theme/font_bold_italic.tres create mode 100644 game/ui-theme/font_default.tres create mode 100644 game/ui-theme/font_italic.tres create mode 100644 game/ui-theme/panel_style_base.tres create mode 100644 game/ui-theme/panel_style_popup.tres create mode 100644 game/ui-theme/panel_style_transparent.tres create mode 100644 game/ui-theme/ui_theme.tres create mode 100644 icon.png create mode 100644 icon.png.import create mode 100644 project.godot create mode 100644 script_templates/Debug.gd diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml new file mode 100644 index 0000000..6b4c414 --- /dev/null +++ b/.github/workflows/build-release.yml @@ -0,0 +1,37 @@ +name: Build and release + +on: + push: + tags: + - 'v[0-9]+.*' + +jobs: + export_release_project: + # Always use ubuntu-latest for this action + runs-on: ubuntu-latest + name: Export and release project + steps: + + - name: Checkout + uses: actions/checkout@v2.3.4 + # Ensure that we get the entire project history + with: + fetch-depth: 0 + + # Job creates release under the same version as the tag + - name: Get version from tag + id: tag_version + run: | + echo ::set-output name=TAG_VERSION::${GITHUB_REF#refs/tags/v} + + - name: Export and release + uses: firebelley/godot-export@v2.6.0 + with: + godot_executable_download_url: https://downloads.tuxfamily.org/godotengine/3.2.3/Godot_v3.2.3-stable_linux_headless.64.zip + godot_export_templates_download_url: https://downloads.tuxfamily.org/godotengine/3.2.3/Godot_v3.2.3-stable_export_templates.tpz + relative_project_path: ./ + create_release: true + generate_release_notes: true + base_version: ${{ steps.tag_version.outputs.TAG_VERSION }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..9040207 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,55 @@ +name: Build + +on: + pull_request: + branches: + - main + +jobs: + export_project: + # Always use ubuntu-latest for this action + runs-on: ubuntu-latest + name: Export project + steps: + + - name: Checkout + uses: actions/checkout@v2.3.4 + + - name: Export + uses: firebelley/godot-export@v2.6.0 + with: + godot_executable_download_url: https://downloads.tuxfamily.org/godotengine/3.2.3/Godot_v3.2.3-stable_linux_headless.64.zip + godot_export_templates_download_url: https://downloads.tuxfamily.org/godotengine/3.2.3/Godot_v3.2.3-stable_export_templates.tpz + relative_project_path: ./ + create_release: false + use_preset_export_path: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Upload Linux X11 amd64 build + uses: actions/upload-artifact@v2 + with: + name: Linux-X11-amd64 + path: build/linux_amd64/Linux-X11-amd64/ + if-no-files-found: error + + - name: Upload macOS build + uses: actions/upload-artifact@v2 + with: + name: macOS + path: build/macos/macOS/ + if-no-files-found: error + + - name: Upload Windows amd64 build + uses: actions/upload-artifact@v2 + with: + name: Windows-amd64 + path: build/windows_amd64/Windows-amd64/ + if-no-files-found: error + + - name: Upload Windows i686 build + uses: actions/upload-artifact@v2 + with: + name: Windows-i686 + path: build/windows_i686/Windows-i686/ + if-no-files-found: error diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..547e7e4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,22 @@ +# Build +/build/ + +# Debug script +/[Dd]ebug.gd + +# Godot Engine generated files +.import/ +export.cfg + +# Mono +.mono/ +/Properties/ +*.csproj +*.sln +mono_crash.* + +# GNU nano +*.swp + +# VSCode +.vscode/ diff --git a/default_env.tres b/default_env.tres new file mode 100644 index 0000000..20207a4 --- /dev/null +++ b/default_env.tres @@ -0,0 +1,7 @@ +[gd_resource type="Environment" load_steps=2 format=2] + +[sub_resource type="ProceduralSky" id=1] + +[resource] +background_mode = 2 +background_sky = SubResource( 1 ) diff --git a/export_presets.cfg b/export_presets.cfg new file mode 100644 index 0000000..b87e229 --- /dev/null +++ b/export_presets.cfg @@ -0,0 +1,142 @@ +[preset.0] + +name="Linux-X11-amd64" +platform="Linux/X11" +runnable=true +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="build/*" +export_path="build/linux_amd64/game.x86_64" +patch_list=PoolStringArray( ) +script_export_mode=1 +script_encryption_key="" + +[preset.0.options] + +texture_format/bptc=false +texture_format/s3tc=true +texture_format/etc=false +texture_format/etc2=false +texture_format/no_bptc_fallbacks=true +binary_format/64_bits=true +binary_format/embed_pck=false +custom_template/release="" +custom_template/debug="" + +[preset.1] + +name="Windows-amd64" +platform="Windows Desktop" +runnable=true +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="build/*" +export_path="build/windows_amd64/game.exe" +patch_list=PoolStringArray( ) +script_export_mode=1 +script_encryption_key="" + +[preset.1.options] + +texture_format/bptc=false +texture_format/s3tc=true +texture_format/etc=false +texture_format/etc2=false +texture_format/no_bptc_fallbacks=true +binary_format/64_bits=true +binary_format/embed_pck=false +custom_template/release="" +custom_template/debug="" +codesign/enable=false +codesign/identity="" +codesign/password="" +codesign/timestamp=true +codesign/timestamp_server_url="" +codesign/digest_algorithm=1 +codesign/description="" +codesign/custom_options=PoolStringArray( ) +application/icon="" +application/file_version="" +application/product_version="" +application/company_name="" +application/product_name="" +application/file_description="" +application/copyright="" +application/trademarks="" + +[preset.2] + +name="Windows-i686" +platform="Windows Desktop" +runnable=false +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="build/*" +export_path="build/windows_i686/game.exe" +patch_list=PoolStringArray( ) +script_export_mode=1 +script_encryption_key="" + +[preset.2.options] + +texture_format/bptc=false +texture_format/s3tc=true +texture_format/etc=false +texture_format/etc2=false +texture_format/no_bptc_fallbacks=true +binary_format/64_bits=false +binary_format/embed_pck=false +custom_template/release="" +custom_template/debug="" +codesign/enable=false +codesign/identity="" +codesign/password="" +codesign/timestamp=true +codesign/timestamp_server_url="" +codesign/digest_algorithm=1 +codesign/description="" +codesign/custom_options=PoolStringArray( ) +application/icon="" +application/file_version="" +application/product_version="" +application/company_name="" +application/product_name="" +application/file_description="" +application/copyright="" +application/trademarks="" + +[preset.3] + +name="macOS" +platform="Mac OSX" +runnable=true +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="build/macos/game.zip" +patch_list=PoolStringArray( ) +script_export_mode=1 +script_encryption_key="" + +[preset.3.options] + +custom_template/debug="" +custom_template/release="" +application/name="" +application/info="Made with Godot Engine" +application/icon="" +application/identifier="" +application/signature="" +application/short_version="1.0" +application/version="1.0" +application/copyright="" +display/high_res=false +privacy/camera_usage_description="" +privacy/microphone_usage_description="" +texture_format/s3tc=true +texture_format/etc=false +texture_format/etc2=false diff --git a/game/DebugLabel.gd b/game/DebugLabel.gd new file mode 100644 index 0000000..cbea41f --- /dev/null +++ b/game/DebugLabel.gd @@ -0,0 +1,25 @@ +# Copyright 2020 Outfrost +# This work is free software. It comes without any warranty, to the extent +# permitted by applicable law. You can redistribute it and/or modify it under +# the terms of the Do What The Fuck You Want To Public License, Version 2, +# as published by Sam Hocevar. See the LICENSE.WTFPL file for more details. + +class_name DebugLabel +extends Label + +var buffer: String = "" + +func _ready(): + text = "" + +func _process(_delta): + text = buffer + buffer = "" + +func display_impl(s: String): + buffer += s + "\n" + +static func display(ref, s): + var label = ref.get_tree().root.find_node("DebugLabel", true, false) as DebugLabel + if label: + label.display_impl(s) diff --git a/game/Game.gd b/game/Game.gd new file mode 100644 index 0000000..2114d2b --- /dev/null +++ b/game/Game.gd @@ -0,0 +1,28 @@ +class_name Game +extends Node + +onready var main_menu: Control = $UI/MainMenu +onready var transition_screen: TransitionScreen = $UI/TransitionScreen + +var debug: Reference + +func _ready() -> void: + if OS.has_feature("debug"): + var debug_script = load("res://debug.gd") + if debug_script: + debug = debug_script.new(self) + debug.startup() + + main_menu.connect("start_game", self, "on_start_game") + +func _process(delta: float) -> void: + DebugLabel.display(self, "fps %d" % Performance.get_monitor(Performance.TIME_FPS)) + + if Input.is_action_just_pressed("menu"): + back_to_menu() + +func on_start_game() -> void: + main_menu.hide() + +func back_to_menu() -> void: + main_menu.show() diff --git a/game/Game.tscn b/game/Game.tscn new file mode 100644 index 0000000..1ee1a49 --- /dev/null +++ b/game/Game.tscn @@ -0,0 +1,35 @@ +[gd_scene load_steps=6 format=2] + +[ext_resource path="res://game/ui-theme/ui_theme.tres" type="Theme" id=1] +[ext_resource path="res://game/DebugLabel.gd" type="Script" id=2] +[ext_resource path="res://game/menu/MainMenu.tscn" type="PackedScene" id=3] +[ext_resource path="res://game/loading/TransitionScreen.tscn" type="PackedScene" id=4] +[ext_resource path="res://game/Game.gd" type="Script" id=5] + +[node name="Game" type="Node"] +script = ExtResource( 5 ) + +[node name="MusicPlayer" type="AudioStreamPlayer" parent="."] + +[node name="UI" type="Control" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +mouse_filter = 1 +theme = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="MainMenu" parent="UI" instance=ExtResource( 3 )] + +[node name="TransitionScreen" parent="UI" instance=ExtResource( 4 )] +visible = false + +[node name="DebugLabel" type="Label" parent="."] +margin_right = 75.0 +margin_bottom = 14.0 +text = "DebugLabel" +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/game/GroupMessenger.gd b/game/GroupMessenger.gd new file mode 100644 index 0000000..d81be5b --- /dev/null +++ b/game/GroupMessenger.gd @@ -0,0 +1,29 @@ +# Copyright 2020 Outfrost +# This work is free software. It comes without any warranty, to the extent +# permitted by applicable law. You can redistribute it and/or modify it under +# the terms of the Do What The Fuck You Want To Public License, Version 2, +# as published by Sam Hocevar. See the LICENSE.WTFPL file for more details. + +class_name GroupMessenger + +var message: String +var groups: Array = [] +var owner: Node + +func _init(owner: Node, message: String, groups: Array = []): + self.owner = owner + self.message = message + self.groups = groups + +func add_group(group: String): + groups.push_back(group) + +func remove_group(group: String): + var i = groups.find(group) + if i != -1: + groups.remove(i) + +func dispatch(args: Array = []): + var tree = owner.get_tree() + for group in groups: + tree.call_group(group, "on_" + message, args) diff --git a/game/loading/TransitionScreen.gd b/game/loading/TransitionScreen.gd new file mode 100644 index 0000000..3fb4bd7 --- /dev/null +++ b/game/loading/TransitionScreen.gd @@ -0,0 +1,48 @@ +class_name TransitionScreen +extends Control + +signal animation_finished() + +enum AnimationState { + IDLE, + FADING_IN, + FADING_OUT, +} + +export var fade_in_duration: float = 0.5 +export var fade_in_node: NodePath = @"." +export var fade_out_duration: float = 0.5 +export var fade_out_node: NodePath = @"." + +onready var fade_in_control: Control = get_node(fade_in_node) +onready var fade_out_control: Control = get_node(fade_out_node) + +var anim_state = AnimationState.IDLE +var anim_time: float = 0.0 + +func _process(delta: float) -> void: + anim_time += delta + match anim_state: + AnimationState.IDLE: + pass + AnimationState.FADING_IN: + fade_in_control.modulate.a = clamp(inverse_lerp(0.0, fade_in_duration, anim_time), 0.0, 1.0) + if anim_time >= fade_in_duration: + anim_state = AnimationState.IDLE + emit_signal("animation_finished") + AnimationState.FADING_OUT: + fade_out_control.modulate.a = clamp(inverse_lerp(fade_out_duration, 0.0, anim_time), 0.0, 1.0) + if anim_time >= fade_out_duration: + hide() + anim_state = AnimationState.IDLE + emit_signal("animation_finished") + +func fade_in() -> void: + fade_in_control.modulate.a = 0.0 + show() + anim_time = 0.0 + anim_state = AnimationState.FADING_IN + +func fade_out() -> void: + anim_time = 0.0 + anim_state = AnimationState.FADING_OUT diff --git a/game/loading/TransitionScreen.tscn b/game/loading/TransitionScreen.tscn new file mode 100644 index 0000000..03720aa --- /dev/null +++ b/game/loading/TransitionScreen.tscn @@ -0,0 +1,43 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://game/ui-theme/ui_theme.tres" type="Theme" id=1] +[ext_resource path="res://game/loading/TransitionScreen.gd" type="Script" id=2] + +[node name="TransitionScreen" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Background" type="ColorRect" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +color = Color( 0, 0, 0, 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Content" type="Control" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Label" type="Label" parent="Content"] +visible = false +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 480.0 +margin_top = 360.0 +margin_right = -480.0 +margin_bottom = -360.0 +theme = ExtResource( 1 ) +text = "Loading ..." +align = 1 +valign = 1 +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/game/menu/CreditsPopup.gd b/game/menu/CreditsPopup.gd new file mode 100644 index 0000000..a771e28 --- /dev/null +++ b/game/menu/CreditsPopup.gd @@ -0,0 +1,18 @@ +extends Popup + +func _ready() -> void: + $Panel/RichTextLabel.connect("meta_clicked", self, "on_meta_clicked") + $Panel/RichTextLabel2.connect("meta_clicked", self, "on_meta_clicked") + +func _process(delta: float) -> void: + if Input.is_action_just_pressed("ui_cancel"): + hide() + +func _gui_input(event): + if event is InputEventMouseButton: + if event.button_index == BUTTON_LEFT and !event.pressed: + hide() + +func on_meta_clicked(meta: String): + if meta.begins_with("http"): + OS.shell_open(meta) diff --git a/game/menu/MainMenu.gd b/game/menu/MainMenu.gd new file mode 100644 index 0000000..3562eea --- /dev/null +++ b/game/menu/MainMenu.gd @@ -0,0 +1,22 @@ +extends Control + +signal start_game() + +onready var play_button: Button = $VBoxContainer/PlayButton +onready var credits_button: Button = $VBoxContainer/CreditsButton +onready var quit_button: Button = $VBoxContainer/QuitButton +onready var credits_popup: Popup = $CreditsPopup + +func _ready() -> void: + play_button.connect("pressed", self, "on_play_pressed") + credits_button.connect("pressed", self, "on_credits_pressed") + quit_button.connect("pressed", self, "on_quit_pressed") + +func on_play_pressed() -> void: + emit_signal("start_game") + +func on_credits_pressed() -> void: + credits_popup.show() + +func on_quit_pressed() -> void: + get_tree().quit() diff --git a/game/menu/MainMenu.tscn b/game/menu/MainMenu.tscn new file mode 100644 index 0000000..83e033d --- /dev/null +++ b/game/menu/MainMenu.tscn @@ -0,0 +1,161 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://game/menu/CreditsPopup.gd" type="Script" id=2] +[ext_resource path="res://game/ui-theme/ui_theme.tres" type="Theme" id=3] +[ext_resource path="res://game/menu/MainMenu.gd" type="Script" id=4] +[ext_resource path="res://game/ui-theme/panel_style_popup.tres" type="StyleBox" id=5] + +[node name="MainMenu" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme = ExtResource( 3 ) +script = ExtResource( 4 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Background" type="TextureRect" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +expand = true +stretch_mode = 7 +__meta__ = { +"_edit_lock_": true, +"_edit_use_anchors_": false +} + +[node name="VersionLabel" type="Label" parent="."] +anchor_top = 1.0 +anchor_bottom = 1.0 +margin_left = 8.0 +margin_top = -64.0 +margin_right = 512.0 +margin_bottom = -8.0 +grow_vertical = 0 +text = "v0.0.1" +valign = 2 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TitleLabel" type="RichTextLabel" parent="."] +anchor_left = 0.05 +anchor_top = 0.1 +anchor_right = 0.95 +anchor_bottom = 0.5 +theme = ExtResource( 3 ) +bbcode_enabled = true +bbcode_text = "[center][/center]" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +anchor_left = 0.4 +anchor_top = 0.5 +anchor_right = 0.6 +anchor_bottom = 0.9 +grow_horizontal = 2 +theme = ExtResource( 3 ) +custom_constants/separation = 10 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PlayButton" type="Button" parent="VBoxContainer"] +margin_right = 256.0 +margin_bottom = 22.0 +text = "Play" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ChooseLevelButton" type="Button" parent="VBoxContainer"] +margin_top = 32.0 +margin_right = 256.0 +margin_bottom = 54.0 +disabled = true +text = "Choose level" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="OptionsButton" type="Button" parent="VBoxContainer"] +margin_top = 64.0 +margin_right = 256.0 +margin_bottom = 86.0 +disabled = true +text = "Options" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="CreditsButton" type="Button" parent="VBoxContainer"] +margin_top = 96.0 +margin_right = 256.0 +margin_bottom = 118.0 +text = "Credits" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="QuitButton" type="Button" parent="VBoxContainer"] +margin_top = 128.0 +margin_right = 256.0 +margin_bottom = 150.0 +text = "Quit" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="CreditsPopup" type="Popup" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Panel" type="Panel" parent="CreditsPopup"] +anchor_left = 0.45 +anchor_top = 0.45 +anchor_right = 0.55 +anchor_bottom = 0.55 +margin_left = -256.0 +margin_top = -192.0 +margin_right = 256.0 +margin_bottom = 192.0 +grow_horizontal = 2 +grow_vertical = 2 +custom_styles/panel = ExtResource( 5 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="RichTextLabel" type="RichTextLabel" parent="CreditsPopup/Panel"] +anchor_right = 0.5 +anchor_bottom = 1.0 +margin_left = 16.0 +margin_top = 16.0 +margin_right = -8.0 +margin_bottom = -16.0 +bbcode_enabled = true +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="RichTextLabel2" type="RichTextLabel" parent="CreditsPopup/Panel"] +anchor_left = 0.5 +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 8.0 +margin_top = 16.0 +margin_right = -16.0 +margin_bottom = -16.0 +bbcode_enabled = true diff --git a/game/ui-theme/button_style_base.tres b/game/ui-theme/button_style_base.tres new file mode 100644 index 0000000..66936e6 --- /dev/null +++ b/game/ui-theme/button_style_base.tres @@ -0,0 +1,8 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 8.0 +content_margin_right = 8.0 +content_margin_top = 4.0 +content_margin_bottom = 4.0 +bg_color = Color( 0.352941, 0.352941, 0.352941, 1 ) diff --git a/game/ui-theme/button_style_disabled.tres b/game/ui-theme/button_style_disabled.tres new file mode 100644 index 0000000..dc39589 --- /dev/null +++ b/game/ui-theme/button_style_disabled.tres @@ -0,0 +1,8 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 8.0 +content_margin_right = 8.0 +content_margin_top = 4.0 +content_margin_bottom = 4.0 +bg_color = Color( 0, 0, 0, 1 ) diff --git a/game/ui-theme/button_style_focused.tres b/game/ui-theme/button_style_focused.tres new file mode 100644 index 0000000..e15c3f1 --- /dev/null +++ b/game/ui-theme/button_style_focused.tres @@ -0,0 +1,13 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 8.0 +content_margin_right = 8.0 +content_margin_top = 4.0 +content_margin_bottom = 4.0 +draw_center = false +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color( 0.423529, 0.423529, 0.423529, 1 ) diff --git a/game/ui-theme/button_style_hover.tres b/game/ui-theme/button_style_hover.tres new file mode 100644 index 0000000..f6577b1 --- /dev/null +++ b/game/ui-theme/button_style_hover.tres @@ -0,0 +1,8 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 8.0 +content_margin_right = 8.0 +content_margin_top = 4.0 +content_margin_bottom = 4.0 +bg_color = Color( 0.423529, 0.423529, 0.423529, 1 ) diff --git a/game/ui-theme/button_style_pressed.tres b/game/ui-theme/button_style_pressed.tres new file mode 100644 index 0000000..3fd6340 --- /dev/null +++ b/game/ui-theme/button_style_pressed.tres @@ -0,0 +1,8 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +content_margin_left = 8.0 +content_margin_right = 8.0 +content_margin_top = 4.0 +content_margin_bottom = 4.0 +bg_color = Color( 0.2, 0.2, 0.2, 1 ) diff --git a/game/ui-theme/font_bold.tres b/game/ui-theme/font_bold.tres new file mode 100644 index 0000000..eb74f9c --- /dev/null +++ b/game/ui-theme/font_bold.tres @@ -0,0 +1,6 @@ +[gd_resource type="DynamicFont" format=2] + +[resource] +size = 24 +use_mipmaps = true +use_filter = true diff --git a/game/ui-theme/font_bold_italic.tres b/game/ui-theme/font_bold_italic.tres new file mode 100644 index 0000000..eb74f9c --- /dev/null +++ b/game/ui-theme/font_bold_italic.tres @@ -0,0 +1,6 @@ +[gd_resource type="DynamicFont" format=2] + +[resource] +size = 24 +use_mipmaps = true +use_filter = true diff --git a/game/ui-theme/font_default.tres b/game/ui-theme/font_default.tres new file mode 100644 index 0000000..eb74f9c --- /dev/null +++ b/game/ui-theme/font_default.tres @@ -0,0 +1,6 @@ +[gd_resource type="DynamicFont" format=2] + +[resource] +size = 24 +use_mipmaps = true +use_filter = true diff --git a/game/ui-theme/font_italic.tres b/game/ui-theme/font_italic.tres new file mode 100644 index 0000000..eb74f9c --- /dev/null +++ b/game/ui-theme/font_italic.tres @@ -0,0 +1,6 @@ +[gd_resource type="DynamicFont" format=2] + +[resource] +size = 24 +use_mipmaps = true +use_filter = true diff --git a/game/ui-theme/panel_style_base.tres b/game/ui-theme/panel_style_base.tres new file mode 100644 index 0000000..721fb05 --- /dev/null +++ b/game/ui-theme/panel_style_base.tres @@ -0,0 +1,4 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +bg_color = Color( 0.2, 0.2, 0.2, 1 ) diff --git a/game/ui-theme/panel_style_popup.tres b/game/ui-theme/panel_style_popup.tres new file mode 100644 index 0000000..a266204 --- /dev/null +++ b/game/ui-theme/panel_style_popup.tres @@ -0,0 +1,9 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +bg_color = Color( 0.2, 0.2, 0.2, 1 ) +corner_radius_top_left = 1 +corner_radius_top_right = 1 +corner_radius_bottom_right = 1 +corner_radius_bottom_left = 1 +shadow_size = 12 diff --git a/game/ui-theme/panel_style_transparent.tres b/game/ui-theme/panel_style_transparent.tres new file mode 100644 index 0000000..08ea0a0 --- /dev/null +++ b/game/ui-theme/panel_style_transparent.tres @@ -0,0 +1,4 @@ +[gd_resource type="StyleBoxFlat" format=2] + +[resource] +bg_color = Color( 0, 0, 0, 0.6 ) diff --git a/game/ui-theme/ui_theme.tres b/game/ui-theme/ui_theme.tres new file mode 100644 index 0000000..1f25508 --- /dev/null +++ b/game/ui-theme/ui_theme.tres @@ -0,0 +1,430 @@ +[gd_resource type="Theme" load_steps=8 format=2] + +[ext_resource path="res://game/ui-theme/button_style_pressed.tres" type="StyleBox" id=2] +[ext_resource path="res://game/ui-theme/button_style_hover.tres" type="StyleBox" id=3] +[ext_resource path="res://game/ui-theme/button_style_focused.tres" type="StyleBox" id=4] +[ext_resource path="res://game/ui-theme/button_style_disabled.tres" type="StyleBox" id=5] +[ext_resource path="res://game/ui-theme/button_style_base.tres" type="StyleBox" id=6] +[ext_resource path="res://game/ui-theme/panel_style_base.tres" type="StyleBox" id=7] +[ext_resource path="res://game/ui-theme/panel_style_popup.tres" type="StyleBox" id=8] + +[resource] +Button/colors/font_color = Color( 1, 1, 1, 1 ) +Button/colors/font_color_disabled = Color( 0.666667, 0.666667, 0.666667, 1 ) +Button/colors/font_color_hover = Color( 1, 1, 1, 1 ) +Button/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +Button/constants/hseparation = 2 +Button/fonts/font = null +Button/styles/disabled = ExtResource( 5 ) +Button/styles/focus = ExtResource( 4 ) +Button/styles/hover = ExtResource( 3 ) +Button/styles/normal = ExtResource( 6 ) +Button/styles/pressed = ExtResource( 2 ) +CheckBox/colors/font_color = Color( 0, 0, 0, 1 ) +CheckBox/colors/font_color_disabled = Color( 0, 0, 0, 1 ) +CheckBox/colors/font_color_hover = Color( 0, 0, 0, 1 ) +CheckBox/colors/font_color_hover_pressed = Color( 0, 0, 0, 1 ) +CheckBox/colors/font_color_pressed = Color( 0, 0, 0, 1 ) +CheckBox/constants/check_vadjust = 0 +CheckBox/constants/hseparation = 4 +CheckBox/fonts/font = null +CheckBox/icons/checked = null +CheckBox/icons/radio_checked = null +CheckBox/icons/radio_unchecked = null +CheckBox/icons/unchecked = null +CheckBox/styles/disabled = null +CheckBox/styles/focus = null +CheckBox/styles/hover = null +CheckBox/styles/hover_pressed = null +CheckBox/styles/normal = null +CheckBox/styles/pressed = null +CheckButton/colors/font_color = Color( 0, 0, 0, 1 ) +CheckButton/colors/font_color_disabled = Color( 0, 0, 0, 1 ) +CheckButton/colors/font_color_hover = Color( 0, 0, 0, 1 ) +CheckButton/colors/font_color_hover_pressed = Color( 0, 0, 0, 1 ) +CheckButton/colors/font_color_pressed = Color( 0, 0, 0, 1 ) +CheckButton/constants/check_vadjust = 0 +CheckButton/constants/hseparation = 4 +CheckButton/fonts/font = null +CheckButton/icons/off = null +CheckButton/icons/off_disabled = null +CheckButton/icons/on = null +CheckButton/icons/on_disabled = null +CheckButton/styles/disabled = null +CheckButton/styles/focus = null +CheckButton/styles/hover = null +CheckButton/styles/hover_pressed = null +CheckButton/styles/normal = null +CheckButton/styles/pressed = null +ColorPicker/constants/h_width = 30 +ColorPicker/constants/label_width = 10 +ColorPicker/constants/margin = 4 +ColorPicker/constants/sv_height = 256 +ColorPicker/constants/sv_width = 256 +ColorPicker/icons/add_preset = null +ColorPicker/icons/color_hue = null +ColorPicker/icons/color_sample = null +ColorPicker/icons/overbright_indicator = null +ColorPicker/icons/preset_bg = null +ColorPicker/icons/screen_picker = null +ColorPickerButton/colors/font_color = Color( 0, 0, 0, 1 ) +ColorPickerButton/colors/font_color_disabled = Color( 0, 0, 0, 1 ) +ColorPickerButton/colors/font_color_hover = Color( 0, 0, 0, 1 ) +ColorPickerButton/colors/font_color_pressed = Color( 0, 0, 0, 1 ) +ColorPickerButton/constants/hseparation = 2 +ColorPickerButton/fonts/font = null +ColorPickerButton/icons/bg = null +ColorPickerButton/styles/disabled = null +ColorPickerButton/styles/focus = null +ColorPickerButton/styles/hover = null +ColorPickerButton/styles/normal = null +ColorPickerButton/styles/pressed = null +Dialogs/constants/button_margin = 32 +Dialogs/constants/margin = 8 +FileDialog/colors/file_icon_modulate = Color( 0, 0, 0, 1 ) +FileDialog/colors/files_disabled = Color( 0, 0, 0, 1 ) +FileDialog/colors/folder_icon_modulate = Color( 0, 0, 0, 1 ) +FileDialog/icons/file = null +FileDialog/icons/folder = null +FileDialog/icons/parent_folder = null +FileDialog/icons/reload = null +FileDialog/icons/toggle_hidden = null +Fonts/fonts/large = null +Fonts/fonts/normal = null +GraphEdit/colors/activity = Color( 0, 0, 0, 1 ) +GraphEdit/colors/grid_major = Color( 0, 0, 0, 1 ) +GraphEdit/colors/grid_minor = Color( 0, 0, 0, 1 ) +GraphEdit/colors/selection_fill = Color( 0, 0, 0, 1 ) +GraphEdit/colors/selection_stroke = Color( 0, 0, 0, 1 ) +GraphEdit/constants/bezier_len_neg = 160 +GraphEdit/constants/bezier_len_pos = 80 +GraphEdit/constants/port_grab_distance_horizontal = 48 +GraphEdit/constants/port_grab_distance_vertical = 6 +GraphEdit/icons/minus = null +GraphEdit/icons/more = null +GraphEdit/icons/reset = null +GraphEdit/icons/snap = null +GraphEdit/styles/bg = null +GraphNode/colors/close_color = Color( 0, 0, 0, 1 ) +GraphNode/colors/resizer_color = Color( 0, 0, 0, 1 ) +GraphNode/colors/title_color = Color( 0, 0, 0, 1 ) +GraphNode/constants/close_offset = 18 +GraphNode/constants/port_offset = 3 +GraphNode/constants/separation = 1 +GraphNode/constants/title_offset = 20 +GraphNode/fonts/title_font = null +GraphNode/icons/close = null +GraphNode/icons/port = null +GraphNode/icons/resizer = null +GraphNode/styles/breakpoint = null +GraphNode/styles/comment = null +GraphNode/styles/commentfocus = null +GraphNode/styles/defaultfocus = null +GraphNode/styles/defaultframe = null +GraphNode/styles/frame = null +GraphNode/styles/position = null +GraphNode/styles/selectedframe = null +GridContainer/constants/hseparation = 4 +GridContainer/constants/vseparation = 4 +HBoxContainer/constants/separation = 4 +HScrollBar/icons/decrement = null +HScrollBar/icons/decrement_highlight = null +HScrollBar/icons/increment = null +HScrollBar/icons/increment_highlight = null +HScrollBar/styles/grabber = null +HScrollBar/styles/grabber_highlight = null +HScrollBar/styles/grabber_pressed = null +HScrollBar/styles/scroll = null +HScrollBar/styles/scroll_focus = null +HSeparator/constants/separation = 4 +HSeparator/styles/separator = null +HSlider/icons/grabber = null +HSlider/icons/grabber_disabled = null +HSlider/icons/grabber_highlight = null +HSlider/icons/tick = null +HSlider/styles/grabber_area = null +HSlider/styles/grabber_area_highlight = null +HSlider/styles/slider = null +HSplitContainer/constants/autohide = 1 +HSplitContainer/constants/separation = 12 +HSplitContainer/icons/grabber = null +HSplitContainer/styles/bg = null +Icons/icons/close = null +ItemList/colors/font_color = Color( 0, 0, 0, 1 ) +ItemList/colors/font_color_selected = Color( 0, 0, 0, 1 ) +ItemList/colors/guide_color = Color( 0, 0, 0, 1 ) +ItemList/constants/hseparation = 4 +ItemList/constants/icon_margin = 4 +ItemList/constants/line_separation = 2 +ItemList/constants/vseparation = 2 +ItemList/fonts/font = null +ItemList/styles/bg = null +ItemList/styles/bg_focus = null +ItemList/styles/cursor = null +ItemList/styles/cursor_unfocused = null +ItemList/styles/selected = null +ItemList/styles/selected_focus = null +Label/colors/font_color = Color( 1, 1, 1, 1 ) +Label/colors/font_color_shadow = Color( 0, 0, 0, 1 ) +Label/colors/font_outline_modulate = Color( 0, 0, 0, 1 ) +Label/constants/line_spacing = 3 +Label/constants/shadow_as_outline = 0 +Label/constants/shadow_offset_x = 1 +Label/constants/shadow_offset_y = 1 +Label/fonts/font = null +Label/styles/normal = null +LineEdit/colors/clear_button_color = Color( 0, 0, 0, 1 ) +LineEdit/colors/clear_button_color_pressed = Color( 0, 0, 0, 1 ) +LineEdit/colors/cursor_color = Color( 0, 0, 0, 1 ) +LineEdit/colors/font_color = Color( 0, 0, 0, 1 ) +LineEdit/colors/font_color_selected = Color( 0, 0, 0, 1 ) +LineEdit/colors/font_color_uneditable = Color( 0, 0, 0, 1 ) +LineEdit/colors/selection_color = Color( 0, 0, 0, 1 ) +LineEdit/constants/minimum_spaces = 12 +LineEdit/fonts/font = null +LineEdit/icons/clear = null +LineEdit/styles/focus = null +LineEdit/styles/normal = null +LineEdit/styles/read_only = null +LinkButton/colors/font_color = Color( 0, 0, 0, 1 ) +LinkButton/colors/font_color_hover = Color( 0, 0, 0, 1 ) +LinkButton/colors/font_color_pressed = Color( 0, 0, 0, 1 ) +LinkButton/constants/underline_spacing = 2 +LinkButton/fonts/font = null +LinkButton/styles/focus = null +MarginContainer/constants/margin_bottom = 0 +MarginContainer/constants/margin_left = 0 +MarginContainer/constants/margin_right = 0 +MarginContainer/constants/margin_top = 0 +MenuButton/colors/font_color = Color( 0, 0, 0, 1 ) +MenuButton/colors/font_color_disabled = Color( 0, 0, 0, 1 ) +MenuButton/colors/font_color_hover = Color( 0, 0, 0, 1 ) +MenuButton/colors/font_color_pressed = Color( 0, 0, 0, 1 ) +MenuButton/constants/hseparation = 3 +MenuButton/fonts/font = null +MenuButton/styles/disabled = null +MenuButton/styles/focus = null +MenuButton/styles/hover = null +MenuButton/styles/normal = null +MenuButton/styles/pressed = null +OptionButton/colors/font_color = Color( 0, 0, 0, 1 ) +OptionButton/colors/font_color_disabled = Color( 0, 0, 0, 1 ) +OptionButton/colors/font_color_hover = Color( 0, 0, 0, 1 ) +OptionButton/colors/font_color_pressed = Color( 0, 0, 0, 1 ) +OptionButton/constants/arrow_margin = 2 +OptionButton/constants/hseparation = 2 +OptionButton/fonts/font = null +OptionButton/icons/arrow = null +OptionButton/styles/disabled = null +OptionButton/styles/focus = null +OptionButton/styles/hover = null +OptionButton/styles/normal = null +OptionButton/styles/pressed = null +Panel/styles/panel = ExtResource( 7 ) +PanelContainer/styles/panel = null +PopupDialog/styles/panel = null +PopupMenu/colors/font_color = Color( 0, 0, 0, 1 ) +PopupMenu/colors/font_color_accel = Color( 0, 0, 0, 1 ) +PopupMenu/colors/font_color_disabled = Color( 0, 0, 0, 1 ) +PopupMenu/colors/font_color_hover = Color( 0, 0, 0, 1 ) +PopupMenu/constants/hseparation = 4 +PopupMenu/constants/vseparation = 4 +PopupMenu/fonts/font = null +PopupMenu/icons/checked = null +PopupMenu/icons/radio_checked = null +PopupMenu/icons/radio_unchecked = null +PopupMenu/icons/submenu = null +PopupMenu/icons/unchecked = null +PopupMenu/styles/hover = null +PopupMenu/styles/labeled_separator_left = null +PopupMenu/styles/labeled_separator_right = null +PopupMenu/styles/panel = null +PopupMenu/styles/panel_disabled = null +PopupMenu/styles/separator = null +PopupPanel/styles/panel = ExtResource( 8 ) +ProgressBar/colors/font_color = Color( 0, 0, 0, 1 ) +ProgressBar/colors/font_color_shadow = Color( 0, 0, 0, 1 ) +ProgressBar/fonts/font = null +ProgressBar/styles/bg = null +ProgressBar/styles/fg = null +RichTextLabel/colors/default_color = Color( 1, 1, 1, 1 ) +RichTextLabel/colors/font_color_selected = Color( 1, 1, 1, 1 ) +RichTextLabel/colors/font_color_shadow = Color( 0, 0, 0, 1 ) +RichTextLabel/colors/selection_color = Color( 0.160784, 0.356863, 0.94902, 1 ) +RichTextLabel/constants/line_separation = 1 +RichTextLabel/constants/shadow_as_outline = 0 +RichTextLabel/constants/shadow_offset_x = 1 +RichTextLabel/constants/shadow_offset_y = 1 +RichTextLabel/constants/table_hseparation = 3 +RichTextLabel/constants/table_vseparation = 3 +RichTextLabel/fonts/bold_font = null +RichTextLabel/fonts/bold_italics_font = null +RichTextLabel/fonts/italics_font = null +RichTextLabel/fonts/mono_font = null +RichTextLabel/fonts/normal_font = null +RichTextLabel/styles/focus = null +RichTextLabel/styles/normal = null +ScrollContainer/styles/bg = null +SpinBox/icons/updown = null +TabContainer/colors/font_color_bg = Color( 0, 0, 0, 1 ) +TabContainer/colors/font_color_disabled = Color( 0, 0, 0, 1 ) +TabContainer/colors/font_color_fg = Color( 0, 0, 0, 1 ) +TabContainer/constants/hseparation = 4 +TabContainer/constants/label_valign_bg = 2 +TabContainer/constants/label_valign_fg = 0 +TabContainer/constants/side_margin = 8 +TabContainer/constants/top_margin = 24 +TabContainer/fonts/font = null +TabContainer/icons/decrement = null +TabContainer/icons/decrement_highlight = null +TabContainer/icons/increment = null +TabContainer/icons/increment_highlight = null +TabContainer/icons/menu = null +TabContainer/icons/menu_highlight = null +TabContainer/styles/panel = null +TabContainer/styles/tab_bg = null +TabContainer/styles/tab_disabled = null +TabContainer/styles/tab_fg = null +Tabs/colors/font_color_bg = Color( 0, 0, 0, 1 ) +Tabs/colors/font_color_disabled = Color( 0, 0, 0, 1 ) +Tabs/colors/font_color_fg = Color( 0, 0, 0, 1 ) +Tabs/constants/hseparation = 4 +Tabs/constants/label_valign_bg = 2 +Tabs/constants/label_valign_fg = 0 +Tabs/constants/top_margin = 24 +Tabs/fonts/font = null +Tabs/icons/close = null +Tabs/icons/decrement = null +Tabs/icons/decrement_highlight = null +Tabs/icons/increment = null +Tabs/icons/increment_highlight = null +Tabs/styles/button = null +Tabs/styles/button_pressed = null +Tabs/styles/panel = null +Tabs/styles/tab_bg = null +Tabs/styles/tab_disabled = null +Tabs/styles/tab_fg = null +TextEdit/colors/background_color = Color( 0, 0, 0, 1 ) +TextEdit/colors/bookmark_color = Color( 0, 0, 0, 1 ) +TextEdit/colors/brace_mismatch_color = Color( 0, 0, 0, 1 ) +TextEdit/colors/breakpoint_color = Color( 0, 0, 0, 1 ) +TextEdit/colors/caret_background_color = Color( 0, 0, 0, 1 ) +TextEdit/colors/caret_color = Color( 0, 0, 0, 1 ) +TextEdit/colors/code_folding_color = Color( 0, 0, 0, 1 ) +TextEdit/colors/completion_background_color = Color( 0, 0, 0, 1 ) +TextEdit/colors/completion_existing_color = Color( 0, 0, 0, 1 ) +TextEdit/colors/completion_font_color = Color( 0, 0, 0, 1 ) +TextEdit/colors/completion_scroll_color = Color( 0, 0, 0, 1 ) +TextEdit/colors/completion_selected_color = Color( 0, 0, 0, 1 ) +TextEdit/colors/current_line_color = Color( 0, 0, 0, 1 ) +TextEdit/colors/executing_line_color = Color( 0, 0, 0, 1 ) +TextEdit/colors/font_color = Color( 0, 0, 0, 1 ) +TextEdit/colors/font_color_readonly = Color( 0, 0, 0, 1 ) +TextEdit/colors/font_color_selected = Color( 0, 0, 0, 1 ) +TextEdit/colors/function_color = Color( 0, 0, 0, 1 ) +TextEdit/colors/line_number_color = Color( 0, 0, 0, 1 ) +TextEdit/colors/mark_color = Color( 0, 0, 0, 1 ) +TextEdit/colors/member_variable_color = Color( 0, 0, 0, 1 ) +TextEdit/colors/number_color = Color( 0, 0, 0, 1 ) +TextEdit/colors/safe_line_number_color = Color( 0, 0, 0, 1 ) +TextEdit/colors/selection_color = Color( 0, 0, 0, 1 ) +TextEdit/colors/symbol_color = Color( 0, 0, 0, 1 ) +TextEdit/colors/word_highlighted_color = Color( 0, 0, 0, 1 ) +TextEdit/constants/completion_lines = 7 +TextEdit/constants/completion_max_width = 50 +TextEdit/constants/completion_scroll_width = 3 +TextEdit/constants/line_spacing = 4 +TextEdit/fonts/font = null +TextEdit/icons/fold = null +TextEdit/icons/folded = null +TextEdit/icons/space = null +TextEdit/icons/tab = null +TextEdit/styles/completion = null +TextEdit/styles/focus = null +TextEdit/styles/normal = null +TextEdit/styles/read_only = null +ToolButton/colors/font_color = Color( 0, 0, 0, 1 ) +ToolButton/colors/font_color_disabled = Color( 0, 0, 0, 1 ) +ToolButton/colors/font_color_hover = Color( 0, 0, 0, 1 ) +ToolButton/colors/font_color_pressed = Color( 0, 0, 0, 1 ) +ToolButton/constants/hseparation = 3 +ToolButton/fonts/font = null +ToolButton/styles/disabled = null +ToolButton/styles/focus = null +ToolButton/styles/hover = null +ToolButton/styles/normal = null +ToolButton/styles/pressed = null +TooltipLabel/colors/font_color = Color( 0, 0, 0, 1 ) +TooltipLabel/colors/font_color_shadow = Color( 0, 0, 0, 1 ) +TooltipLabel/constants/shadow_offset_x = 1 +TooltipLabel/constants/shadow_offset_y = 1 +TooltipLabel/fonts/font = null +TooltipPanel/styles/panel = null +Tree/colors/custom_button_font_highlight = Color( 0, 0, 0, 1 ) +Tree/colors/drop_position_color = Color( 0, 0, 0, 1 ) +Tree/colors/font_color = Color( 0, 0, 0, 1 ) +Tree/colors/font_color_selected = Color( 0, 0, 0, 1 ) +Tree/colors/guide_color = Color( 0, 0, 0, 1 ) +Tree/colors/relationship_line_color = Color( 0, 0, 0, 1 ) +Tree/colors/title_button_color = Color( 0, 0, 0, 1 ) +Tree/constants/button_margin = 4 +Tree/constants/draw_guides = 1 +Tree/constants/draw_relationship_lines = 0 +Tree/constants/hseparation = 4 +Tree/constants/item_margin = 12 +Tree/constants/scroll_border = 4 +Tree/constants/scroll_speed = 12 +Tree/constants/vseparation = 4 +Tree/fonts/font = null +Tree/fonts/title_button_font = null +Tree/icons/arrow = null +Tree/icons/arrow_collapsed = null +Tree/icons/checked = null +Tree/icons/select_arrow = null +Tree/icons/unchecked = null +Tree/icons/updown = null +Tree/styles/bg = null +Tree/styles/bg_focus = null +Tree/styles/button_pressed = null +Tree/styles/cursor = null +Tree/styles/cursor_unfocused = null +Tree/styles/custom_button = null +Tree/styles/custom_button_hover = null +Tree/styles/custom_button_pressed = null +Tree/styles/selected = null +Tree/styles/selected_focus = null +Tree/styles/title_button_hover = null +Tree/styles/title_button_normal = null +Tree/styles/title_button_pressed = null +VBoxContainer/constants/separation = 4 +VScrollBar/icons/decrement = null +VScrollBar/icons/decrement_highlight = null +VScrollBar/icons/increment = null +VScrollBar/icons/increment_highlight = null +VScrollBar/styles/grabber = null +VScrollBar/styles/grabber_highlight = null +VScrollBar/styles/grabber_pressed = null +VScrollBar/styles/scroll = null +VScrollBar/styles/scroll_focus = null +VSeparator/constants/separation = 4 +VSeparator/styles/separator = null +VSlider/icons/grabber = null +VSlider/icons/grabber_disabled = null +VSlider/icons/grabber_highlight = null +VSlider/icons/tick = null +VSlider/styles/grabber_area = null +VSlider/styles/grabber_area_highlight = null +VSlider/styles/slider = null +VSplitContainer/constants/autohide = 1 +VSplitContainer/constants/separation = 12 +VSplitContainer/icons/grabber = null +VSplitContainer/styles/bg = null +WindowDialog/colors/title_color = Color( 0, 0, 0, 1 ) +WindowDialog/constants/close_h_ofs = 18 +WindowDialog/constants/close_v_ofs = 18 +WindowDialog/constants/scaleborder_size = 4 +WindowDialog/constants/title_height = 20 +WindowDialog/fonts/title_font = null +WindowDialog/icons/close = null +WindowDialog/icons/close_highlight = null +WindowDialog/styles/panel = null diff --git a/icon.png b/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c98fbb601c83c81ec8c22b1dba7d1d57c62b323c GIT binary patch literal 3305 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 literal 0 HcmV?d00001 diff --git a/icon.png.import b/icon.png.import new file mode 100644 index 0000000..96cbf46 --- /dev/null +++ b/icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.png" +dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/project.godot b/project.godot new file mode 100644 index 0000000..f8d7092 --- /dev/null +++ b/project.godot @@ -0,0 +1,73 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=4 + +_global_script_classes=[ { +"base": "Label", +"class": "DebugLabel", +"language": "GDScript", +"path": "res://game/DebugLabel.gd" +}, { +"base": "Node", +"class": "Game", +"language": "GDScript", +"path": "res://game/Game.gd" +}, { +"base": "Reference", +"class": "GroupMessenger", +"language": "GDScript", +"path": "res://game/GroupMessenger.gd" +}, { +"base": "Control", +"class": "TransitionScreen", +"language": "GDScript", +"path": "res://game/loading/TransitionScreen.gd" +} ] +_global_script_class_icons={ +"DebugLabel": "", +"Game": "", +"GroupMessenger": "", +"TransitionScreen": "" +} + +[application] + +config/name="New Game Project" +run/main_scene="res://game/Game.tscn" +config/icon="res://icon.png" + +[debug] + +gdscript/warnings/unused_variable=false +gdscript/warnings/shadowed_variable=false +gdscript/warnings/unused_argument=false +gdscript/warnings/narrowing_conversion=false +gdscript/warnings/return_value_discarded=false +gdscript/warnings/integer_division=false + +[display] + +window/size/width=1280 +window/size/height=720 + +[input] + +menu={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777220,"unicode":0,"echo":false,"script":null) + ] +} + +[physics] + +common/physics_fps=160 + +[rendering] + +environment/default_environment="res://default_env.tres" diff --git a/script_templates/Debug.gd b/script_templates/Debug.gd new file mode 100644 index 0000000..4e90e64 --- /dev/null +++ b/script_templates/Debug.gd @@ -0,0 +1,13 @@ +var game: Game + +func _init(game: Game) -> void: + self.game = game + +func startup() -> void: + pass + +func loading_finished() -> void: + pass + +func level_spawned() -> void: + pass