commit 969a3ac8de1ec095b819a1f47d7dc851f9ccb07e Author: Jonas Date: Fri Mar 21 19:38:15 2025 +0100 1st commit diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..f28239b --- /dev/null +++ b/.editorconfig @@ -0,0 +1,4 @@ +root = true + +[*] +charset = utf-8 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..0af181c --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +# Godot 4+ specific ignores +.godot/ +/android/ diff --git a/assets/sprites/tiles/iso_tileset.png b/assets/sprites/tiles/iso_tileset.png new file mode 100644 index 0000000..9901cf0 Binary files /dev/null and b/assets/sprites/tiles/iso_tileset.png differ diff --git a/assets/sprites/tiles/iso_tileset.png.import b/assets/sprites/tiles/iso_tileset.png.import new file mode 100644 index 0000000..dd2a057 --- /dev/null +++ b/assets/sprites/tiles/iso_tileset.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://p8iyle6kr3nf" +path="res://.godot/imported/iso_tileset.png-2fdeff79ca7fc867ac2c1b820e95d0d5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/tiles/iso_tileset.png" +dest_files=["res://.godot/imported/iso_tileset.png-2fdeff79ca7fc867ac2c1b820e95d0d5.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 diff --git a/assets/sprites/units/$Cat_Female (2).png b/assets/sprites/units/$Cat_Female (2).png new file mode 100644 index 0000000..437e2a6 Binary files /dev/null and b/assets/sprites/units/$Cat_Female (2).png differ diff --git a/assets/sprites/units/$Cat_Female (2).png.import b/assets/sprites/units/$Cat_Female (2).png.import new file mode 100644 index 0000000..25050b9 --- /dev/null +++ b/assets/sprites/units/$Cat_Female (2).png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d3tfo61gemayy" +path="res://.godot/imported/$Cat_Female (2).png-1f87f9f4ed4eaa3017b2ee38f32ed56b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/units/$Cat_Female (2).png" +dest_files=["res://.godot/imported/$Cat_Female (2).png-1f87f9f4ed4eaa3017b2ee38f32ed56b.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 diff --git a/icon.svg b/icon.svg new file mode 100644 index 0000000..9d8b7fa --- /dev/null +++ b/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/icon.svg.import b/icon.svg.import new file mode 100644 index 0000000..44e94ca --- /dev/null +++ b/icon.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cmmktv2qycuqx" +path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.svg" +dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.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=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/project.godot b/project.godot new file mode 100644 index 0000000..1a7b741 --- /dev/null +++ b/project.godot @@ -0,0 +1,16 @@ +; 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=5 + +[application] + +config/name="isometrictacticalrpg" +run/main_scene="uid://cwkfqadcknsen" +config/features=PackedStringArray("4.4", "Forward Plus") +config/icon="res://icon.svg" diff --git a/scenes/ui/main_menu.tscn b/scenes/ui/main_menu.tscn new file mode 100644 index 0000000..b3323f1 --- /dev/null +++ b/scenes/ui/main_menu.tscn @@ -0,0 +1,42 @@ +[gd_scene load_steps=2 format=3 uid="uid://cwkfqadcknsen"] + +[ext_resource type="Script" uid="uid://6aeumnkn1ntj" path="res://scripts/ui/main_menu.gd" id="1_sl1te"] + +[node name="MainMenu" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_sl1te") + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -20.0 +offset_top = -20.0 +offset_right = 20.0 +offset_bottom = 20.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="StartButton" type="Button" parent="VBoxContainer"] +layout_mode = 2 +text = "Start" + +[node name="OptionButton" type="Button" parent="VBoxContainer"] +layout_mode = 2 +text = "Option" + +[node name="QuitButton" type="Button" parent="VBoxContainer"] +layout_mode = 2 +text = "Quit" + +[connection signal="pressed" from="VBoxContainer/StartButton" to="." method="_on_start_button_pressed"] +[connection signal="pressed" from="VBoxContainer/OptionButton" to="." method="_on_option_button_pressed"] +[connection signal="pressed" from="VBoxContainer/QuitButton" to="." method="_on_quit_button_pressed"] diff --git a/scenes/units/player.tscn b/scenes/units/player.tscn new file mode 100644 index 0000000..3dbdc41 --- /dev/null +++ b/scenes/units/player.tscn @@ -0,0 +1,125 @@ +[gd_scene load_steps=16 format=3 uid="uid://wtijljokgpot"] + +[ext_resource type="Texture2D" uid="uid://d3tfo61gemayy" path="res://assets/sprites/units/$Cat_Female (2).png" id="1_pkbir"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_esfxm"] +atlas = ExtResource("1_pkbir") +region = Rect2(0, 0, 48, 60) + +[sub_resource type="AtlasTexture" id="AtlasTexture_15tbu"] +atlas = ExtResource("1_pkbir") +region = Rect2(48, 0, 48, 60) + +[sub_resource type="AtlasTexture" id="AtlasTexture_55td2"] +atlas = ExtResource("1_pkbir") +region = Rect2(96, 0, 48, 60) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rwmet"] +atlas = ExtResource("1_pkbir") +region = Rect2(0, 60, 48, 60) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xovxq"] +atlas = ExtResource("1_pkbir") +region = Rect2(48, 60, 48, 60) + +[sub_resource type="AtlasTexture" id="AtlasTexture_174p4"] +atlas = ExtResource("1_pkbir") +region = Rect2(96, 60, 48, 60) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ts5o2"] +atlas = ExtResource("1_pkbir") +region = Rect2(0, 120, 48, 60) + +[sub_resource type="AtlasTexture" id="AtlasTexture_olx12"] +atlas = ExtResource("1_pkbir") +region = Rect2(48, 120, 48, 60) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gxusr"] +atlas = ExtResource("1_pkbir") +region = Rect2(96, 120, 48, 60) + +[sub_resource type="AtlasTexture" id="AtlasTexture_oti7e"] +atlas = ExtResource("1_pkbir") +region = Rect2(0, 180, 48, 60) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ad5rf"] +atlas = ExtResource("1_pkbir") +region = Rect2(48, 180, 48, 60) + +[sub_resource type="AtlasTexture" id="AtlasTexture_da23m"] +atlas = ExtResource("1_pkbir") +region = Rect2(96, 180, 48, 60) + +[sub_resource type="SpriteFrames" id="SpriteFrames_0rwas"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_esfxm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_15tbu") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_55td2") +}], +"loop": true, +"name": &"down", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_rwmet") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xovxq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_174p4") +}], +"loop": true, +"name": &"left", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_ts5o2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_olx12") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gxusr") +}], +"loop": true, +"name": &"right", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_oti7e") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ad5rf") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_da23m") +}], +"loop": true, +"name": &"up", +"speed": 5.0 +}] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_m4w27"] +size = Vector2(36, 48) + +[node name="player" type="CharacterBody2D"] + +[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] +sprite_frames = SubResource("SpriteFrames_0rwas") +animation = &"down" +frame = 1 +frame_progress = 0.383158 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(0, 6) +shape = SubResource("RectangleShape2D_m4w27") diff --git a/scripts/ui/main_menu.gd b/scripts/ui/main_menu.gd new file mode 100644 index 0000000..2c19d33 --- /dev/null +++ b/scripts/ui/main_menu.gd @@ -0,0 +1,23 @@ +extends Control + + +# 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): + pass + + +func _on_start_button_pressed(): + get_tree().change_scene_to_file("res://test_level.tscn") + + +func _on_option_button_pressed(): + get_tree().quit() + + +func _on_quit_button_pressed(): + get_tree().quit() diff --git a/scripts/ui/main_menu.gd.uid b/scripts/ui/main_menu.gd.uid new file mode 100644 index 0000000..b3b2e8e --- /dev/null +++ b/scripts/ui/main_menu.gd.uid @@ -0,0 +1 @@ +uid://6aeumnkn1ntj