summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkdx <kikoodx@paranoici.org>2023-10-28 22:24:39 +0200
committerkdx <kikoodx@paranoici.org>2023-10-28 22:24:39 +0200
commit57c950c03d1ae9cc59f5abdb5e4825d6a27a1160 (patch)
treed052fdf14d1499442a1bca83c85c4136e73d6d52
downloadgenshin2-57c950c03d1ae9cc59f5abdb5e4825d6a27a1160.tar.gz
oo ee oo
-rw-r--r--.gitattributes2
-rw-r--r--.gitignore2
-rw-r--r--ColorRect.gd13
-rw-r--r--Genshinlogo.gd14
-rw-r--r--Ginga.ttfbin0 -> 257756 bytes
-rw-r--r--Ginga.ttf.import33
-rw-r--r--Globals.gd5
-rw-r--r--Primogemmes.gd17
-rw-r--r--characters.gd15
-rw-r--r--characters.gdshader9
-rw-r--r--characters.tscn60
-rw-r--r--coin.gd22
-rw-r--r--coin.tscn20
-rw-r--r--comicsans.ttfbin0 -> 128244 bytes
-rw-r--r--comicsans.ttf.import33
-rw-r--r--cursor.pngbin0 -> 19569 bytes
-rw-r--r--cursor.png.import34
-rw-r--r--ee.wavbin0 -> 42540 bytes
-rw-r--r--ee.wav.import24
-rw-r--r--export_presets.cfg101
-rw-r--r--game.tscn156
-rw-r--r--genshinlogo.pngbin0 -> 110782 bytes
-rw-r--r--genshinlogo.png.import34
-rw-r--r--icon.svg1
-rw-r--r--icon.svg.import37
-rw-r--r--oo.wavbin0 -> 62524 bytes
-rw-r--r--oo.wav.import24
-rw-r--r--oo2.wavbin0 -> 82036 bytes
-rw-r--r--oo2.wav.import24
-rw-r--r--ost.oggbin0 -> 1873338 bytes
-rw-r--r--ost.ogg.import19
-rw-r--r--player.gd46
-rw-r--r--player.tscn33
-rw-r--r--primogemme.pngbin0 -> 212211 bytes
-rw-r--r--primogemme.png.import34
-rw-r--r--project.godot33
-rw-r--r--venti.pngbin0 -> 173127 bytes
-rw-r--r--venti.png.import34
-rw-r--r--windaube.pngbin0 -> 15100 bytes
-rw-r--r--windaube.png.import34
40 files changed, 913 insertions, 0 deletions
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/ColorRect.gd b/ColorRect.gd
new file mode 100644
index 0000000..b20652d
--- /dev/null
+++ b/ColorRect.gd
@@ -0,0 +1,13 @@
+extends ColorRect
+
+
+# Called when the node enters the scene tree for the first time.
+func _ready() -> void:
+ pass # Replace with function body.
+
+
+# Called every frame. 'delta' is the elapsed time since the previous frame.
+func _process(_delta: float) -> void:
+ color.r = randi_range(0, 1)
+ color.g = color.r
+ color.b = color.r
diff --git a/Genshinlogo.gd b/Genshinlogo.gd
new file mode 100644
index 0000000..9ac3779
--- /dev/null
+++ b/Genshinlogo.gd
@@ -0,0 +1,14 @@
+extends Sprite2D
+
+
+# Called when the node enters the scene tree for the first time.
+func _ready() -> void:
+ pass # Replace with function body.
+
+
+# Called every frame. 'delta' is the elapsed time since the previous frame.
+func _process(delta: float) -> void:
+ rotation += delta * 20
+ modulate.r = randi_range(0, 1)
+ modulate.g = randi_range(0, 1)
+ modulate.b = randi_range(0, 1)
diff --git a/Ginga.ttf b/Ginga.ttf
new file mode 100644
index 0000000..59fbd6a
--- /dev/null
+++ b/Ginga.ttf
Binary files differ
diff --git a/Ginga.ttf.import b/Ginga.ttf.import
new file mode 100644
index 0000000..9236382
--- /dev/null
+++ b/Ginga.ttf.import
@@ -0,0 +1,33 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://dgekwkwx0o0os"
+path="res://.godot/imported/Ginga.ttf-7c3344d8fabecdfb0a5aaf4e061f4fee.fontdata"
+
+[deps]
+
+source_file="res://Ginga.ttf"
+dest_files=["res://.godot/imported/Ginga.ttf-7c3344d8fabecdfb0a5aaf4e061f4fee.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=1
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/Globals.gd b/Globals.gd
new file mode 100644
index 0000000..9310960
--- /dev/null
+++ b/Globals.gd
@@ -0,0 +1,5 @@
+const WIDTH = 2048
+const HEIGHT = 2048
+const LIMITS = Vector2(WIDTH, HEIGHT)
+const LIMITS_MIN = -LIMITS / 2
+const LIMITS_MAX = LIMITS / 2
diff --git a/Primogemmes.gd b/Primogemmes.gd
new file mode 100644
index 0000000..9224276
--- /dev/null
+++ b/Primogemmes.gd
@@ -0,0 +1,17 @@
+extends Label
+
+@onready var ogtext = text
+var count = 0
+
+
+# Called when the node enters the scene tree for the first time.
+func _ready() -> void:
+ pass # Replace with function body.
+
+
+# Called every frame. 'delta' is the elapsed time since the previous frame.
+func _process(_delta: float) -> void:
+ text = ogtext + str(count)
+ modulate.r = randi_range(0, 1)
+ modulate.g = randi_range(0, 1)
+ modulate.b = randi_range(0, 1)
diff --git a/characters.gd b/characters.gd
new file mode 100644
index 0000000..e97d7d2
--- /dev/null
+++ b/characters.gd
@@ -0,0 +1,15 @@
+extends Node2D
+
+@onready var selected: bool = (name == "Characters")
+@export var label: String = "venti"
+
+
+func _ready() -> void:
+ if !selected: label = ""
+
+
+# Called every frame. 'delta' is the elapsed time since the previous frame.
+func _process(delta: float) -> void:
+ $Selected.visible = selected
+ $Unselected.visible = !$Selected.visible
+ $Label.text = label
diff --git a/characters.gdshader b/characters.gdshader
new file mode 100644
index 0000000..1920d93
--- /dev/null
+++ b/characters.gdshader
@@ -0,0 +1,9 @@
+shader_type canvas_item;
+
+float square(float x) { return x * x; }
+
+void fragment() {
+ if (UV.y < 0.1) COLOR.a *= square(UV.y * 10.0);
+ if (UV.y > 0.9) COLOR.a *= square((1. - UV.y) * 10.0);
+ COLOR.a *= 1. - (1. - UV.x) * (1. - UV.x);
+}
diff --git a/characters.tscn b/characters.tscn
new file mode 100644
index 0000000..41761f9
--- /dev/null
+++ b/characters.tscn
@@ -0,0 +1,60 @@
+[gd_scene load_steps=6 format=3 uid="uid://g8m1imvs0g1t"]
+
+[ext_resource type="Script" path="res://characters.gd" id="1_25vn5"]
+[ext_resource type="Shader" path="res://characters.gdshader" id="1_ixwqo"]
+[ext_resource type="FontFile" uid="uid://dy3o3bbglibkp" path="res://comicsans.ttf" id="3_thwx1"]
+
+[sub_resource type="ShaderMaterial" id="ShaderMaterial_43bew"]
+shader = ExtResource("1_ixwqo")
+
+[sub_resource type="LabelSettings" id="LabelSettings_agl8u"]
+font = ExtResource("3_thwx1")
+font_size = 32
+font_color = Color(0, 0, 0, 1)
+
+[node name="Characters" type="Node2D"]
+script = ExtResource("1_25vn5")
+metadata/_edit_group_ = true
+
+[node name="Selected" type="ColorRect" parent="."]
+material = SubResource("ShaderMaterial_43bew")
+custom_minimum_size = Vector2(328, 64)
+anchors_preset = 6
+anchor_left = 1.0
+anchor_top = 0.5
+anchor_right = 1.0
+anchor_bottom = 0.5
+grow_horizontal = 0
+grow_vertical = 2
+
+[node name="Unselected" type="ColorRect" parent="."]
+material = SubResource("ShaderMaterial_43bew")
+custom_minimum_size = Vector2(230, 64)
+anchors_preset = 6
+anchor_left = 1.0
+anchor_top = 0.5
+anchor_right = 1.0
+anchor_bottom = 0.5
+offset_left = -230.0
+offset_top = -32.0
+offset_bottom = 32.0
+grow_horizontal = 0
+grow_vertical = 2
+color = Color(1, 1, 1, 0.207843)
+
+[node name="Label" type="Label" parent="."]
+anchors_preset = 6
+anchor_left = 1.0
+anchor_top = 0.5
+anchor_right = 1.0
+anchor_bottom = 0.5
+offset_left = -96.0
+offset_top = -24.5
+offset_right = -16.0
+offset_bottom = 24.5
+grow_horizontal = 0
+grow_vertical = 2
+text = "venti"
+label_settings = SubResource("LabelSettings_agl8u")
+horizontal_alignment = 2
+vertical_alignment = 1
diff --git a/coin.gd b/coin.gd
new file mode 100644
index 0000000..4d940cb
--- /dev/null
+++ b/coin.gd
@@ -0,0 +1,22 @@
+extends Area2D
+
+@export var attraction_range: float = 0.0
+@export var attraction_speed: float = 0.0
+@onready var player: Area2D = get_node("../Player")
+
+
+func type() -> String: return "coin"
+
+
+func _ready() -> void:
+ rotation = randf()
+
+
+func _process(delta: float) -> void:
+ rotation += delta * 50
+
+
+func _physics_process(_delta: float) -> void:
+ var dist := player.position - position
+ if dist.length() < attraction_range:
+ position += dist.normalized() * attraction_speed
diff --git a/coin.tscn b/coin.tscn
new file mode 100644
index 0000000..d578396
--- /dev/null
+++ b/coin.tscn
@@ -0,0 +1,20 @@
+[gd_scene load_steps=4 format=3 uid="uid://bj48tpvf86kjo"]
+
+[ext_resource type="Script" path="res://coin.gd" id="1_spp6n"]
+[ext_resource type="Texture2D" uid="uid://c4eskf6vh7p3j" path="res://primogemme.png" id="2_4qb30"]
+
+[sub_resource type="CircleShape2D" id="CircleShape2D_a7j1w"]
+radius = 36.0139
+
+[node name="Coin" type="Area2D"]
+script = ExtResource("1_spp6n")
+attraction_range = 256.0
+attraction_speed = 16.0
+metadata/_edit_group_ = true
+
+[node name="Sprite2D" type="Sprite2D" parent="."]
+scale = Vector2(0.1, 0.1)
+texture = ExtResource("2_4qb30")
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+shape = SubResource("CircleShape2D_a7j1w")
diff --git a/comicsans.ttf b/comicsans.ttf
new file mode 100644
index 0000000..da55369
--- /dev/null
+++ b/comicsans.ttf
Binary files differ
diff --git a/comicsans.ttf.import b/comicsans.ttf.import
new file mode 100644
index 0000000..5fa0350
--- /dev/null
+++ b/comicsans.ttf.import
@@ -0,0 +1,33 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://dy3o3bbglibkp"
+path="res://.godot/imported/comicsans.ttf-ce499b19f7b546379d0a74e75e08c283.fontdata"
+
+[deps]
+
+source_file="res://comicsans.ttf"
+dest_files=["res://.godot/imported/comicsans.ttf-ce499b19f7b546379d0a74e75e08c283.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=1
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/cursor.png b/cursor.png
new file mode 100644
index 0000000..784759e
--- /dev/null
+++ b/cursor.png
Binary files differ
diff --git a/cursor.png.import b/cursor.png.import
new file mode 100644
index 0000000..a92684e
--- /dev/null
+++ b/cursor.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bd7rwdav8osn6"
+path="res://.godot/imported/cursor.png-9207886fa5a62b74129e260ee150454e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://cursor.png"
+dest_files=["res://.godot/imported/cursor.png-9207886fa5a62b74129e260ee150454e.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/ee.wav b/ee.wav
new file mode 100644
index 0000000..3d1f2fa
--- /dev/null
+++ b/ee.wav
Binary files differ
diff --git a/ee.wav.import b/ee.wav.import
new file mode 100644
index 0000000..830b91b
--- /dev/null
+++ b/ee.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://dnx38lwh4b34a"
+path="res://.godot/imported/ee.wav-dbbfb50c9cc8ca974bbbbe2a2b848cb3.sample"
+
+[deps]
+
+source_file="res://ee.wav"
+dest_files=["res://.godot/imported/ee.wav-dbbfb50c9cc8ca974bbbbe2a2b848cb3.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=0
diff --git a/export_presets.cfg b/export_presets.cfg
new file mode 100644
index 0000000..5672a82
--- /dev/null
+++ b/export_presets.cfg
@@ -0,0 +1,101 @@
+[preset.0]
+
+name="Linux/X11"
+platform="Linux/X11"
+runnable=true
+dedicated_server=false
+custom_features=""
+export_filter="all_resources"
+include_filter=""
+exclude_filter=""
+export_path="./copium.x86_64"
+encryption_include_filters=""
+encryption_exclude_filters=""
+encrypt_pck=false
+encrypt_directory=false
+
+[preset.0.options]
+
+custom_template/debug=""
+custom_template/release=""
+debug/export_console_wrapper=1
+binary_format/embed_pck=true
+texture_format/bptc=true
+texture_format/s3tc=true
+texture_format/etc=false
+texture_format/etc2=false
+binary_format/architecture="x86_64"
+ssh_remote_deploy/enabled=false
+ssh_remote_deploy/host="user@host_ip"
+ssh_remote_deploy/port="22"
+ssh_remote_deploy/extra_args_ssh=""
+ssh_remote_deploy/extra_args_scp=""
+ssh_remote_deploy/run_script="#!/usr/bin/env bash
+export DISPLAY=:0
+unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
+\"{temp_dir}/{exe_name}\" {cmd_args}"
+ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
+kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\")
+rm -rf \"{temp_dir}\""
+
+[preset.1]
+
+name="Windows Desktop"
+platform="Windows Desktop"
+runnable=true
+dedicated_server=false
+custom_features=""
+export_filter="all_resources"
+include_filter=""
+exclude_filter=""
+export_path="./copium.exe"
+encryption_include_filters=""
+encryption_exclude_filters=""
+encrypt_pck=false
+encrypt_directory=false
+
+[preset.1.options]
+
+custom_template/debug=""
+custom_template/release=""
+debug/export_console_wrapper=1
+binary_format/embed_pck=true
+texture_format/bptc=true
+texture_format/s3tc=true
+texture_format/etc=false
+texture_format/etc2=false
+binary_format/architecture="x86_64"
+codesign/enable=false
+codesign/timestamp=true
+codesign/timestamp_server_url=""
+codesign/digest_algorithm=1
+codesign/description=""
+codesign/custom_options=PackedStringArray()
+application/modify_resources=true
+application/icon=""
+application/console_wrapper_icon=""
+application/icon_interpolation=4
+application/file_version=""
+application/product_version=""
+application/company_name=""
+application/product_name=""
+application/file_description=""
+application/copyright=""
+application/trademarks=""
+ssh_remote_deploy/enabled=false
+ssh_remote_deploy/host="user@host_ip"
+ssh_remote_deploy/port="22"
+ssh_remote_deploy/extra_args_ssh=""
+ssh_remote_deploy/extra_args_scp=""
+ssh_remote_deploy/run_script="Expand-Archive -LiteralPath '{temp_dir}\\{archive_name}' -DestinationPath '{temp_dir}'
+$action = New-ScheduledTaskAction -Execute '{temp_dir}\\{exe_name}' -Argument '{cmd_args}'
+$trigger = New-ScheduledTaskTrigger -Once -At 00:00
+$settings = New-ScheduledTaskSettingsSet
+$task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings
+Register-ScheduledTask godot_remote_debug -InputObject $task -Force:$true
+Start-ScheduledTask -TaskName godot_remote_debug
+while (Get-ScheduledTask -TaskName godot_remote_debug | ? State -eq running) { Start-Sleep -Milliseconds 100 }
+Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue"
+ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue
+Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue
+Remove-Item -Recurse -Force '{temp_dir}'"
diff --git a/game.tscn b/game.tscn
new file mode 100644
index 0000000..d5b1ef3
--- /dev/null
+++ b/game.tscn
@@ -0,0 +1,156 @@
+[gd_scene load_steps=12 format=3 uid="uid://8ps5533ot84q"]
+
+[ext_resource type="PackedScene" uid="uid://c2g45v321qddb" path="res://player.tscn" id="1_3q46r"]
+[ext_resource type="Script" path="res://ColorRect.gd" id="1_kv47q"]
+[ext_resource type="Texture2D" uid="uid://hqxnw5bd6q2c" path="res://genshinlogo.png" id="1_tfg20"]
+[ext_resource type="Script" path="res://Genshinlogo.gd" id="2_8h31p"]
+[ext_resource type="FontFile" uid="uid://dgekwkwx0o0os" path="res://Ginga.ttf" id="2_63wkf"]
+[ext_resource type="PackedScene" uid="uid://bj48tpvf86kjo" path="res://coin.tscn" id="2_qfcfl"]
+[ext_resource type="Script" path="res://Primogemmes.gd" id="3_06iw8"]
+[ext_resource type="PackedScene" uid="uid://g8m1imvs0g1t" path="res://characters.tscn" id="5_cbcae"]
+[ext_resource type="AudioStream" uid="uid://c7pa506xccdyq" path="res://ost.ogg" id="9_bhhfh"]
+[ext_resource type="Texture2D" uid="uid://wvfljynswg5y" path="res://windaube.png" id="9_tsf5s"]
+
+[sub_resource type="LabelSettings" id="LabelSettings_51tlr"]
+font = ExtResource("2_63wkf")
+font_size = 128
+
+[node name="Game" type="Node2D"]
+
+[node name="ColorRect" type="ColorRect" parent="."]
+z_index = -80
+custom_minimum_size = Vector2(2048, 2048)
+anchors_preset = 8
+anchor_left = 0.5
+anchor_top = 0.5
+anchor_right = 0.5
+anchor_bottom = 0.5
+offset_left = -800.0
+offset_top = -600.0
+offset_right = 800.0
+offset_bottom = 600.0
+grow_horizontal = 2
+grow_vertical = 2
+color = Color(0, 0, 0, 1)
+script = ExtResource("1_kv47q")
+
+[node name="CanvasUI" type="CanvasLayer" parent="."]
+
+[node name="UI" type="Control" parent="CanvasUI"]
+visibility_layer = 2
+z_index = 69
+custom_minimum_size = Vector2(1280, 960)
+layout_mode = 3
+anchors_preset = 0
+offset_right = 1280.0
+offset_bottom = 960.0
+
+[node name="Primogemmes" type="Label" parent="CanvasUI/UI"]
+layout_mode = 1
+anchors_preset = 1
+anchor_left = 1.0
+anchor_right = 1.0
+offset_left = -813.0
+offset_right = -40.0
+offset_bottom = 150.0
+grow_horizontal = 0
+text = "PRIMOGMEES: "
+label_settings = SubResource("LabelSettings_51tlr")
+horizontal_alignment = 2
+script = ExtResource("3_06iw8")
+
+[node name="Windaube" type="Sprite2D" parent="CanvasUI/UI"]
+position = Vector2(1056, 877)
+scale = Vector2(1.5, 1.5)
+texture = ExtResource("9_tsf5s")
+
+[node name="Characters" parent="CanvasUI/UI" instance=ExtResource("5_cbcae")]
+position = Vector2(1280, 320)
+
+[node name="Characters2" parent="CanvasUI/UI" instance=ExtResource("5_cbcae")]
+position = Vector2(1280, 400)
+
+[node name="Characters3" parent="CanvasUI/UI" instance=ExtResource("5_cbcae")]
+position = Vector2(1280, 480)
+
+[node name="Characters4" parent="CanvasUI/UI" instance=ExtResource("5_cbcae")]
+position = Vector2(1281, 559)
+
+[node name="Genshinlogo" type="Sprite2D" parent="."]
+texture = ExtResource("1_tfg20")
+script = ExtResource("2_8h31p")
+
+[node name="Player" parent="." instance=ExtResource("1_3q46r")]
+
+[node name="Camera2D" type="Camera2D" parent="Player"]
+editor_draw_screen = false
+
+[node name="ColorRect" type="ColorRect" parent="Player/Camera2D"]
+z_index = -100
+custom_minimum_size = Vector2(1600, 1200)
+anchors_preset = 8
+anchor_left = 0.5
+anchor_top = 0.5
+anchor_right = 0.5
+anchor_bottom = 0.5
+offset_left = -800.0
+offset_top = -600.0
+offset_right = 800.0
+offset_bottom = 600.0
+grow_horizontal = 2
+grow_vertical = 2
+color = Color(0, 0, 0, 1)
+script = ExtResource("1_kv47q")
+
+[node name="s" type="AudioStreamPlayer2D" parent="Player"]
+stream = ExtResource("9_bhhfh")
+volume_db = -6.597
+autoplay = true
+
+[node name="Coin" parent="." instance=ExtResource("2_qfcfl")]
+position = Vector2(-132, -375)
+
+[node name="Coin2" parent="." instance=ExtResource("2_qfcfl")]
+position = Vector2(-155, -224)
+
+[node name="Coin3" parent="." instance=ExtResource("2_qfcfl")]
+position = Vector2(-397, -423)
+
+[node name="Coin4" parent="." instance=ExtResource("2_qfcfl")]
+position = Vector2(-405, -163)
+
+[node name="Coin5" parent="." instance=ExtResource("2_qfcfl")]
+position = Vector2(-389, -9)
+
+[node name="Coin6" parent="." instance=ExtResource("2_qfcfl")]
+position = Vector2(-92, 17)
+
+[node name="Coin16" parent="." instance=ExtResource("2_qfcfl")]
+position = Vector2(334, -205)
+
+[node name="Coin15" parent="." instance=ExtResource("2_qfcfl")]
+position = Vector2(167, -106)
+
+[node name="Coin14" parent="." instance=ExtResource("2_qfcfl")]
+position = Vector2(256, 78)
+
+[node name="Coin13" parent="." instance=ExtResource("2_qfcfl")]
+position = Vector2(313, 239)
+
+[node name="Coin12" parent="." instance=ExtResource("2_qfcfl")]
+position = Vector2(-467, 356)
+
+[node name="Coin11" parent="." instance=ExtResource("2_qfcfl")]
+position = Vector2(115, 385)
+
+[node name="Coin10" parent="." instance=ExtResource("2_qfcfl")]
+position = Vector2(-161, 392)
+
+[node name="Coin9" parent="." instance=ExtResource("2_qfcfl")]
+position = Vector2(78, 208)
+
+[node name="Coin8" parent="." instance=ExtResource("2_qfcfl")]
+position = Vector2(-341, 201)
+
+[node name="Coin7" parent="." instance=ExtResource("2_qfcfl")]
+position = Vector2(39, -55)
diff --git a/genshinlogo.png b/genshinlogo.png
new file mode 100644
index 0000000..f940457
--- /dev/null
+++ b/genshinlogo.png
Binary files differ
diff --git a/genshinlogo.png.import b/genshinlogo.png.import
new file mode 100644
index 0000000..abb9330
--- /dev/null
+++ b/genshinlogo.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://hqxnw5bd6q2c"
+path="res://.godot/imported/genshinlogo.png-7a8ae3d7976ac375bf8d6a1233228207.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://genshinlogo.png"
+dest_files=["res://.godot/imported/genshinlogo.png-7a8ae3d7976ac375bf8d6a1233228207.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..adc26df
--- /dev/null
+++ b/icon.svg
@@ -0,0 +1 @@
+<svg height="128" width="128" xmlns="http://www.w3.org/2000/svg"><g transform="translate(32 32)"><path d="m-16-32c-8.86 0-16 7.13-16 15.99v95.98c0 8.86 7.13 15.99 16 15.99h96c8.86 0 16-7.13 16-15.99v-95.98c0-8.85-7.14-15.99-16-15.99z" fill="#363d52"/><path d="m-16-32c-8.86 0-16 7.13-16 15.99v95.98c0 8.86 7.13 15.99 16 15.99h96c8.86 0 16-7.13 16-15.99v-95.98c0-8.85-7.14-15.99-16-15.99zm0 4h96c6.64 0 12 5.35 12 11.99v95.98c0 6.64-5.35 11.99-12 11.99h-96c-6.64 0-12-5.35-12-11.99v-95.98c0-6.64 5.36-11.99 12-11.99z" fill-opacity=".4"/></g><g stroke-width="9.92746" transform="matrix(.10073078 0 0 .10073078 12.425923 2.256365)"><path d="m0 0s-.325 1.994-.515 1.976l-36.182-3.491c-2.879-.278-5.115-2.574-5.317-5.459l-.994-14.247-27.992-1.997-1.904 12.912c-.424 2.872-2.932 5.037-5.835 5.037h-38.188c-2.902 0-5.41-2.165-5.834-5.037l-1.905-12.912-27.992 1.997-.994 14.247c-.202 2.886-2.438 5.182-5.317 5.46l-36.2 3.49c-.187.018-.324-1.978-.511-1.978l-.049-7.83 30.658-4.944 1.004-14.374c.203-2.91 2.551-5.263 5.463-5.472l38.551-2.75c.146-.01.29-.016.434-.016 2.897 0 5.401 2.166 5.825 5.038l1.959 13.286h28.005l1.959-13.286c.423-2.871 2.93-5.037 5.831-5.037.142 0 .284.005.423.015l38.556 2.75c2.911.209 5.26 2.562 5.463 5.472l1.003 14.374 30.645 4.966z" fill="#fff" transform="matrix(4.162611 0 0 -4.162611 919.24059 771.67186)"/><path d="m0 0v-47.514-6.035-5.492c.108-.001.216-.005.323-.015l36.196-3.49c1.896-.183 3.382-1.709 3.514-3.609l1.116-15.978 31.574-2.253 2.175 14.747c.282 1.912 1.922 3.329 3.856 3.329h38.188c1.933 0 3.573-1.417 3.855-3.329l2.175-14.747 31.575 2.253 1.115 15.978c.133 1.9 1.618 3.425 3.514 3.609l36.182 3.49c.107.01.214.014.322.015v4.711l.015.005v54.325c5.09692 6.4164715 9.92323 13.494208 13.621 19.449-5.651 9.62-12.575 18.217-19.976 26.182-6.864-3.455-13.531-7.369-19.828-11.534-3.151 3.132-6.7 5.694-10.186 8.372-3.425 2.751-7.285 4.768-10.946 7.118 1.09 8.117 1.629 16.108 1.846 24.448-9.446 4.754-19.519 7.906-29.708 10.17-4.068-6.837-7.788-14.241-11.028-21.479-3.842.642-7.702.88-11.567.926v.006c-.027 0-.052-.006-.075-.006-.024 0-.049.006-.073.006v-.006c-3.872-.046-7.729-.284-11.572-.926-3.238 7.238-6.956 14.642-11.03 21.479-10.184-2.264-20.258-5.416-29.703-10.17.216-8.34.755-16.331 1.848-24.448-3.668-2.35-7.523-4.367-10.949-7.118-3.481-2.678-7.036-5.24-10.188-8.372-6.297 4.165-12.962 8.079-19.828 11.534-7.401-7.965-14.321-16.562-19.974-26.182 4.4426579-6.973692 9.2079702-13.9828876 13.621-19.449z" fill="#478cbf" transform="matrix(4.162611 0 0 -4.162611 104.69892 525.90697)"/><path d="m0 0-1.121-16.063c-.135-1.936-1.675-3.477-3.611-3.616l-38.555-2.751c-.094-.007-.188-.01-.281-.01-1.916 0-3.569 1.406-3.852 3.33l-2.211 14.994h-31.459l-2.211-14.994c-.297-2.018-2.101-3.469-4.133-3.32l-38.555 2.751c-1.936.139-3.476 1.68-3.611 3.616l-1.121 16.063-32.547 3.138c.015-3.498.06-7.33.06-8.093 0-34.374 43.605-50.896 97.781-51.086h.066.067c54.176.19 97.766 16.712 97.766 51.086 0 .777.047 4.593.063 8.093z" fill="#478cbf" transform="matrix(4.162611 0 0 -4.162611 784.07144 817.24284)"/><path d="m0 0c0-12.052-9.765-21.815-21.813-21.815-12.042 0-21.81 9.763-21.81 21.815 0 12.044 9.768 21.802 21.81 21.802 12.048 0 21.813-9.758 21.813-21.802" fill="#fff" transform="matrix(4.162611 0 0 -4.162611 389.21484 625.67104)"/><path d="m0 0c0-7.994-6.479-14.473-14.479-14.473-7.996 0-14.479 6.479-14.479 14.473s6.483 14.479 14.479 14.479c8 0 14.479-6.485 14.479-14.479" fill="#414042" transform="matrix(4.162611 0 0 -4.162611 367.36686 631.05679)"/><path d="m0 0c-3.878 0-7.021 2.858-7.021 6.381v20.081c0 3.52 3.143 6.381 7.021 6.381s7.028-2.861 7.028-6.381v-20.081c0-3.523-3.15-6.381-7.028-6.381" fill="#fff" transform="matrix(4.162611 0 0 -4.162611 511.99336 724.73954)"/><path d="m0 0c0-12.052 9.765-21.815 21.815-21.815 12.041 0 21.808 9.763 21.808 21.815 0 12.044-9.767 21.802-21.808 21.802-12.05 0-21.815-9.758-21.815-21.802" fill="#fff" transform="matrix(4.162611 0 0 -4.162611 634.78706 625.67104)"/><path d="m0 0c0-7.994 6.477-14.473 14.471-14.473 8.002 0 14.479 6.479 14.479 14.473s-6.477 14.479-14.479 14.479c-7.994 0-14.471-6.485-14.471-14.479" fill="#414042" transform="matrix(4.162611 0 0 -4.162611 656.64056 631.05679)"/></g></svg>
diff --git a/icon.svg.import b/icon.svg.import
new file mode 100644
index 0000000..dae2fe8
--- /dev/null
+++ b/icon.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cb6cm0peb3ilr"
+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/oo.wav b/oo.wav
new file mode 100644
index 0000000..0b314ea
--- /dev/null
+++ b/oo.wav
Binary files differ
diff --git a/oo.wav.import b/oo.wav.import
new file mode 100644
index 0000000..fa591cf
--- /dev/null
+++ b/oo.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://siphq0i4rti2"
+path="res://.godot/imported/oo.wav-89aad441fb06a9e4901eb708873c7156.sample"
+
+[deps]
+
+source_file="res://oo.wav"
+dest_files=["res://.godot/imported/oo.wav-89aad441fb06a9e4901eb708873c7156.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=0
diff --git a/oo2.wav b/oo2.wav
new file mode 100644
index 0000000..ccb8e9c
--- /dev/null
+++ b/oo2.wav
Binary files differ
diff --git a/oo2.wav.import b/oo2.wav.import
new file mode 100644
index 0000000..1a6cf06
--- /dev/null
+++ b/oo2.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://xbua3i4neqg5"
+path="res://.godot/imported/oo2.wav-3f24eb68d07864cda136acf40bd8fe7d.sample"
+
+[deps]
+
+source_file="res://oo2.wav"
+dest_files=["res://.godot/imported/oo2.wav-3f24eb68d07864cda136acf40bd8fe7d.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=0
diff --git a/ost.ogg b/ost.ogg
new file mode 100644
index 0000000..d5f34e1
--- /dev/null
+++ b/ost.ogg
Binary files differ
diff --git a/ost.ogg.import b/ost.ogg.import
new file mode 100644
index 0000000..5194f55
--- /dev/null
+++ b/ost.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://c7pa506xccdyq"
+path="res://.godot/imported/ost.ogg-e66cefaaddf28b742887cf6e5d98ada9.oggvorbisstr"
+
+[deps]
+
+source_file="res://ost.ogg"
+dest_files=["res://.godot/imported/ost.ogg-e66cefaaddf28b742887cf6e5d98ada9.oggvorbisstr"]
+
+[params]
+
+loop=true
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/player.gd b/player.gd
new file mode 100644
index 0000000..17bedea
--- /dev/null
+++ b/player.gd
@@ -0,0 +1,46 @@
+extends Area2D
+
+@export var speed := 2.0
+@onready var primogemmes = get_node("../CanvasUI/UI/Primogemmes")
+@onready var sfxs = [ $SfxOO, $SfxEE, $SfxOO2 ]
+@onready var sfx = 0
+
+
+func type() -> String: return "player"
+
+
+# Called when the node enters the scene tree for the first time.
+func _ready() -> void:
+ pass
+
+
+func get_input() -> Vector2:
+ var vec := Vector2.ZERO
+ if Input.is_action_pressed("ui_left"): vec.x -= 1
+ if Input.is_action_pressed("ui_right"): vec.x += 1
+ if Input.is_action_pressed("ui_up"): vec.y -= 1
+ if Input.is_action_pressed("ui_down"): vec.y += 1
+ return vec
+
+
+# Called every frame. 'delta' is the elapsed time since the previous frame.
+func _physics_process(_delta2: float) -> void:
+ if get_local_mouse_position().length() >= speed * 1.5:
+ position += get_local_mouse_position().normalized() * speed
+ position = position.clamp(Globals.LIMITS_MIN, Globals.LIMITS_MAX)
+ #var color := Color()
+ #color.r = randi() % 2
+ #color.g = randi() % 2
+ #color.b = randi() % 2
+ #material.set_shader_parameter("color", color)
+
+
+
+func _on_area_entered(area: Area2D) -> void:
+ match area.type():
+ "coin":
+ area.queue_free()
+ sfxs[sfx].play()
+ sfx = (sfx + 1) % len(sfxs)
+ primogemmes.count += 1
+ $Sprite2D.rotation_degrees += 90
diff --git a/player.tscn b/player.tscn
new file mode 100644
index 0000000..f788c52
--- /dev/null
+++ b/player.tscn
@@ -0,0 +1,33 @@
+[gd_scene load_steps=7 format=3 uid="uid://c2g45v321qddb"]
+
+[ext_resource type="Script" path="res://player.gd" id="1_tleme"]
+[ext_resource type="Texture2D" uid="uid://c0fftnutausax" path="res://venti.png" id="2_f564p"]
+[ext_resource type="AudioStream" uid="uid://siphq0i4rti2" path="res://oo.wav" id="3_0gvk7"]
+[ext_resource type="AudioStream" uid="uid://dnx38lwh4b34a" path="res://ee.wav" id="4_on1ta"]
+[ext_resource type="AudioStream" uid="uid://xbua3i4neqg5" path="res://oo2.wav" id="5_be6a0"]
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_kt8c8"]
+size = Vector2(128, 128)
+
+[node name="Player" type="Area2D"]
+script = ExtResource("1_tleme")
+speed = 8.0
+metadata/_edit_group_ = true
+
+[node name="Sprite2D" type="Sprite2D" parent="."]
+scale = Vector2(0.4, 0.4)
+texture = ExtResource("2_f564p")
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+shape = SubResource("RectangleShape2D_kt8c8")
+
+[node name="SfxOO" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("3_0gvk7")
+
+[node name="SfxEE" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("4_on1ta")
+
+[node name="SfxOO2" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("5_be6a0")
+
+[connection signal="area_entered" from="." to="." method="_on_area_entered"]
diff --git a/primogemme.png b/primogemme.png
new file mode 100644
index 0000000..2709bbd
--- /dev/null
+++ b/primogemme.png
Binary files differ
diff --git a/primogemme.png.import b/primogemme.png.import
new file mode 100644
index 0000000..e6482df
--- /dev/null
+++ b/primogemme.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c4eskf6vh7p3j"
+path="res://.godot/imported/primogemme.png-cdb95d65e2c2ea5040024071f35e4667.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://primogemme.png"
+dest_files=["res://.godot/imported/primogemme.png-cdb95d65e2c2ea5040024071f35e4667.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/project.godot b/project.godot
new file mode 100644
index 0000000..166ef9a
--- /dev/null
+++ b/project.godot
@@ -0,0 +1,33 @@
+; 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="copium"
+run/main_scene="res://game.tscn"
+config/features=PackedStringArray("4.1", "GL Compatibility")
+config/icon="res://icon.svg"
+
+[autoload]
+
+Globals="*res://Globals.gd"
+
+[display]
+
+window/size/viewport_width=1280
+window/size/viewport_height=960
+window/stretch/mode="canvas_items"
+mouse_cursor/custom_image="res://cursor.png"
+
+[rendering]
+
+renderer/rendering_method="gl_compatibility"
+renderer/rendering_method.mobile="gl_compatibility"
+environment/defaults/default_clear_color=Color(0, 0, 0, 1)
diff --git a/venti.png b/venti.png
new file mode 100644
index 0000000..97901fa
--- /dev/null
+++ b/venti.png
Binary files differ
diff --git a/venti.png.import b/venti.png.import
new file mode 100644
index 0000000..af297bf
--- /dev/null
+++ b/venti.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c0fftnutausax"
+path="res://.godot/imported/venti.png-ee1b1a47b12da75cb91dabbe9c70519b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://venti.png"
+dest_files=["res://.godot/imported/venti.png-ee1b1a47b12da75cb91dabbe9c70519b.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/windaube.png b/windaube.png
new file mode 100644
index 0000000..edbe144
--- /dev/null
+++ b/windaube.png
Binary files differ
diff --git a/windaube.png.import b/windaube.png.import
new file mode 100644
index 0000000..033ad1b
--- /dev/null
+++ b/windaube.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://wvfljynswg5y"
+path="res://.godot/imported/windaube.png-666e99a9267b1d4423c0d59ae37f6dcf.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://windaube.png"
+dest_files=["res://.godot/imported/windaube.png-666e99a9267b1d4423c0d59ae37f6dcf.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