Merge pull request 'Added Tilted World. /JL' (#6) from 0.0.5 into main

Reviewed-on: #6
This commit was merged in pull request #6.
This commit is contained in:
2025-12-18 08:08:43 +01:00
16 changed files with 447 additions and 0 deletions

View File

@@ -0,0 +1,4 @@
root = true
[*]
charset = utf-8

2
tilted-world/.gitattributes vendored Normal file
View File

@@ -0,0 +1,2 @@
# Normalize EOL for all files that Git considers text files.
* text=auto eol=lf

3
tilted-world/.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
# Godot 4+ specific ignores
.godot/
/android/

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://3dgdehdn7fex"
path="res://.godot/imported/banner.png-32fa8f819bf080792454b7d05dbf96d2.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/gfx/banner.png"
dest_files=["res://.godot/imported/banner.png-32fa8f819bf080792454b7d05dbf96d2.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

View File

@@ -0,0 +1,168 @@
<svg xmlns="http://www.w3.org/2000/svg" width="256" height="192" viewBox="0 0 256 192">
<defs>
<style>
.face { fill:#FFD45A; stroke:#2B2B2B; stroke-width:3; }
.shine { fill:#FFFFFF; opacity:0.18; }
.eyeW { fill:#FFFFFF; stroke:#2B2B2B; stroke-width:2; }
.pupil { fill:#2B2B2B; }
.brow { stroke:#2B2B2B; stroke-width:4; stroke-linecap:round; fill:none; }
.mouth { stroke:#2B2B2B; stroke-width:4; stroke-linecap:round; stroke-linejoin:round; fill:none; }
.mouthFill { fill:#2B2B2B; }
.tongue { fill:#E85D5D; }
</style>
<!-- Base round head -->
<symbol id="base" viewBox="0 0 64 64">
<circle class="face" cx="32" cy="32" r="26"/>
<ellipse class="shine" cx="24" cy="22" rx="10" ry="8"/>
</symbol>
<!-- 1 Happy -->
<symbol id="f1" viewBox="0 0 64 64">
<use href="#base"/>
<ellipse class="eyeW" cx="24" cy="28" rx="7" ry="8"/>
<ellipse class="eyeW" cx="40" cy="28" rx="7" ry="8"/>
<circle class="pupil" cx="26" cy="30" r="3"/>
<circle class="pupil" cx="42" cy="30" r="3"/>
<path class="mouth" d="M22 41 Q32 50 42 41"/>
</symbol>
<!-- 2 Angry -->
<symbol id="f2" viewBox="0 0 64 64">
<use href="#base"/>
<path class="brow" d="M18 22 L30 26"/>
<path class="brow" d="M46 22 L34 26"/>
<ellipse class="eyeW" cx="24" cy="30" rx="7" ry="7"/>
<ellipse class="eyeW" cx="40" cy="30" rx="7" ry="7"/>
<circle class="pupil" cx="24" cy="32" r="3"/>
<circle class="pupil" cx="40" cy="32" r="3"/>
<path class="mouth" d="M22 45 Q32 38 42 45"/>
</symbol>
<!-- 3 Shocked -->
<symbol id="f3" viewBox="0 0 64 64">
<use href="#base"/>
<ellipse class="eyeW" cx="24" cy="26" rx="7" ry="9"/>
<ellipse class="eyeW" cx="40" cy="26" rx="7" ry="9"/>
<circle class="pupil" cx="24" cy="28" r="3"/>
<circle class="pupil" cx="40" cy="28" r="3"/>
<ellipse class="mouthFill" cx="32" cy="44" rx="7" ry="10"/>
</symbol>
<!-- 4 Sad -->
<symbol id="f4" viewBox="0 0 64 64">
<use href="#base"/>
<path class="brow" d="M18 24 Q24 20 30 24"/>
<path class="brow" d="M34 24 Q40 20 46 24"/>
<ellipse class="eyeW" cx="24" cy="30" rx="7" ry="8"/>
<ellipse class="eyeW" cx="40" cy="30" rx="7" ry="8"/>
<circle class="pupil" cx="24" cy="32" r="3"/>
<circle class="pupil" cx="40" cy="32" r="3"/>
<path class="mouth" d="M22 48 Q32 40 42 48"/>
</symbol>
<!-- 5 Neutral -->
<symbol id="f5" viewBox="0 0 64 64">
<use href="#base"/>
<ellipse class="eyeW" cx="24" cy="30" rx="7" ry="8"/>
<ellipse class="eyeW" cx="40" cy="30" rx="7" ry="8"/>
<circle class="pupil" cx="25" cy="32" r="3"/>
<circle class="pupil" cx="41" cy="32" r="3"/>
<path class="mouth" d="M24 45 L40 45"/>
</symbol>
<!-- 6 Big laugh -->
<symbol id="f6" viewBox="0 0 64 64">
<use href="#base"/>
<path class="brow" d="M18 22 Q24 18 30 22"/>
<path class="brow" d="M34 22 Q40 18 46 22"/>
<path class="mouth" d="M20 40 Q32 56 44 40"/>
<path class="tongue" d="M28 50 Q32 54 36 50 Q32 48 28 50Z"/>
<ellipse class="eyeW" cx="24" cy="30" rx="6" ry="5"/>
<ellipse class="eyeW" cx="40" cy="30" rx="6" ry="5"/>
</symbol>
<!-- 7 Determined -->
<symbol id="f7" viewBox="0 0 64 64">
<use href="#base"/>
<path class="brow" d="M18 24 L30 24"/>
<path class="brow" d="M34 24 L46 24"/>
<ellipse class="eyeW" cx="24" cy="30" rx="7" ry="7"/>
<ellipse class="eyeW" cx="40" cy="30" rx="7" ry="7"/>
<circle class="pupil" cx="22.5" cy="32" r="3"/>
<circle class="pupil" cx="38.5" cy="32" r="3"/>
<path class="mouth" d="M24 45 L40 45"/>
</symbol>
<!-- 8 Worried -->
<symbol id="f8" viewBox="0 0 64 64">
<use href="#base"/>
<path class="brow" d="M18 24 Q24 18 30 24"/>
<path class="brow" d="M34 24 Q40 18 46 24"/>
<ellipse class="eyeW" cx="24" cy="30" rx="7" ry="8"/>
<ellipse class="eyeW" cx="40" cy="30" rx="7" ry="8"/>
<circle class="pupil" cx="26" cy="33" r="3"/>
<circle class="pupil" cx="42" cy="33" r="3"/>
<path class="mouth" d="M24 46 Q32 42 40 46"/>
</symbol>
<!-- 9 Sleepy -->
<symbol id="f9" viewBox="0 0 64 64">
<use href="#base"/>
<path class="brow" d="M18 26 Q24 24 30 26"/>
<path class="brow" d="M34 26 Q40 24 46 26"/>
<path class="mouth" d="M24 45 L40 45"/>
<path class="mouth" d="M18 31 Q24 28 30 31"/>
<path class="mouth" d="M34 31 Q40 28 46 31"/>
</symbol>
<!-- 10 Dizzy -->
<symbol id="f10" viewBox="0 0 64 64">
<use href="#base"/>
<path class="mouth" d="M22 46 Q32 42 42 46"/>
<path class="mouth" d="M19 28 L29 34"/>
<path class="mouth" d="M29 28 L19 34"/>
<path class="mouth" d="M35 28 L45 34"/>
<path class="mouth" d="M45 28 L35 34"/>
</symbol>
<!-- 11 Pain -->
<symbol id="f11" viewBox="0 0 64 64">
<use href="#base"/>
<path class="brow" d="M18 24 L30 20"/>
<path class="brow" d="M46 24 L34 20"/>
<ellipse class="eyeW" cx="24" cy="30" rx="7" ry="7"/>
<ellipse class="eyeW" cx="40" cy="30" rx="7" ry="7"/>
<circle class="pupil" cx="24" cy="31.5" r="3"/>
<circle class="pupil" cx="40" cy="31.5" r="3"/>
<path class="mouth" d="M26 46 Q32 40 38 46"/>
</symbol>
<!-- 12 Smirk -->
<symbol id="f12" viewBox="0 0 64 64">
<use href="#base"/>
<ellipse class="eyeW" cx="24" cy="30" rx="7" ry="8"/>
<ellipse class="eyeW" cx="40" cy="30" rx="7" ry="8"/>
<circle class="pupil" cx="25" cy="32" r="3"/>
<circle class="pupil" cx="41" cy="32" r="3"/>
<path class="mouth" d="M22 45 Q30 50 42 44"/>
</symbol>
</defs>
<!-- Sprite placement (transparent background) -->
<use href="#f1" x="0" y="0"/>
<use href="#f2" x="64" y="0"/>
<use href="#f3" x="128" y="0"/>
<use href="#f4" x="192" y="0"/>
<use href="#f5" x="0" y="64"/>
<use href="#f6" x="64" y="64"/>
<use href="#f7" x="128" y="64"/>
<use href="#f8" x="192" y="64"/>
<use href="#f9" x="0" y="128"/>
<use href="#f10" x="64" y="128"/>
<use href="#f11" x="128" y="128"/>
<use href="#f12" x="192" y="128"/>
</svg>

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://l2q3ql4ek7d7"
path="res://.godot/imported/player.svg-f76d3946ec0dc8e9ca18a70ddd3ee1d4.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/gfx/player.svg"
dest_files=["res://.godot/imported/player.svg-f76d3946ec0dc8e9ca18a70ddd3ee1d4.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

BIN
tilted-world/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cboxd6nc3tkp2"
path="res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://icon.png"
dest_files=["res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128"><rect width="124" height="124" x="2" y="2" fill="#363d52" stroke="#212532" stroke-width="4" rx="14"/><g fill="#fff" transform="translate(12.322 12.322)scale(.101)"><path d="M105 673v33q407 354 814 0v-33z"/><path fill="#478cbf" d="m105 673 152 14q12 1 15 14l4 67 132 10 8-61q2-11 15-15h162q13 4 15 15l8 61 132-10 4-67q3-13 15-14l152-14V427q30-39 56-81-35-59-83-108-43 20-82 47-40-37-88-64 7-51 8-102-59-28-123-42-26 43-46 89-49-7-98 0-20-46-46-89-64 14-123 42 1 51 8 102-48 27-88 64-39-27-82-47-48 49-83 108 26 42 56 81zm0 33v39c0 276 813 276 814 0v-39l-134 12-5 69q-2 10-14 13l-162 11q-12 0-16-11l-10-65H446l-10 65q-4 11-16 11l-162-11q-12-3-14-13l-5-69z"/><path d="M483 600c0 34 58 34 58 0v-86c0-34-58-34-58 0z"/><circle cx="725" cy="526" r="90"/><circle cx="299" cy="526" r="90"/></g><g fill="#414042" transform="translate(12.322 12.322)scale(.101)"><circle cx="307" cy="532" r="60"/><circle cx="717" cy="532" r="60"/></g></svg>

After

Width:  |  Height:  |  Size: 995 B

View File

@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dt734h2fb7b8p"
path="res://.godot/imported/old_icon.svg-405b1294d87d67ceae80b10d0ad0326b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://old_icon.svg"
dest_files=["res://.godot/imported/old_icon.svg-405b1294d87d67ceae80b10d0ad0326b.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

View File

@@ -0,0 +1,15 @@
; 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="Tilted World"
config/features=PackedStringArray("4.5", "Forward Plus")
config/icon="res://old_icon.svg"

View File

@@ -0,0 +1,9 @@
[gd_scene format=3 uid="uid://dcrkta0lqwdys"]
[node name="Control" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2

View File

@@ -0,0 +1,10 @@
extends Node
@export var next_scene: String = "res://scenes/control.tscn"
func _ready() -> void:
$AnimationPlayer.play("fade_in_out")
func _on_animation_player_animation_finished(anim_name: String) -> void:
if anim_name == "fade_in_out":
get_tree().change_scene_to_file(next_scene)

View File

@@ -0,0 +1 @@
uid://bgunk60wk747g

View File

@@ -0,0 +1,68 @@
[gd_scene load_steps=6 format=3 uid="uid://bsiog87fercwt"]
[ext_resource type="Texture2D" uid="uid://3dgdehdn7fex" path="res://assets/gfx/banner.png" id="1_4ignj"]
[ext_resource type="Script" uid="uid://bgunk60wk747g" path="res://scenes/title.gd" id="1_wosw1"]
[sub_resource type="Animation" id="Animation_4ignj"]
resource_name = "fade_in_out"
length = 5.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("CanvasLayer/FadeRect:modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1.5, 3.5, 5),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 0,
"values": [Color(0, 0, 0, 1), Color(0, 0, 0, 0), Color(0, 0, 0, 0), Color(0, 0, 0, 1)]
}
[sub_resource type="Animation" id="Animation_wosw1"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("CanvasLayer/FadeRect:modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(0, 0, 0, 1)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_p6dhs"]
_data = {
&"RESET": SubResource("Animation_wosw1"),
&"fade_in_out": SubResource("Animation_4ignj")
}
[node name="Title" type="Node"]
script = ExtResource("1_wosw1")
[node name="BackGround" type="TextureRect" parent="."]
offset_left = -50.0
offset_right = 1200.0
offset_bottom = 650.0
texture = ExtResource("1_4ignj")
expand_mode = 3
[node name="CanvasLayer" type="CanvasLayer" parent="."]
[node name="FadeRect" type="ColorRect" parent="CanvasLayer"]
modulate = Color(0, 0, 0, 1)
z_index = 100
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(0, 0, 0, 1)
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_p6dhs")
}