Compare commits
2 Commits
601bc649dd
...
ca67fc6ec3
| Author | SHA1 | Date | |
|---|---|---|---|
| ca67fc6ec3 | |||
| 81e6ceb003 |
+6
-2
@@ -10,7 +10,9 @@
|
||||
.godot/
|
||||
|
||||
# Android build template directory generated by the editor
|
||||
android/
|
||||
# (the .gdignore file is kept; everything else under android/ is build output)
|
||||
android/*
|
||||
!android/.gdignore
|
||||
|
||||
export.cfg
|
||||
|
||||
@@ -65,7 +67,9 @@ $RECYCLE.BIN/
|
||||
# End of https://www.toptal.com/developers/gitignore/api/godot,linux,windows
|
||||
|
||||
# Ignore folders releases and build Android
|
||||
releases
|
||||
# (the .gdignore marker is tracked so Godot skips scanning this directory)
|
||||
releases/*
|
||||
!releases/.gdignore
|
||||
|
||||
# Ignore override godot
|
||||
override.cfg
|
||||
|
||||
@@ -0,0 +1,171 @@
|
||||
# Puzzle Quest
|
||||
|
||||
Hidden-object game built with **Godot 4.6** (single renderer: Forward+).
|
||||
Branched from a Godot 3.3 codebase — migration is recent, expect leftover
|
||||
Godot-3-isms to occasionally surface.
|
||||
|
||||
## Run
|
||||
|
||||
```
|
||||
godot --editor # open project in the editor
|
||||
godot # run the main scene (scenes/Main.tscn)
|
||||
```
|
||||
|
||||
The system package `godot` (Arch `extra/godot`) is the project's Godot. There
|
||||
is no in-repo Godot binary.
|
||||
|
||||
## Architecture
|
||||
|
||||
**Autoloads** (declared in `project.godot [autoload]`, loaded in this order):
|
||||
|
||||
| Name | Source | Role |
|
||||
|------------------|---------------------------------------|-------------------------------------------------------------------|
|
||||
| `Loading` | `scenes/UI/loading/Loading.tscn` | Full-screen transition overlay (BG + animated border + progress) |
|
||||
| `Global` | `scripts/Global.gd` | Async scene loader (`goto_scene(path)`) + `database` reference |
|
||||
| `Setting` | `scripts/Setting.gd` | Reads/writes the settings table; applies locale/resolution/fullscreen |
|
||||
| `Event` | `scripts/Event.gd` | Static handlers connected to scene buttons (Warcraft / Home / reset / back) |
|
||||
| `GlobalAnimation`| `scripts/Animation.gd` | Tween-based dissolve + HUD slide/warning animations |
|
||||
|
||||
**Database (`scripts/Database.gd`)**
|
||||
|
||||
- Plain JSON at `db/ahog.json`. Three tables: `settings`, `levels`, `scenes`.
|
||||
- On Android the file is copied once to `user://database.json` and written
|
||||
there (game saves modify lock state per item).
|
||||
- `Global.database` is a `Database.DB` instance exposing
|
||||
`get_table_by_name(name)` and `save_db()`. Each `Table` exposes
|
||||
`get_data_at_row_idx(row_id)`, `edit_data(prop_id, row_id, value)`,
|
||||
`m_rows_count`, `get_data_by_prop_name_and_data(prop_name, value)`,
|
||||
`get_dictionary_by_prop_name_and_data(prop_name, value)`.
|
||||
- `db/M*.gd` are typed accessors (MBase / MScene / MLevel / MSetting) that
|
||||
read rows via the API above — extend these, not the JSON shape directly.
|
||||
|
||||
**Scene transitions** (`Global.goto_scene(path)`)
|
||||
|
||||
Uses `ResourceLoader.load_threaded_request` + `load_threaded_get_status` +
|
||||
`load_threaded_get` (Godot 4 API; the original `load_interactive`/`poll()`
|
||||
was removed). The Loading overlay (autoload) plays `BorderAnim` while the
|
||||
new scene loads in a background thread; `Event._loading_is_started/finished`
|
||||
flip `Global.loaded` so the poll only runs once the entry animation has set
|
||||
the boolean. Don't call `current_scene.queue_free()` outside this function
|
||||
— it will leak the resource and break the loader state.
|
||||
|
||||
**Levels.tscn / level scenes**
|
||||
|
||||
`scenes/levels/Levels.tscn` is the shared shell; concrete levels
|
||||
(`warcraft/WarCraft.tscn`, `home/Home.tscn`) inherit from it. Each scene
|
||||
has a `HiddenObjectsItems/<Item>` `MeshInstance3D` with an `Area3D`
|
||||
collision shape; clicking it triggers `Levels._check_collider` →
|
||||
`_start_dissolve(name)` → `GlobalAnimation.start_dissolve(mesh, material)`
|
||||
which runs the dissolve shader on `material.dissolve_amount`.
|
||||
|
||||
The runtime hidden-object list lives under
|
||||
`scenes/levels/parts/ListObjects.tscn` and is populated dynamically from
|
||||
the `scenes` table for the current `Global.current_scene_int`.
|
||||
|
||||
## Migration notes (Godot 3 → 4)
|
||||
|
||||
The conversion is mostly done but a few classes of mistake keep surfacing
|
||||
because `godot --convert-3to4` does not handle them:
|
||||
|
||||
- **Label**: `align/valign` → `horizontal_alignment/vertical_alignment`.
|
||||
- **Button**: `pressed` (property) → `button_pressed`; `set_pressed()` →
|
||||
assignment to `button_pressed`. The `pressed` *signal* still exists.
|
||||
- **ScrollContainer**: `scroll_horizontal_enabled = false` →
|
||||
`horizontal_scroll_mode = 0` (and same for vertical). ScrollContainer
|
||||
also ships a non-empty default panel style in Godot 4 — set
|
||||
`theme_override_styles/panel = StyleBoxEmpty` if you need transparency.
|
||||
- **TextureRect / TextureButton**: `expand = true` → `expand_mode = 1`.
|
||||
`stretch_mode` enum values **shifted down by 1** between 3 and 4 (the
|
||||
deprecated "Scale on Expand" at index 0 was removed): G3's Tile (2) is
|
||||
G4's Tile (1), G3's Keep (3) is G4's Keep (2), etc.
|
||||
- **Environment**: `background_mode` enum changed (G3 3=Sky → G4 2=Sky;
|
||||
G4 3 is Canvas which renders black). `background_sky` → `sky`;
|
||||
`background_energy` → `background_energy_multiplier`;
|
||||
`fog_color` → `fog_light_color`; `fog_height_min` → `fog_height`;
|
||||
`fog_mode = 1` (Depth) needed to keep `fog_depth_*` semantics, otherwise
|
||||
Godot 4 falls back to dense `fog_density` exponential fog.
|
||||
- **AnimationPlayer**: `add_animation(name, anim)` removed — go through
|
||||
`get_animation_library("")` (create one with `add_animation_library("")`
|
||||
if it returns null) and call `lib.add_animation(name, anim)`.
|
||||
- **Tween**: no longer a Node — call `create_tween()` from any Node and use
|
||||
`tween.tween_method(...)`. Delete any `[node type="Tween"]` from older
|
||||
`.tscn` files (the loader will crash otherwise).
|
||||
- **PhysicsRayQuery**: `space_state.intersect_ray(from, to, ...)` →
|
||||
`PhysicsRayQueryParameters3D.create(from, to)`, set fields, then
|
||||
`space_state.intersect_ray(query)`.
|
||||
- **PackedScene.instance()** → `instantiate()`.
|
||||
- **String / cast operators**: `String(x)` constructor doesn't exist — use
|
||||
`str(x)`. `x as int/String/bool` does **not** parse strings — use
|
||||
`int(s)`, `str(x)`, `bool(int(s))`.
|
||||
- **Internationalization**: project setting is `[internationalization]
|
||||
locale/translations=...`, not `[locale] translations=...`. Locale codes
|
||||
must match `.po` filenames exactly (`fr.po` → `"fr"`; G3-style `fr_FR`
|
||||
no longer auto-falls-back).
|
||||
- **Inherited scenes**: nodes from an instanced child scene need
|
||||
`layout_mode = 1` + `anchors_preset = 15` explicitly set in the parent
|
||||
scene file, otherwise Godot 4 treats them as Position-mode and zeroes
|
||||
the anchors. Watch for stale per-Label `layout_mode = 0` /
|
||||
`anchor_right = 0` overrides in Main.tscn-style parent scenes.
|
||||
|
||||
## Plugins
|
||||
|
||||
- `addons/lod/` — Calinou's Level-of-Detail plugin (Spatial / OmniLight /
|
||||
SpotLight / Particles → 3D variants). Class declarations use the Godot 4
|
||||
form (`@icon("...") class_name X` + `extends Node3D` separately).
|
||||
- `addons/godot_db_manager/` — **removed during migration**. Don't restore
|
||||
it; it relies on `WindowDialog`/`Tabs`/`PopupPanel` which were dropped in
|
||||
Godot 4. The replacement is `scripts/Database.gd` (see above).
|
||||
|
||||
## Custom shaders / materials
|
||||
|
||||
Drop-in shaders live in `.material` resources (binary `RSCC` format) next
|
||||
to each prop. `scripts/migrate_shaders.gd` is a one-shot tool that walks
|
||||
`assets/` and rewrites the embedded shader code (Godot 3 → 4 keyword
|
||||
renames: `depth_draw_alpha_prepass`, `hint_color`, `NORMALMAP`). Re-run it
|
||||
with `godot --headless --script scripts/migrate_shaders.gd` after adding
|
||||
new materials authored in Godot 3.
|
||||
|
||||
`assets/fonts/text_outline.material` is a VisualShader graph from Godot 3
|
||||
that doesn't connect cleanly in 4 (out-of-bounds `p_from_port` errors,
|
||||
COLOR never written). It has been detached from the Summary menu labels;
|
||||
re-author it with Godot 4's built-in `theme_override_constants/outline_size`
|
||||
+ `theme_override_colors/font_outline_color` instead.
|
||||
|
||||
## Known visual issues to revisit
|
||||
|
||||
- **Baked lightmap is gone.** `scenes/levels/warcraft/WarCraft.lmbake` is
|
||||
in Godot 3's binary format (incompatible). The `LightmapGI` node still
|
||||
exists in `WarCraft.tscn` but its `light_data` reference is cleared.
|
||||
Open the scene in the editor and re-bake (Scene → Bake Lightmaps).
|
||||
- **`assets/ui/themes/tab_select/UI-level-btn-shadow.png`** is 83% opaque
|
||||
black with feathered edges (a drop-shadow texture). In Godot 4 it
|
||||
renders stretched and opaque, which looked like a black square below
|
||||
each level tile, so its `BackgroundTile` TextureRect is currently
|
||||
`visible = false`. Replace with a proper 9-patch / shader if the shadow
|
||||
effect is wanted.
|
||||
- `developers/aurelien/` is a sandbox — files there (`ui_scrolls.tscn`,
|
||||
`ui_tile.tscn`, `CheckLightmap.tscn`) still use Godot-3 property names
|
||||
in places. Not on the main flow, low priority.
|
||||
|
||||
## CI
|
||||
|
||||
Build pipeline is in `releases/.drone.yml`. The Docker images still pin
|
||||
`barichello/godot-ci:3.3.2` and a custom `devcrea/godot-ci:3.3.2-android`
|
||||
— **bump these to a 4.x image** before relying on CI builds again. Butler
|
||||
push targets `dev-crea/ahog:windows|android|linux|mac` on itch.io.
|
||||
|
||||
Branches: default `dev`, releases from `main`. Long-running migration work
|
||||
on `feature/godot-migration`.
|
||||
|
||||
## Conventions
|
||||
|
||||
- Don't commit `db/ahog.json` runtime mutations (lock progress saved
|
||||
during play). The README documents using `git update-index --skip-worktree`
|
||||
but the cleaner alternative is just to `git checkout db/ahog.json`
|
||||
before staging.
|
||||
- `android/`, `.godot/`, and `releases/` are in `.gitignore`. The
|
||||
`.import` sidecars next to assets **are** committed (they carry the
|
||||
stable UIDs Godot 4 generates).
|
||||
- Commit messages: imperative, English, explain the *why* (especially for
|
||||
migration commits — the next person reading the diff won't have the
|
||||
Godot 3 context).
|
||||
@@ -23,7 +23,7 @@ var refresh_rate := 0.25
|
||||
# Positive values will decrease the detail level and improve performance.
|
||||
# Negative values will improve visual appearance at the cost of performance.
|
||||
# This can overridden by setting the project setting `lod/bias`.
|
||||
var lod_bias := 0.0
|
||||
var lod_distance_bias := 0.0
|
||||
|
||||
# The internal refresh timer.
|
||||
var timer := 0.0
|
||||
@@ -31,7 +31,7 @@ var timer := 0.0
|
||||
|
||||
func _ready() -> void:
|
||||
if ProjectSettings.has_setting("lod/particle_bias"):
|
||||
lod_bias = ProjectSettings.get_setting("lod/particle_bias")
|
||||
lod_distance_bias = ProjectSettings.get_setting("lod/particle_bias")
|
||||
if ProjectSettings.has_setting("lod/refresh_rate"):
|
||||
refresh_rate = ProjectSettings.get_setting("lod/refresh_rate")
|
||||
|
||||
@@ -56,5 +56,5 @@ func _physics_process(delta: float) -> void:
|
||||
|
||||
timer = 0.0
|
||||
|
||||
var distance := camera.global_transform.origin.distance_to(global_transform.origin) + lod_bias
|
||||
var distance := camera.global_transform.origin.distance_to(global_transform.origin) + lod_distance_bias
|
||||
emitting = distance < max_emit_distance
|
||||
|
||||
@@ -36,7 +36,7 @@ var refresh_rate := 0.05
|
||||
# Positive values will decrease the detail level and improve performance.
|
||||
# Negative values will improve visual appearance at the cost of performance.
|
||||
# This can overridden by setting the project setting `lod/bias`.
|
||||
var lod_bias := 0.0
|
||||
var lod_distance_bias := 0.0
|
||||
|
||||
# The internal refresh timer.
|
||||
var timer := 0.0
|
||||
@@ -47,7 +47,7 @@ var base_light_energy := light_energy
|
||||
|
||||
func _ready() -> void:
|
||||
if ProjectSettings.has_setting("lod/light_bias"):
|
||||
lod_bias = ProjectSettings.get_setting("lod/light_bias")
|
||||
lod_distance_bias = ProjectSettings.get_setting("lod/light_bias")
|
||||
if ProjectSettings.has_setting("lod/light_refresh_rate"):
|
||||
refresh_rate = ProjectSettings.get_setting("lod/light_refresh_rate")
|
||||
|
||||
@@ -72,7 +72,7 @@ func _physics_process(delta: float) -> void:
|
||||
|
||||
timer = 0.0
|
||||
|
||||
var distance := camera.global_transform.origin.distance_to(global_transform.origin) + lod_bias
|
||||
var distance := camera.global_transform.origin.distance_to(global_transform.origin) + lod_distance_bias
|
||||
|
||||
visible = distance < light_max_distance
|
||||
var light_fade_start_distance := light_max_distance * light_fade_start
|
||||
@@ -83,11 +83,3 @@ func _physics_process(delta: float) -> void:
|
||||
light_energy = base_light_energy
|
||||
|
||||
shadow_enabled = distance < shadow_max_distance
|
||||
var shadow_fade_start_distance := shadow_max_distance * shadow_fade_start
|
||||
var shadow_value: float
|
||||
if distance > shadow_fade_start_distance:
|
||||
shadow_value = min(1, (distance - shadow_fade_start_distance) / (shadow_max_distance - shadow_fade_start_distance))
|
||||
else:
|
||||
# We're close enough to the light to show its shadow at full darkness.
|
||||
shadow_value = 0.0
|
||||
shadow_color = Color(shadow_value, shadow_value, shadow_value)
|
||||
|
||||
@@ -23,7 +23,7 @@ var refresh_rate := 0.25
|
||||
# Positive values will decrease the detail level and improve performance.
|
||||
# Negative values will improve visual appearance at the cost of performance.
|
||||
# This can overridden by setting the project setting `lod/bias`.
|
||||
var lod_bias := 0.0
|
||||
var lod_distance_bias := 0.0
|
||||
|
||||
# The internal refresh timer.
|
||||
var timer := 0.0
|
||||
@@ -31,7 +31,7 @@ var timer := 0.0
|
||||
|
||||
func _ready() -> void:
|
||||
if ProjectSettings.has_setting("lod/particle_bias"):
|
||||
lod_bias = ProjectSettings.get_setting("lod/particle_bias")
|
||||
lod_distance_bias = ProjectSettings.get_setting("lod/particle_bias")
|
||||
if ProjectSettings.has_setting("lod/refresh_rate"):
|
||||
refresh_rate = ProjectSettings.get_setting("lod/refresh_rate")
|
||||
|
||||
@@ -56,5 +56,5 @@ func _physics_process(delta: float) -> void:
|
||||
|
||||
timer = 0.0
|
||||
|
||||
var distance := camera.global_transform.origin.distance_to(global_transform.origin) + lod_bias
|
||||
var distance := camera.global_transform.origin.distance_to(global_transform.origin) + lod_distance_bias
|
||||
emitting = distance < max_emit_distance
|
||||
|
||||
@@ -30,7 +30,7 @@ var refresh_rate := 0.25
|
||||
# Positive values will decrease the detail level and improve performance.
|
||||
# Negative values will improve visual appearance at the cost of performance.
|
||||
# This can overridden by setting the project setting `lod/bias`.
|
||||
var lod_bias := 0.0
|
||||
var lod_distance_bias := 0.0
|
||||
|
||||
# The internal refresh timer.
|
||||
var timer := 0.0
|
||||
@@ -38,7 +38,7 @@ var timer := 0.0
|
||||
|
||||
func _ready() -> void:
|
||||
if ProjectSettings.has_setting("lod/spatial_bias"):
|
||||
lod_bias = ProjectSettings.get_setting("lod/spatial_bias")
|
||||
lod_distance_bias = ProjectSettings.get_setting("lod/spatial_bias")
|
||||
if ProjectSettings.has_setting("lod/refresh_rate"):
|
||||
refresh_rate = ProjectSettings.get_setting("lod/refresh_rate")
|
||||
|
||||
@@ -64,7 +64,7 @@ func _physics_process(delta: float) -> void:
|
||||
|
||||
timer = 0.0
|
||||
|
||||
var distance := camera.global_transform.origin.distance_to(global_transform.origin) + lod_bias
|
||||
var distance := camera.global_transform.origin.distance_to(global_transform.origin) + lod_distance_bias
|
||||
# The LOD level to choose (lower is more detailed).
|
||||
var lod: int
|
||||
if distance < lod_0_max_distance:
|
||||
|
||||
@@ -36,7 +36,7 @@ var refresh_rate := 0.05
|
||||
# Positive values will decrease the detail level and improve performance.
|
||||
# Negative values will improve visual appearance at the cost of performance.
|
||||
# This can overridden by setting the project setting `lod/bias`.
|
||||
var lod_bias := 0.0
|
||||
var lod_distance_bias := 0.0
|
||||
|
||||
# The internal refresh timer.
|
||||
var timer := 0.0
|
||||
@@ -47,7 +47,7 @@ var base_light_energy := light_energy
|
||||
|
||||
func _ready() -> void:
|
||||
if ProjectSettings.has_setting("lod/light_bias"):
|
||||
lod_bias = ProjectSettings.get_setting("lod/light_bias")
|
||||
lod_distance_bias = ProjectSettings.get_setting("lod/light_bias")
|
||||
if ProjectSettings.has_setting("lod/light_refresh_rate"):
|
||||
refresh_rate = ProjectSettings.get_setting("lod/light_refresh_rate")
|
||||
|
||||
@@ -72,7 +72,7 @@ func _physics_process(delta: float) -> void:
|
||||
|
||||
timer = 0.0
|
||||
|
||||
var distance := camera.global_transform.origin.distance_to(global_transform.origin) + lod_bias
|
||||
var distance := camera.global_transform.origin.distance_to(global_transform.origin) + lod_distance_bias
|
||||
|
||||
visible = distance < light_max_distance
|
||||
var light_fade_start_distance := light_max_distance * light_fade_start
|
||||
@@ -83,11 +83,3 @@ func _physics_process(delta: float) -> void:
|
||||
light_energy = base_light_energy
|
||||
|
||||
shadow_enabled = distance < shadow_max_distance
|
||||
var shadow_fade_start_distance := shadow_max_distance * shadow_fade_start
|
||||
var shadow_value: float
|
||||
if distance > shadow_fade_start_distance:
|
||||
shadow_value = min(1, (distance - shadow_fade_start_distance) / (shadow_max_distance - shadow_fade_start_distance))
|
||||
else:
|
||||
# We're close enough to the light to show its shadow at full darkness.
|
||||
shadow_value = 0.0
|
||||
shadow_color = Color(shadow_value, shadow_value, shadow_value)
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,38 +1,24 @@
|
||||
[gd_resource type="ShaderMaterial" load_steps=3 format=2]
|
||||
[gd_resource type="ShaderMaterial" format=3]
|
||||
|
||||
[sub_resource type="VisualShaderNodeColorConstant" id=1]
|
||||
constant = Color( 0.117188, 0.0709553, 0.0709553, 1 )
|
||||
|
||||
[sub_resource type="VisualShader" id=2]
|
||||
[sub_resource type="Shader" id="Shader_6qnue"]
|
||||
code = "shader_type spatial;
|
||||
render_mode specular_schlick_ggx;
|
||||
render_mode blend_mix, depth_draw_opaque, depth_test_default, cull_back, diffuse_lambert, specular_schlick_ggx;
|
||||
|
||||
|
||||
|
||||
|
||||
void vertex() {
|
||||
// Output:0
|
||||
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
// Color:3
|
||||
vec3 n_out3p0 = vec3(0.117188, 0.070955, 0.070955);
|
||||
float n_out3p1 = 1.000000;
|
||||
// ColorConstant:3
|
||||
vec4 n_out3p0 = vec4(0.117188, 0.070955, 0.070955, 1.000000);
|
||||
|
||||
|
||||
// Output:0
|
||||
ALBEDO = n_out3p0;
|
||||
ALBEDO = vec3(n_out3p0.xyz);
|
||||
|
||||
}
|
||||
|
||||
void light() {
|
||||
// Output:0
|
||||
|
||||
}
|
||||
"
|
||||
nodes/fragment/3/node = SubResource( 1 )
|
||||
nodes/fragment/3/position = Vector2( 0, 140 )
|
||||
nodes/fragment/connections = PackedInt32Array( 3, 0, 0, 0 )
|
||||
|
||||
[resource]
|
||||
shader = SubResource( 2 )
|
||||
render_priority = 0
|
||||
shader = SubResource("Shader_6qnue")
|
||||
|
||||
+10
-25
@@ -1,41 +1,26 @@
|
||||
[gd_resource type="ShaderMaterial" load_steps=3 format=2]
|
||||
[gd_resource type="ShaderMaterial" format=3]
|
||||
|
||||
[sub_resource type="VisualShaderNodeColorParameter" id=1]
|
||||
uniform_name = "BaseColor"
|
||||
|
||||
[sub_resource type="VisualShader" id=2]
|
||||
[sub_resource type="Shader" id="Shader_iwepy"]
|
||||
code = "shader_type spatial;
|
||||
render_mode specular_schlick_ggx;
|
||||
render_mode blend_mix, depth_draw_opaque, depth_test_default, cull_back, diffuse_lambert, specular_schlick_ggx;
|
||||
|
||||
uniform vec4 BaseColor : source_color;
|
||||
|
||||
|
||||
|
||||
void vertex() {
|
||||
// Output:0
|
||||
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
// ColorUniform:5
|
||||
vec3 n_out5p0 = BaseColor.rgb;
|
||||
float n_out5p1 = BaseColor.a;
|
||||
// ColorParameter:5
|
||||
vec4 n_out5p0 = BaseColor;
|
||||
|
||||
|
||||
// Output:0
|
||||
ALBEDO = n_out5p0;
|
||||
ALBEDO = vec3(n_out5p0.xyz);
|
||||
|
||||
}
|
||||
|
||||
void light() {
|
||||
// Output:0
|
||||
|
||||
}
|
||||
"
|
||||
graph_offset = Vector2( -278, -353.75 )
|
||||
nodes/fragment/5/node = SubResource( 1 )
|
||||
nodes/fragment/5/position = Vector2( 180, 140 )
|
||||
nodes/fragment/connections = PackedInt32Array( 5, 0, 0, 0 )
|
||||
|
||||
[resource]
|
||||
shader = SubResource( 2 )
|
||||
shader_param/BaseColor = Color( 0.313726, 1, 0, 1 )
|
||||
render_priority = 0
|
||||
shader = SubResource("Shader_iwepy")
|
||||
shader_parameter/BaseColor = Color(0.313726, 1, 0, 1)
|
||||
|
||||
+10
-25
@@ -1,41 +1,26 @@
|
||||
[gd_resource type="ShaderMaterial" load_steps=3 format=2]
|
||||
[gd_resource type="ShaderMaterial" format=3]
|
||||
|
||||
[sub_resource type="VisualShaderNodeColorParameter" id=1]
|
||||
uniform_name = "BaseColor"
|
||||
|
||||
[sub_resource type="VisualShader" id=2]
|
||||
[sub_resource type="Shader" id="Shader_b630w"]
|
||||
code = "shader_type spatial;
|
||||
render_mode specular_schlick_ggx;
|
||||
render_mode blend_mix, depth_draw_opaque, depth_test_default, cull_back, diffuse_lambert, specular_schlick_ggx;
|
||||
|
||||
uniform vec4 BaseColor : source_color;
|
||||
|
||||
|
||||
|
||||
void vertex() {
|
||||
// Output:0
|
||||
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
// ColorUniform:5
|
||||
vec3 n_out5p0 = BaseColor.rgb;
|
||||
float n_out5p1 = BaseColor.a;
|
||||
// ColorParameter:5
|
||||
vec4 n_out5p0 = BaseColor;
|
||||
|
||||
|
||||
// Output:0
|
||||
ALBEDO = n_out5p0;
|
||||
ALBEDO = vec3(n_out5p0.xyz);
|
||||
|
||||
}
|
||||
|
||||
void light() {
|
||||
// Output:0
|
||||
|
||||
}
|
||||
"
|
||||
graph_offset = Vector2( -278, -353.75 )
|
||||
nodes/fragment/5/node = SubResource( 1 )
|
||||
nodes/fragment/5/position = Vector2( 180, 140 )
|
||||
nodes/fragment/connections = PackedInt32Array( 5, 0, 0, 0 )
|
||||
|
||||
[resource]
|
||||
shader = SubResource( 2 )
|
||||
shader_param/BaseColor = Color( 1, 0, 0, 1 )
|
||||
render_priority = 0
|
||||
shader = SubResource("Shader_b630w")
|
||||
shader_parameter/BaseColor = Color(1, 0, 0, 1)
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -3,19 +3,20 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dvoars6va7511"
|
||||
path="res://.godot/imported/dagger_Dagger_BC.png-6deff32a41940f92bbdb14bc9b47beb3.ctex"
|
||||
path.s3tc="res://.godot/imported/dagger_Dagger_BC.png-6deff32a41940f92bbdb14bc9b47beb3.s3tc.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/props/dagger/dagger_Dagger_BC.png"
|
||||
dest_files=["res://.godot/imported/dagger_Dagger_BC.png-6deff32a41940f92bbdb14bc9b47beb3.ctex"]
|
||||
dest_files=["res://.godot/imported/dagger_Dagger_BC.png-6deff32a41940f92bbdb14bc9b47beb3.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -23,7 +24,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -37,4 +38,4 @@ 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
|
||||
detect_3d/compress_to=0
|
||||
|
||||
@@ -3,30 +3,31 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cfhmpp3pitqbi"
|
||||
path="res://.godot/imported/dagger_Dagger_NM.png-16adfa9ec4fd4455ed9dd788fbba2519.ctex"
|
||||
path.s3tc="res://.godot/imported/dagger_Dagger_NM.png-16adfa9ec4fd4455ed9dd788fbba2519.s3tc.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/props/dagger/dagger_Dagger_NM.png"
|
||||
dest_files=["res://.godot/imported/dagger_Dagger_NM.png-16adfa9ec4fd4455ed9dd788fbba2519.ctex"]
|
||||
dest_files=["res://.godot/imported/dagger_Dagger_NM.png-16adfa9ec4fd4455ed9dd788fbba2519.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
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/normal_map=1
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
roughness/mode=1
|
||||
roughness/src_normal="res://assets/props/dagger/dagger_Dagger_NM.png"
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
@@ -37,4 +38,4 @@ 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
|
||||
detect_3d/compress_to=0
|
||||
|
||||
@@ -3,19 +3,20 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b5jfvsejxruax"
|
||||
path="res://.godot/imported/dagger_dagger_E.png-f59a7c6d2e36ce0df3488a3ad845f982.ctex"
|
||||
path.s3tc="res://.godot/imported/dagger_dagger_E.png-f59a7c6d2e36ce0df3488a3ad845f982.s3tc.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/props/dagger/dagger_dagger_E.png"
|
||||
dest_files=["res://.godot/imported/dagger_dagger_E.png-f59a7c6d2e36ce0df3488a3ad845f982.ctex"]
|
||||
dest_files=["res://.godot/imported/dagger_dagger_E.png-f59a7c6d2e36ce0df3488a3ad845f982.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -23,7 +24,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -37,4 +38,4 @@ 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
|
||||
detect_3d/compress_to=0
|
||||
|
||||
@@ -3,19 +3,20 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b2yaxbeog0iiq"
|
||||
path="res://.godot/imported/dagger_dagger_ORM.png-d6cee18aee3cb84d78327e37eda49e85.ctex"
|
||||
path.s3tc="res://.godot/imported/dagger_dagger_ORM.png-d6cee18aee3cb84d78327e37eda49e85.s3tc.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/props/dagger/dagger_dagger_ORM.png"
|
||||
dest_files=["res://.godot/imported/dagger_dagger_ORM.png-d6cee18aee3cb84d78327e37eda49e85.ctex"]
|
||||
dest_files=["res://.godot/imported/dagger_dagger_ORM.png-d6cee18aee3cb84d78327e37eda49e85.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -23,7 +24,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -37,4 +38,4 @@ 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
|
||||
detect_3d/compress_to=0
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+8
-8
@@ -44,8 +44,8 @@ func label_counter():
|
||||
func lock():
|
||||
return m_lock
|
||||
|
||||
func set_lock(value):
|
||||
m_lock = _set_data(LOCK_ID, m_row_id, value)
|
||||
func set_lock(p_value):
|
||||
m_lock = _set_data(LOCK_ID, m_row_id, p_value)
|
||||
|
||||
func mesh():
|
||||
return m_mesh
|
||||
@@ -53,20 +53,20 @@ func mesh():
|
||||
func tween():
|
||||
return m_mesh + "/Tween"
|
||||
|
||||
func set_mesh(value):
|
||||
m_mesh = value
|
||||
func set_mesh(p_value):
|
||||
m_mesh = p_value
|
||||
|
||||
func tick_reference():
|
||||
return m_tick_reference
|
||||
|
||||
func set_tick_reference(value):
|
||||
m_tick_reference = value
|
||||
func set_tick_reference(p_value):
|
||||
m_tick_reference = p_value
|
||||
|
||||
func value():
|
||||
return m_value
|
||||
|
||||
func set_value(value):
|
||||
m_value = value
|
||||
func set_value(p_value):
|
||||
m_value = p_value
|
||||
|
||||
func audio_sound():
|
||||
var stream = load("res://assets/sounds/objects/" + label() + ".ogg")
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
[gd_scene format=3 uid="uid://demg4xk7vofmg"]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource type="Script" uid="uid://by2coyg8u0u67" path="res://scenes/Main.gd" id="1"]
|
||||
[ext_resource type="Script" path="res://scenes/Main.gd" id="1"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/UI/background/Background.tscn" id="5"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/UI/summary/Summary.tscn" id="8"]
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=2 format=3]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/bck.jpg" id="1"]
|
||||
|
||||
|
||||
@@ -18,17 +18,17 @@ func _apply_scene(level, index):
|
||||
configure_reset(level, node, index, false)
|
||||
configure_counter(level, node)
|
||||
|
||||
func _load_scene(name):
|
||||
func _load_scene(p_name):
|
||||
var template_instance = template.instantiate()
|
||||
template_instance.set_name(name)
|
||||
|
||||
template_instance.set_name(p_name)
|
||||
|
||||
return template_instance
|
||||
|
||||
func _build_path(name):
|
||||
return "MarginContainer/"+name
|
||||
func _build_path(p_name):
|
||||
return "MarginContainer/" + p_name
|
||||
|
||||
func _build_method(name):
|
||||
return "_on_"+name.to_lower()+"_pressed"
|
||||
func _build_method(p_name):
|
||||
return "_on_" + p_name.to_lower() + "_pressed"
|
||||
|
||||
func _load_texture(thumbnail):
|
||||
return load(thumbnail)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=3 format=3]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scenes/UI/choose_scenes/ChooseScene.gd" id="1"]
|
||||
|
||||
|
||||
@@ -1,35 +1,26 @@
|
||||
[gd_scene load_steps=10 format=2]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource path="res://assets/fonts/kirsty/kirsty_base.tres" type="FontFile" id=1]
|
||||
[ext_resource path="res://assets/ui/themes/tab_select/UI-Button-Reset-hover.png" type="Texture2D" id=2]
|
||||
[ext_resource path="res://assets/ui/themes/tab_select/UI-Button-Reset-disabled.png" type="Texture2D" id=3]
|
||||
[ext_resource path="res://assets/ui/themes/tab_select/UI-Button-Count-hover.png" type="Texture2D" id=4]
|
||||
[ext_resource path="res://assets/ui/themes/tab_select/UI-Button-Reset.png" type="Texture2D" id=5]
|
||||
[ext_resource path="res://assets/ui/themes/tab_select/UI-Button-Count.png" type="Texture2D" id=6]
|
||||
[ext_resource path="res://assets/ui/themes/tab_select/UI-level-btn-shadow.png" type="Texture2D" id=7]
|
||||
[ext_resource path="res://assets/ui/themes/tab_select/UI-level-btn-leather.png" type="Texture2D" id=8]
|
||||
[ext_resource type="FontVariation" path="res://assets/fonts/kirsty/kirsty_base.tres" id="1"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/tab_select/UI-Button-Reset-hover.png" id="2"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/tab_select/UI-Button-Reset-disabled.png" id="3"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/tab_select/UI-Button-Count-hover.png" id="4"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/tab_select/UI-Button-Reset.png" id="5"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/tab_select/UI-Button-Count.png" id="6"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/tab_select/UI-level-btn-shadow.png" id="7"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/tab_select/UI-level-btn-leather.png" id="8"]
|
||||
|
||||
[sub_resource type="Animation" id=1]
|
||||
[sub_resource type="Animation" id="1"]
|
||||
resource_name = "SlideReset"
|
||||
tracks/0/type = "bezier"
|
||||
tracks/0/path = NodePath("MarginContainer/CenterAlign/MainButton/TabAlign/ButtonReset:position:x")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("MarginContainer/CenterAlign/MainButton/TabAlign/ButtonReset:position:y")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"points": PackedFloat32Array( ),
|
||||
"times": PackedFloat32Array( )
|
||||
}
|
||||
tracks/1/type = "bezier"
|
||||
tracks/1/path = NodePath("MarginContainer/CenterAlign/MainButton/TabAlign/ButtonReset:position:y")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/keys = {
|
||||
"points": PackedFloat32Array( 0, -0.25, 0, 0.506539, 0.5, -40, -0.236722, -22.5, 0.25, 0 ),
|
||||
"times": PackedFloat32Array( 0, 1 )
|
||||
"handle_modes": PackedInt32Array(0, 0),
|
||||
"points": PackedFloat32Array(0, -0.25, 0, 0.506539, 0.5, -40, -0.236722, -22.5, 0.25, 0),
|
||||
"times": PackedFloat32Array(0, 1)
|
||||
}
|
||||
|
||||
[node name="TilePuzzle" type="Control"]
|
||||
@@ -49,7 +40,7 @@ anchor_right = 0.5
|
||||
offset_left = -114.0
|
||||
offset_right = 115.0
|
||||
offset_bottom = 456.0
|
||||
texture = ExtResource( 7 )
|
||||
texture = ExtResource("7")
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
@@ -78,7 +69,7 @@ theme_override_constants/separation = 0
|
||||
offset_right = 209.0
|
||||
offset_bottom = 208.0
|
||||
mouse_default_cursor_shape = 2
|
||||
texture_normal = ExtResource( 8 )
|
||||
texture_normal = ExtResource("8")
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
@@ -136,9 +127,9 @@ offset_left = 1.0
|
||||
offset_right = 90.0
|
||||
offset_bottom = 57.0
|
||||
size_flags_vertical = 0
|
||||
texture_normal = ExtResource( 5 )
|
||||
texture_hover = ExtResource( 2 )
|
||||
texture_disabled = ExtResource( 3 )
|
||||
texture_normal = ExtResource("5")
|
||||
texture_hover = ExtResource("2")
|
||||
texture_disabled = ExtResource("3")
|
||||
|
||||
[node name="ButtonCount" type="TextureButton" parent="MarginContainer/CenterAlign/MainButton/TabAlign"]
|
||||
offset_left = 94.0
|
||||
@@ -146,9 +137,9 @@ offset_right = 207.0
|
||||
offset_bottom = 57.0
|
||||
mouse_default_cursor_shape = 2
|
||||
size_flags_vertical = 0
|
||||
texture_normal = ExtResource( 6 )
|
||||
texture_hover = ExtResource( 4 )
|
||||
texture_focused = ExtResource( 4 )
|
||||
texture_normal = ExtResource("6")
|
||||
texture_hover = ExtResource("4")
|
||||
texture_focused = ExtResource("4")
|
||||
|
||||
[node name="MarginBottom" type="MarginContainer" parent="MarginContainer/CenterAlign/MainButton/TabAlign/ButtonCount"]
|
||||
anchor_right = 1.0
|
||||
@@ -163,7 +154,7 @@ offset_right = 113.0
|
||||
offset_bottom = 47.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 7
|
||||
theme_override_fonts/font = ExtResource( 1 )
|
||||
theme_override_fonts/font = ExtResource("1")
|
||||
text = "X / 10"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
@@ -172,4 +163,4 @@ __meta__ = {
|
||||
}
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
anims/SlideReset = SubResource( 1 )
|
||||
anims/SlideReset = SubResource("1")
|
||||
|
||||
@@ -1,19 +1,32 @@
|
||||
[gd_scene load_steps=5 format=2]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource path="res://scenes/UI/ending/Ending.gd" type="Script" id=1]
|
||||
[ext_resource path="res://assets/sounds/victory.ogg" type="AudioStream" id=2]
|
||||
[ext_resource path="res://assets/fonts/MKX Title.ttf" type="FontFile" id=3]
|
||||
[ext_resource type="Script" path="res://scenes/UI/ending/Ending.gd" id="1"]
|
||||
[ext_resource type="AudioStream" path="res://assets/sounds/victory.ogg" id="2"]
|
||||
[ext_resource type="FontFile" path="res://assets/fonts/MKX Title.ttf" id="3"]
|
||||
|
||||
[sub_resource type="FontFile" id=1]
|
||||
size = 35
|
||||
font_data = ExtResource( 3 )
|
||||
[sub_resource type="FontFile" id="1"]
|
||||
fallbacks = Array[Font]([ExtResource("3")])
|
||||
cache/0/variation_coordinates = {}
|
||||
cache/0/face_index = 0
|
||||
cache/0/embolden = 0.0
|
||||
cache/0/transform = Transform2D(1, 0, 0, 1, 0, 0)
|
||||
cache/0/spacing_top = 0
|
||||
cache/0/spacing_bottom = 0
|
||||
cache/0/spacing_space = 0
|
||||
cache/0/spacing_glyph = 0
|
||||
cache/0/baseline_offset = 0.0
|
||||
cache/0/16/0/ascent = 0.0
|
||||
cache/0/16/0/descent = 0.0
|
||||
cache/0/16/0/underline_position = 0.0
|
||||
cache/0/16/0/underline_thickness = 0.0
|
||||
cache/0/16/0/scale = 1.0
|
||||
|
||||
[node name="CenterContainer" type="CenterContainer"]
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
script = ExtResource( 1 )
|
||||
script = ExtResource("1")
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
@@ -27,14 +40,14 @@ grow_horizontal = 0
|
||||
grow_vertical = 0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
color = Color( 0, 0, 0, 1 )
|
||||
color = Color(0, 0, 0, 1)
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
wait_time = 4.31
|
||||
autostart = true
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource( 2 )
|
||||
stream = ExtResource("2")
|
||||
volume_db = -29.411
|
||||
|
||||
[node name="Label" type="Label" parent="."]
|
||||
@@ -42,8 +55,8 @@ offset_left = 477.0
|
||||
offset_top = 275.0
|
||||
offset_right = 802.0
|
||||
offset_bottom = 444.0
|
||||
theme_override_fonts/font = SubResource( 1 )
|
||||
theme_override_colors/font_color = Color( 1, 1, 1, 1 )
|
||||
theme_override_fonts/font = SubResource("1")
|
||||
theme_override_colors/font_color = Color(1, 1, 1, 1)
|
||||
text = "aHog !!!
|
||||
|
||||
|
||||
|
||||
@@ -1,40 +1,32 @@
|
||||
[gd_scene load_steps=5 format=2]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource path="res://scenes/UI/loading/parts/LoadingBare.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://scenes/UI/loading/parts/TopPart.tscn" type="PackedScene" id=2]
|
||||
[ext_resource path="res://scenes/UI/background/Background.tscn" type="PackedScene" id=3]
|
||||
[ext_resource type="PackedScene" path="res://scenes/UI/loading/parts/LoadingBare.tscn" id="1"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/UI/loading/parts/TopPart.tscn" id="2"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/UI/background/Background.tscn" id="3"]
|
||||
|
||||
[sub_resource type="Animation" id=1]
|
||||
[sub_resource type="Animation" id="1"]
|
||||
resource_name = "BorderAnim"
|
||||
tracks/0/type = "bezier"
|
||||
tracks/0/path = NodePath("LoadingTopBorder:position:x")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("LoadingTopBorder:position:y")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"points": PackedFloat32Array( ),
|
||||
"times": PackedFloat32Array( )
|
||||
"handle_modes": PackedInt32Array(0, 0, 0, 0),
|
||||
"points": PackedFloat32Array(-768, -0.25, 0, 1.01154, 306.838, -160.174, -1.02203, -283.071, 0.439946, 60.9141, -27.6065, -0.45336, -19.562, 0.536352, 17.1993, 0.362091, -0.538766, -0.968613, 0.25, 0),
|
||||
"times": PackedFloat32Array(0.1, 0.3, 0.6, 0.9)
|
||||
}
|
||||
tracks/1/type = "bezier"
|
||||
tracks/1/path = NodePath("LoadingTopBorder:position:y")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("LoadingBare:modulate:a")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"points": PackedFloat32Array( -768, -0.25, 0, 1.01154, 306.838, -160.174, -1.02203, -283.071, 0.439946, 60.9141, -27.6065, -0.45336, -19.562, 0.536352, 17.1993, 0.362091, -0.538766, -0.968613, 0.25, 0 ),
|
||||
"times": PackedFloat32Array( 0.1, 0.3, 0.6, 0.9 )
|
||||
}
|
||||
tracks/2/type = "bezier"
|
||||
tracks/2/path = NodePath("LoadingBare:modulate:a")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/keys = {
|
||||
"points": PackedFloat32Array( 0, -0.25, 0, 1.10651, 0.716757, 1, -1.59408, -0.0328361, 0.25, 0 ),
|
||||
"times": PackedFloat32Array( 0, 0.4 )
|
||||
"handle_modes": PackedInt32Array(0, 0),
|
||||
"points": PackedFloat32Array(0, -0.25, 0, 1.10651, 0.716757, 1, -1.59408, -0.0328361, 0.25, 0),
|
||||
"times": PackedFloat32Array(0, 0.4)
|
||||
}
|
||||
|
||||
[node name="Control" type="Control"]
|
||||
@@ -44,19 +36,19 @@ __meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="BackgroundPicture" parent="." instance=ExtResource( 3 )]
|
||||
[node name="BackgroundPicture" parent="." instance=ExtResource("3")]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
|
||||
[node name="LoadingTopBorder" parent="." instance=ExtResource( 2 )]
|
||||
[node name="LoadingTopBorder" parent="." instance=ExtResource("2")]
|
||||
offset_top = 0.362091
|
||||
offset_bottom = 0.362061
|
||||
|
||||
[node name="LoadingBare" parent="." instance=ExtResource( 1 )]
|
||||
[node name="LoadingBare" parent="." instance=ExtResource("1")]
|
||||
offset_top = 360.0
|
||||
|
||||
[node name="AnimLoading" type="AnimationPlayer" parent="."]
|
||||
method_call_mode = 1
|
||||
anims/BorderAnim = SubResource( 1 )
|
||||
anims/BorderAnim = SubResource("1")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene format=2]
|
||||
[gd_scene format=3]
|
||||
|
||||
[node name="Tile" type="VBoxContainer"]
|
||||
anchor_right = 1.0
|
||||
@@ -15,10 +15,10 @@ size_flags_vertical = 3
|
||||
offset_top = 241.0
|
||||
offset_right = 1280.0
|
||||
offset_bottom = 478.0
|
||||
custom_minimum_size = Vector2( 0, 8 )
|
||||
custom_minimum_size = Vector2(0, 8)
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
color = Color( 0.74902, 0.701961, 0.65098, 1 )
|
||||
color = Color(0.74902, 0.701961, 0.65098, 1)
|
||||
|
||||
[node name="MarginContainer2" type="MarginContainer" parent="."]
|
||||
offset_top = 482.0
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[gd_scene load_steps=3 format=2]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource path="res://assets/fonts/kirsty/kirsty_title.tres" type="FontFile" id=1]
|
||||
[ext_resource path="res://scenes/UI/loading/Loading.gd" type="Script" id=2]
|
||||
[ext_resource type="FontVariation" path="res://assets/fonts/kirsty/kirsty_title.tres" id="1"]
|
||||
[ext_resource type="Script" path="res://scenes/UI/loading/Loading.gd" id="2"]
|
||||
|
||||
[node name="VBoxLoading" type="VBoxContainer"]
|
||||
anchor_left = 0.5
|
||||
@@ -16,7 +16,7 @@ size_flags_horizontal = 0
|
||||
size_flags_vertical = 0
|
||||
theme_override_constants/separation = 0
|
||||
alignment = 1
|
||||
script = ExtResource( 2 )
|
||||
script = ExtResource("2")
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
@@ -24,9 +24,9 @@ __meta__ = {
|
||||
[node name="LabelLoading" type="Label" parent="."]
|
||||
offset_right = 193.0
|
||||
offset_bottom = 56.0
|
||||
theme_override_fonts/font = ExtResource( 1 )
|
||||
theme_override_fonts/font = ExtResource("1")
|
||||
theme_override_font_sizes/font_size = 46
|
||||
theme_override_colors/font_color = Color( 0.74902, 0.701961, 0.65098, 1 )
|
||||
theme_override_colors/font_color = Color(0.74902, 0.701961, 0.65098, 1)
|
||||
text = "loading"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 2
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_scene load_steps=2 format=2]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource path="res://assets/ui/themes/leather.theme" type="Theme" id=1]
|
||||
[ext_resource type="Theme" path="res://assets/ui/themes/leather.theme" id="1"]
|
||||
|
||||
[node name="LoadingBare" type="Control"]
|
||||
anchor_right = 1.0
|
||||
@@ -41,7 +41,7 @@ offset_right = 1037.0
|
||||
offset_bottom = 237.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
theme = ExtResource( 1 )
|
||||
theme = ExtResource("1")
|
||||
max_value = 1.0
|
||||
step = 0.1
|
||||
rounded = true
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
[gd_scene load_steps=4 format=2]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource path="res://scenes/UI/loading/parts/LabelLoading.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://scenes/UI/loading/parts/BorderColor.tscn" type="PackedScene" id=2]
|
||||
[ext_resource path="res://assets/ui/themes/bck-hrz-grd.png" type="Texture2D" id=3]
|
||||
[ext_resource type="PackedScene" path="res://scenes/UI/loading/parts/LabelLoading.tscn" id="1"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/UI/loading/parts/BorderColor.tscn" id="2"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/bck-hrz-grd.png" id="3"]
|
||||
|
||||
[node name="LoadingBorder" type="Control"]
|
||||
anchor_right = 1.0
|
||||
@@ -28,7 +28,7 @@ offset_right = 1280.0
|
||||
offset_bottom = 240.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
color = Color( 0, 0, 0, 1 )
|
||||
color = Color(0, 0, 0, 1)
|
||||
|
||||
[node name="ColorRect" type="TextureRect" parent="BackgroundGradient"]
|
||||
offset_top = 240.0
|
||||
@@ -36,7 +36,7 @@ offset_right = 1280.0
|
||||
offset_bottom = 480.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
texture = ExtResource( 3 )
|
||||
texture = ExtResource("3")
|
||||
expand_mode = 1
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
@@ -63,13 +63,13 @@ __meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="BorderLeft" parent="LabelAndBorder" instance=ExtResource( 2 )]
|
||||
[node name="BorderLeft" parent="LabelAndBorder" instance=ExtResource("2")]
|
||||
anchor_right = 0.0
|
||||
anchor_bottom = 0.0
|
||||
offset_right = 523.0
|
||||
offset_bottom = 60.0
|
||||
|
||||
[node name="LabelLoading" parent="LabelAndBorder" instance=ExtResource( 1 )]
|
||||
[node name="LabelLoading" parent="LabelAndBorder" instance=ExtResource("1")]
|
||||
anchor_left = 0.0
|
||||
anchor_top = 0.0
|
||||
anchor_right = 0.0
|
||||
@@ -79,7 +79,7 @@ offset_top = 0.0
|
||||
offset_right = 736.0
|
||||
offset_bottom = 56.0
|
||||
|
||||
[node name="BorderRight" parent="LabelAndBorder" instance=ExtResource( 2 )]
|
||||
[node name="BorderRight" parent="LabelAndBorder" instance=ExtResource("2")]
|
||||
anchor_right = 0.0
|
||||
anchor_bottom = 0.0
|
||||
offset_left = 756.0
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
[gd_scene load_steps=2 format=2]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource path="res://scenes/UI/settings/Settings.gd" type="Script" id=1]
|
||||
[ext_resource type="Script" path="res://scenes/UI/settings/Settings.gd" id="1"]
|
||||
|
||||
[node name="Settings" type="CenterContainer"]
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -1.12244
|
||||
offset_right = -1.12244
|
||||
script = ExtResource( 1 )
|
||||
script = ExtResource("1")
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
@@ -45,7 +45,7 @@ focus_mode = 0
|
||||
auto_height = true
|
||||
max_columns = 2
|
||||
same_column_width = true
|
||||
fixed_icon_size = Vector2( 32, 32 )
|
||||
fixed_icon_size = Vector2(32, 32)
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/langue"]
|
||||
offset_left = 92.0
|
||||
|
||||
+34
-194
@@ -1,172 +1,13 @@
|
||||
[gd_scene load_steps=27 format=2]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource path="res://assets/ui/themes/button-summary-hover.jpg" type="Texture2D" id=1]
|
||||
[ext_resource path="res://assets/ui/themes/button-summary.jpg" type="Texture2D" id=2]
|
||||
[ext_resource path="res://assets/fonts/kirsty/kirsty_base.tres" type="FontFile" id=3]
|
||||
[ext_resource path="res://assets/fonts/kirsty/kirsty_title.tres" type="FontFile" id=4]
|
||||
[ext_resource path="res://assets/ui/icones/treasure.png" type="Texture2D" id=5]
|
||||
[ext_resource path="res://assets/fonts/text_outline.material" type="Material" id=6]
|
||||
[ext_resource path="res://assets/ui/icones/treasure-hover.png" type="Texture2D" id=7]
|
||||
[ext_resource path="res://assets/ui/themes/bck-vert-grd.png" type="Texture2D" id=8]
|
||||
[ext_resource path="res://assets/ui/themes/wood-tile.jpg" type="Texture2D" id=9]
|
||||
|
||||
[sub_resource type="VisualShaderNodeVectorOp" id=1]
|
||||
operator = 3
|
||||
|
||||
[sub_resource type="VisualShaderNodeInput" id=2]
|
||||
input_name = "screen_uv"
|
||||
|
||||
[sub_resource type="VisualShaderNodeVectorDecompose" id=3]
|
||||
output_port_for_preview = 1
|
||||
|
||||
[sub_resource type="VisualShaderNodeMix" id=4]
|
||||
|
||||
[sub_resource type="VisualShaderNodeColorConstant" id=5]
|
||||
constant = Color( 0.2, 0.155, 0.11, 1 )
|
||||
|
||||
[sub_resource type="VisualShaderNodeColorOp" id=6]
|
||||
|
||||
[sub_resource type="VisualShaderNodeMix" id=7]
|
||||
|
||||
[sub_resource type="VisualShaderNodeFloatOp" id=8]
|
||||
default_input_values = [ 0, 0.0, 1, 0.2 ]
|
||||
operator = 2
|
||||
|
||||
[sub_resource type="VisualShaderNodeFloatOp" id=9]
|
||||
default_input_values = [ 0, 0.0, 1, -1.0 ]
|
||||
operator = 2
|
||||
|
||||
[sub_resource type="VisualShaderNodeInput" id=10]
|
||||
input_name = "screen_uv"
|
||||
|
||||
[sub_resource type="VisualShaderNodeTexture" id=11]
|
||||
texture = ExtResource( 9 )
|
||||
texture_type = 1
|
||||
|
||||
[sub_resource type="VisualShaderNodeVectorCompose" id=12]
|
||||
default_input_values = [ 0, 0.0, 1, 0.0, 2, 1.0 ]
|
||||
|
||||
[sub_resource type="VisualShaderNodeFloatConstant" id=13]
|
||||
constant = 0.4
|
||||
|
||||
[sub_resource type="VisualShaderNodeVectorDecompose" id=14]
|
||||
|
||||
[sub_resource type="VisualShaderNodeFloatOp" id=15]
|
||||
default_input_values = [ 0, 0.0, 1, 1.6 ]
|
||||
operator = 3
|
||||
|
||||
[sub_resource type="VisualShader" id=16]
|
||||
code = "shader_type canvas_item;
|
||||
uniform sampler2D tex_frg_4 : source_color;
|
||||
|
||||
|
||||
|
||||
void vertex() {
|
||||
// Output:0
|
||||
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
// Input:3
|
||||
vec3 n_out3p0 = vec3(SCREEN_UV, 0.0);
|
||||
|
||||
// Scalar:6
|
||||
float n_out6p0 = 0.400000;
|
||||
|
||||
// VectorOp:11
|
||||
vec3 n_out11p0 = n_out3p0 / vec3(n_out6p0);
|
||||
|
||||
// VectorDecompose:7
|
||||
float n_out7p0 = n_out11p0.x;
|
||||
float n_out7p1 = n_out11p0.y;
|
||||
float n_out7p2 = n_out11p0.z;
|
||||
|
||||
// ScalarOp:8
|
||||
float n_in8p1 = 1.60000;
|
||||
float n_out8p0 = n_out7p1 / n_in8p1;
|
||||
|
||||
// VectorCompose:5
|
||||
float n_in5p2 = 1.00000;
|
||||
vec3 n_out5p0 = vec3(n_out7p0, n_out8p0, n_in5p2);
|
||||
|
||||
// Texture:4
|
||||
vec4 tex_frg_4_read = texture(tex_frg_4, n_out5p0.xy);
|
||||
vec3 n_out4p0 = tex_frg_4_read.rgb;
|
||||
float n_out4p1 = tex_frg_4_read.a;
|
||||
|
||||
// ScalarOp:22
|
||||
float n_in22p1 = 0.20000;
|
||||
float n_out22p0 = dot(n_out4p0, vec3(0.333333, 0.333333, 0.333333)) * n_in22p1;
|
||||
|
||||
// Color:18
|
||||
vec3 n_out18p0 = vec3(0.200000, 0.155000, 0.110000);
|
||||
float n_out18p1 = 1.000000;
|
||||
|
||||
// ColorOp:19
|
||||
vec3 n_out19p0 = vec3(1.0) - (vec3(1.0) - n_out18p0) * (vec3(1.0) - n_out4p0);
|
||||
|
||||
// Input:14
|
||||
vec3 n_out14p0 = vec3(SCREEN_UV, 0.0);
|
||||
|
||||
// VectorDecompose:15
|
||||
float n_out15p0 = n_out14p0.x;
|
||||
float n_out15p1 = n_out14p0.y;
|
||||
float n_out15p2 = n_out14p0.z;
|
||||
|
||||
// VectorScalarMix:17
|
||||
vec3 n_out17p0 = mix(n_out4p0, n_out19p0, n_out15p1);
|
||||
|
||||
// VectorScalarMix:20
|
||||
vec3 n_out20p0 = mix(vec3(n_out22p0), n_out17p0, n_out15p1);
|
||||
|
||||
// Output:0
|
||||
COLOR.rgb = n_out20p0;
|
||||
|
||||
}
|
||||
|
||||
void light() {
|
||||
// Output:0
|
||||
|
||||
}
|
||||
"
|
||||
graph_offset = Vector2( -1049.92, -110.97 )
|
||||
mode = 1
|
||||
flags/light_only = false
|
||||
nodes/fragment/0/position = Vector2( 2300, 540 )
|
||||
nodes/fragment/3/node = SubResource( 10 )
|
||||
nodes/fragment/3/position = Vector2( -2320, 660 )
|
||||
nodes/fragment/4/node = SubResource( 11 )
|
||||
nodes/fragment/4/position = Vector2( 60, 160 )
|
||||
nodes/fragment/5/node = SubResource( 12 )
|
||||
nodes/fragment/5/position = Vector2( -580, 720 )
|
||||
nodes/fragment/6/node = SubResource( 13 )
|
||||
nodes/fragment/6/position = Vector2( -2300, 800 )
|
||||
nodes/fragment/7/node = SubResource( 14 )
|
||||
nodes/fragment/7/position = Vector2( -1480, 700 )
|
||||
nodes/fragment/8/node = SubResource( 15 )
|
||||
nodes/fragment/8/position = Vector2( -960, 820 )
|
||||
nodes/fragment/11/node = SubResource( 1 )
|
||||
nodes/fragment/11/position = Vector2( -1860, 700 )
|
||||
nodes/fragment/14/node = SubResource( 2 )
|
||||
nodes/fragment/14/position = Vector2( 140, 980 )
|
||||
nodes/fragment/15/node = SubResource( 3 )
|
||||
nodes/fragment/15/position = Vector2( 580, 960 )
|
||||
nodes/fragment/17/node = SubResource( 4 )
|
||||
nodes/fragment/17/position = Vector2( 1240, 560 )
|
||||
nodes/fragment/18/node = SubResource( 5 )
|
||||
nodes/fragment/18/position = Vector2( 520, 620 )
|
||||
nodes/fragment/19/node = SubResource( 6 )
|
||||
nodes/fragment/19/position = Vector2( 840, 580 )
|
||||
nodes/fragment/20/node = SubResource( 7 )
|
||||
nodes/fragment/20/position = Vector2( 1780, 660 )
|
||||
nodes/fragment/22/node = SubResource( 8 )
|
||||
nodes/fragment/22/position = Vector2( 1260, 780 )
|
||||
nodes/fragment/23/node = SubResource( 9 )
|
||||
nodes/fragment/23/position = Vector2( 1080, 1080 )
|
||||
nodes/fragment/connections = PackedInt32Array( 8, 0, 5, 1, 7, 1, 8, 0, 7, 0, 5, 0, 5, 0, 4, 0, 3, 0, 11, 0, 6, 0, 11, 1, 11, 0, 7, 0, 14, 0, 15, 0, 4, 0, 17, 0, 15, 1, 17, 2, 4, 0, 19, 1, 18, 0, 19, 0, 19, 0, 17, 1, 4, 0, 22, 0, 20, 0, 0, 0, 15, 1, 23, 0, 22, 0, 20, 0, 15, 1, 20, 2, 17, 0, 20, 1 )
|
||||
|
||||
[sub_resource type="ShaderMaterial" id=17]
|
||||
shader = SubResource( 16 )
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/button-summary-hover.jpg" id="1"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/button-summary.jpg" id="2"]
|
||||
[ext_resource type="FontVariation" path="res://assets/fonts/kirsty/kirsty_base.tres" id="3"]
|
||||
[ext_resource type="FontVariation" path="res://assets/fonts/kirsty/kirsty_title.tres" id="4"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/icones/treasure.png" id="5"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/icones/treasure-hover.png" id="7"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/bck-vert-grd.png" id="8"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/wood-tile.jpg" id="9"]
|
||||
|
||||
[node name="Summary" type="HBoxContainer"]
|
||||
anchor_bottom = 1.0
|
||||
@@ -177,10 +18,9 @@ __meta__ = {
|
||||
}
|
||||
|
||||
[node name="PanelWood" type="Panel" parent="."]
|
||||
material = SubResource( 17 )
|
||||
offset_right = 350.0
|
||||
offset_bottom = 1080.0
|
||||
custom_minimum_size = Vector2( 350, 0 )
|
||||
custom_minimum_size = Vector2(350, 0)
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="PanelWood"]
|
||||
@@ -208,9 +48,9 @@ offset_bottom = 199.0
|
||||
mouse_default_cursor_shape = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 4
|
||||
texture_normal = ExtResource( 5 )
|
||||
texture_hover = ExtResource( 7 )
|
||||
texture_focused = ExtResource( 7 )
|
||||
texture_normal = ExtResource("5")
|
||||
texture_hover = ExtResource("7")
|
||||
texture_focused = ExtResource("7")
|
||||
stretch_mode = 3
|
||||
|
||||
[node name="ButtonPuzzle" type="TextureButton" parent="PanelWood/VBoxContainer"]
|
||||
@@ -220,9 +60,9 @@ offset_bottom = 378.0
|
||||
mouse_default_cursor_shape = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 0
|
||||
texture_normal = ExtResource( 2 )
|
||||
texture_hover = ExtResource( 1 )
|
||||
texture_focused = ExtResource( 1 )
|
||||
texture_normal = ExtResource("2")
|
||||
texture_hover = ExtResource("1")
|
||||
texture_focused = ExtResource("1")
|
||||
__meta__ = {
|
||||
"_editor_description_": ""
|
||||
}
|
||||
@@ -236,7 +76,7 @@ offset_left = 0.0
|
||||
offset_top = 0.0
|
||||
offset_right = 0.0
|
||||
offset_bottom = 0.0
|
||||
theme_override_fonts/font = ExtResource( 4 )
|
||||
theme_override_fonts/font = ExtResource("4")
|
||||
theme_override_font_sizes/font_size = 46
|
||||
text = "Puzzles"
|
||||
horizontal_alignment = 1
|
||||
@@ -249,9 +89,9 @@ offset_bottom = 485.0
|
||||
mouse_default_cursor_shape = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 0
|
||||
texture_normal = ExtResource( 2 )
|
||||
texture_hover = ExtResource( 1 )
|
||||
texture_focused = ExtResource( 1 )
|
||||
texture_normal = ExtResource("2")
|
||||
texture_hover = ExtResource("1")
|
||||
texture_focused = ExtResource("1")
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
@@ -263,9 +103,9 @@ anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
size_flags_horizontal = 7
|
||||
size_flags_vertical = 3
|
||||
theme_override_fonts/font = ExtResource( 4 )
|
||||
theme_override_fonts/font = ExtResource("4")
|
||||
theme_override_font_sizes/font_size = 46
|
||||
theme_override_colors/font_color = Color( 0, 0, 0, 1 )
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
text = "Paramètres"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
@@ -281,9 +121,9 @@ offset_bottom = 592.0
|
||||
mouse_default_cursor_shape = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 0
|
||||
texture_normal = ExtResource( 2 )
|
||||
texture_hover = ExtResource( 1 )
|
||||
texture_focused = ExtResource( 1 )
|
||||
texture_normal = ExtResource("2")
|
||||
texture_hover = ExtResource("1")
|
||||
texture_focused = ExtResource("1")
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
@@ -295,9 +135,9 @@ anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
size_flags_horizontal = 7
|
||||
size_flags_vertical = 3
|
||||
theme_override_fonts/font = ExtResource( 4 )
|
||||
theme_override_fonts/font = ExtResource("4")
|
||||
theme_override_font_sizes/font_size = 46
|
||||
theme_override_colors/font_color = Color( 0, 0, 0, 1 )
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
text = "Crédits"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
@@ -319,8 +159,8 @@ offset_bottom = 1000.0
|
||||
mouse_default_cursor_shape = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 0
|
||||
texture_normal = ExtResource( 2 )
|
||||
texture_hover = ExtResource( 1 )
|
||||
texture_normal = ExtResource("2")
|
||||
texture_hover = ExtResource("1")
|
||||
__meta__ = {
|
||||
"_editor_description_": ""
|
||||
}
|
||||
@@ -332,9 +172,9 @@ anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
size_flags_horizontal = 7
|
||||
size_flags_vertical = 3
|
||||
theme_override_fonts/font = ExtResource( 4 )
|
||||
theme_override_fonts/font = ExtResource("4")
|
||||
theme_override_font_sizes/font_size = 46
|
||||
theme_override_colors/font_color = Color( 0, 0, 0, 1 )
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
text = "Quit"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
@@ -358,8 +198,8 @@ offset_left = 287.0
|
||||
offset_right = 334.0
|
||||
offset_bottom = 20.0
|
||||
size_flags_vertical = 0
|
||||
theme_override_fonts/font = ExtResource( 3 )
|
||||
theme_override_colors/font_color = Color( 0.741176, 0.478431, 0.372549, 1 )
|
||||
theme_override_fonts/font = ExtResource("3")
|
||||
theme_override_colors/font_color = Color(0.741176, 0.478431, 0.372549, 1)
|
||||
text = "v 0.0.0"
|
||||
horizontal_alignment = 2
|
||||
|
||||
@@ -383,7 +223,7 @@ offset_bottom = 1080.0
|
||||
clip_contents = true
|
||||
size_flags_horizontal = 11
|
||||
size_flags_vertical = 3
|
||||
texture = ExtResource( 8 )
|
||||
texture = ExtResource("8")
|
||||
stretch_mode = 1
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
[gd_scene load_steps=2 format=2]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource path="res://assets/ui/themes/game-title.png" type="Texture2D" id=1]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/game-title.png" id="1"]
|
||||
|
||||
[node name="Control" type="CenterContainer"]
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
pivot_offset = Vector2( -656.735, -331.043 )
|
||||
pivot_offset = Vector2(-656.735, -331.043)
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
@@ -15,4 +15,4 @@ offset_left = 305.0
|
||||
offset_top = 282.0
|
||||
offset_right = 974.0
|
||||
offset_bottom = 438.0
|
||||
texture = ExtResource( 1 )
|
||||
texture = ExtResource("1")
|
||||
|
||||
+14
-15
@@ -70,16 +70,16 @@ func _load_ambient_sound():
|
||||
|
||||
func _create_button_info(scene, counter, label_counter):
|
||||
var button = _search_button_to_use(counter)
|
||||
var name = scene.label()
|
||||
|
||||
var label_name = scene.label()
|
||||
|
||||
if label_counter != null and label_counter == scene.label_counter():
|
||||
name = last_button.get_node("Label").text + " " + str(scene.counter())
|
||||
_configure_button_object(last_button, scene, name)
|
||||
_create_animation_warning(_get_node_animated().get_node("Label"), name)
|
||||
label_name = last_button.get_node("Label").text + " " + str(scene.counter())
|
||||
_configure_button_object(last_button, scene, label_name)
|
||||
_create_animation_warning(_get_node_animated().get_node("Label"), label_name)
|
||||
else:
|
||||
$ListObjects/ListContainer.add_child(button)
|
||||
_configure_button_object(button, scene, name)
|
||||
_create_animation_slide(_get_node_animated(), name)
|
||||
_configure_button_object(button, scene, label_name)
|
||||
_create_animation_slide(_get_node_animated(), label_name)
|
||||
|
||||
last_button = button
|
||||
|
||||
@@ -101,19 +101,19 @@ func _configure_button_object(button, scene, label):
|
||||
button.set_meta("counter", scene.counter())
|
||||
button.set_meta("counted", 0)
|
||||
|
||||
func _create_animation_slide(node, name):
|
||||
_add_animation_to_player(name, GlobalAnimation.level_hud_slide(node))
|
||||
func _create_animation_slide(node, p_name):
|
||||
_add_animation_to_player(p_name, GlobalAnimation.level_hud_slide(node))
|
||||
|
||||
func _create_animation_warning(node, name):
|
||||
_add_animation_to_player(name, GlobalAnimation.level_hud_warning(node))
|
||||
func _create_animation_warning(node, p_name):
|
||||
_add_animation_to_player(p_name, GlobalAnimation.level_hud_warning(node))
|
||||
|
||||
func _add_animation_to_player(name: String, anim: Animation) -> void:
|
||||
func _add_animation_to_player(p_name: String, anim: Animation) -> void:
|
||||
var player = $ListObjects/AnimationPlayer
|
||||
var lib = player.get_animation_library("")
|
||||
if lib == null:
|
||||
lib = AnimationLibrary.new()
|
||||
player.add_animation_library("", lib)
|
||||
lib.add_animation(name, anim)
|
||||
lib.add_animation(p_name, anim)
|
||||
|
||||
func _process(_delta):
|
||||
_check_dissolve_mesh()
|
||||
@@ -233,8 +233,7 @@ func _node_to_area(key):
|
||||
|
||||
func _node_object_list(key):
|
||||
var animation_played = null
|
||||
var name = null
|
||||
|
||||
|
||||
for child in $ListObjects/ListContainer.get_children():
|
||||
if child.has_meta("name"):
|
||||
if child.get_meta("name") == meshes[key].label():
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user