Compare commits
21 Commits
Author | SHA1 | Date | |
---|---|---|---|
0c039b996e | |||
8d1148e9b8 | |||
12bb5cdd84 | |||
81bd77e1fc | |||
5c66ac4867 | |||
5681d3f65d | |||
fd65fd5ec1 | |||
2671f01a72 | |||
7b915c4fb9 | |||
1d18668bf8 | |||
411a8fd1eb | |||
754c120c26 | |||
0045fc69c3 | |||
c60eaa562b | |||
fc15cad1b0 | |||
4a165756eb | |||
e5215356f3 | |||
207629e014 | |||
814a7c3c3c | |||
a40f4afbbb | |||
b43867b29d |
BIN
font/LilitaOne-Regular.ttf
Normal file
BIN
font/LilitaOne-Regular.ttf
Normal file
Binary file not shown.
34
font/LilitaOne-Regular.ttf.import
Normal file
34
font/LilitaOne-Regular.ttf.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="font_data_dynamic"
|
||||
type="FontFile"
|
||||
uid="uid://246jxnbu62q3"
|
||||
path="res://.godot/imported/LilitaOne-Regular.ttf-7e2161443d37c26d9a127c9b42e001ae.fontdata"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://font/LilitaOne-Regular.ttf"
|
||||
dest_files=["res://.godot/imported/LilitaOne-Regular.ttf-7e2161443d37c26d9a127c9b42e001ae.fontdata"]
|
||||
|
||||
[params]
|
||||
|
||||
Rendering=null
|
||||
antialiasing=1
|
||||
generate_mipmaps=false
|
||||
disable_embedded_bitmaps=true
|
||||
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={}
|
94
font/OFL.txt
Normal file
94
font/OFL.txt
Normal file
@ -0,0 +1,94 @@
|
||||
Copyright (c) 2011 Juan Montoreano (juan@remolacha.biz),
|
||||
with Reserved Font Name Lilita
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
https://openfontlicense.org
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
@ -6,3 +6,4 @@
|
||||
albedo_texture = ExtResource("1_adacw")
|
||||
metallic_specular = 0.0
|
||||
texture_filter = 2
|
||||
disable_receive_shadows = true
|
||||
|
@ -6,3 +6,4 @@
|
||||
albedo_texture = ExtResource("1_u5p53")
|
||||
metallic_specular = 0.0
|
||||
texture_filter = 2
|
||||
disable_receive_shadows = true
|
||||
|
@ -14,3 +14,4 @@ normal_texture = ExtResource("3_d1hb3")
|
||||
ao_enabled = true
|
||||
ao_texture = ExtResource("2_lytc3")
|
||||
texture_filter = 2
|
||||
disable_receive_shadows = true
|
||||
|
@ -6,3 +6,4 @@
|
||||
albedo_texture = ExtResource("1_hsryr")
|
||||
metallic_specular = 0.0
|
||||
texture_filter = 2
|
||||
disable_receive_shadows = true
|
||||
|
@ -14,3 +14,4 @@ normal_texture = ExtResource("4_db6g0")
|
||||
ao_enabled = true
|
||||
ao_texture = ExtResource("2_3732n")
|
||||
texture_filter = 5
|
||||
disable_receive_shadows = true
|
||||
|
BIN
materials/stairs.png
Normal file
BIN
materials/stairs.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.6 MiB |
34
materials/stairs.png.import
Normal file
34
materials/stairs.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dv6fmvhxa0yyr"
|
||||
path="res://.godot/imported/stairs.png-8852e0dd27c2e0c5b61937bcfdf2d9df.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://materials/stairs.png"
|
||||
dest_files=["res://.godot/imported/stairs.png-8852e0dd27c2e0c5b61937bcfdf2d9df.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=true
|
||||
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
|
@ -1,7 +1,7 @@
|
||||
[gd_resource type="StandardMaterial3D" load_steps=5 format=3 uid="uid://cobb5bm4y7nk7"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://tlaksepmx4fm" path="res://materials/steel/steel_albedo.jpg" id="1_y0jhp"]
|
||||
[ext_resource type="Texture2D" uid="uid://tx3pf0iblqgo" path="res://materials/steel/steel_metallic.jpg" id="3_hddmm"]
|
||||
[ext_resource type="Texture2D" uid="uid://tx3pf0iblqgo" path="res://materials/steel_fence/steel_fence_metallic.jpg" id="3_hddmm"]
|
||||
[ext_resource type="Texture2D" uid="uid://b76hh5upcpvrm" path="res://materials/steel_fence/steel_fence_normal.jpg" id="4_v1udo"]
|
||||
[ext_resource type="Texture2D" uid="uid://bdqwdrblis6aw" path="res://materials/steel_fence/steel_fence_roughness.jpg" id="5_1ofxx"]
|
||||
|
||||
@ -13,3 +13,4 @@ roughness_texture = ExtResource("5_1ofxx")
|
||||
normal_enabled = true
|
||||
normal_texture = ExtResource("4_v1udo")
|
||||
texture_filter = 2
|
||||
disable_receive_shadows = true
|
||||
|
@ -1,7 +1,7 @@
|
||||
[gd_resource type="StandardMaterial3D" load_steps=5 format=3 uid="uid://dgf570wtqn17j"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://b4reodnhta7sr" path="res://materials/steel_fence/steel_fence_albedo.png" id="1_lupfc"]
|
||||
[ext_resource type="Texture2D" uid="uid://tx3pf0iblqgo" path="res://materials/steel/steel_metallic.jpg" id="3_rree2"]
|
||||
[ext_resource type="Texture2D" uid="uid://tx3pf0iblqgo" path="res://materials/steel_fence/steel_fence_metallic.jpg" id="3_rree2"]
|
||||
[ext_resource type="Texture2D" uid="uid://b76hh5upcpvrm" path="res://materials/steel_fence/steel_fence_normal.jpg" id="4_6o2u3"]
|
||||
[ext_resource type="Texture2D" uid="uid://bdqwdrblis6aw" path="res://materials/steel_fence/steel_fence_roughness.jpg" id="5_7avjb"]
|
||||
|
||||
@ -14,3 +14,4 @@ roughness_texture = ExtResource("5_7avjb")
|
||||
normal_enabled = true
|
||||
normal_texture = ExtResource("4_6o2u3")
|
||||
texture_filter = 5
|
||||
disable_receive_shadows = true
|
||||
|
@ -14,3 +14,4 @@ normal_texture = ExtResource("4_r7yms")
|
||||
ao_enabled = true
|
||||
ao_texture = ExtResource("2_byjax")
|
||||
texture_filter = 5
|
||||
disable_receive_shadows = true
|
||||
|
@ -14,3 +14,4 @@ normal_texture = ExtResource("4_p2ds3")
|
||||
ao_enabled = true
|
||||
ao_texture = ExtResource("2_nln00")
|
||||
texture_filter = 5
|
||||
disable_receive_shadows = true
|
||||
|
BIN
materials/tower.png
Normal file
BIN
materials/tower.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 718 KiB |
34
materials/tower.png.import
Normal file
34
materials/tower.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://d2p5wswquw0la"
|
||||
path="res://.godot/imported/tower.png-af8481b47367d8ad6b6790723593a987.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://materials/tower.png"
|
||||
dest_files=["res://.godot/imported/tower.png-af8481b47367d8ad6b6790723593a987.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=true
|
||||
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
|
@ -7,3 +7,4 @@ albedo_texture = ExtResource("1_4040b")
|
||||
metallic_specular = 0.36
|
||||
roughness = 0.63
|
||||
texture_filter = 2
|
||||
disable_receive_shadows = true
|
||||
|
@ -14,3 +14,4 @@ normal_texture = ExtResource("4_pmu04")
|
||||
ao_enabled = true
|
||||
ao_texture = ExtResource("2_x5ntf")
|
||||
texture_filter = 5
|
||||
disable_receive_shadows = true
|
||||
|
BIN
misc/cover.png
Normal file
BIN
misc/cover.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 184 KiB |
34
misc/cover.png.import
Normal file
34
misc/cover.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cfc4cc586c38e"
|
||||
path="res://.godot/imported/cover.png-d93e27766f34d9ead04c7355b82975c1.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://misc/cover.png"
|
||||
dest_files=["res://.godot/imported/cover.png-d93e27766f34d9ead04c7355b82975c1.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=true
|
||||
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
|
7
misc/global_theme.tres
Normal file
7
misc/global_theme.tres
Normal file
@ -0,0 +1,7 @@
|
||||
[gd_resource type="Theme" load_steps=2 format=3 uid="uid://dpn05x2ipj8ah"]
|
||||
|
||||
[ext_resource type="FontFile" uid="uid://246jxnbu62q3" path="res://font/LilitaOne-Regular.ttf" id="1_7cjyy"]
|
||||
|
||||
[resource]
|
||||
Label/constants/outline_size = 2
|
||||
Label/fonts/font = ExtResource("1_7cjyy")
|
BIN
misc/icon.png
Normal file
BIN
misc/icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 172 KiB |
34
misc/icon.png.import
Normal file
34
misc/icon.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://mylp6a08fsjq"
|
||||
path="res://.godot/imported/icon.png-9c21e69c4eccbea186fe74b71b99d6cb.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://misc/icon.png"
|
||||
dest_files=["res://.godot/imported/icon.png-9c21e69c4eccbea186fe74b71b99d6cb.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=true
|
||||
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
|
Binary file not shown.
@ -1,51 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://8nth3l65bb7r"
|
||||
path="res://.godot/imported/grappling_hook.blend-2e604f48b288f3a507a2e743fac7348f.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://models/grappling_hook.blend"
|
||||
dest_files=["res://.godot/imported/grappling_hook.blend-2e604f48b288f3a507a2e743fac7348f.scn"]
|
||||
|
||||
[params]
|
||||
|
||||
nodes/root_type=""
|
||||
nodes/root_name=""
|
||||
nodes/apply_root_scale=true
|
||||
nodes/root_scale=1.0
|
||||
nodes/import_as_skeleton_bones=false
|
||||
meshes/ensure_tangents=true
|
||||
meshes/generate_lods=true
|
||||
meshes/create_shadow_meshes=true
|
||||
meshes/light_baking=1
|
||||
meshes/lightmap_texel_size=0.2
|
||||
meshes/force_disable_compression=false
|
||||
skins/use_named_skins=true
|
||||
animation/import=true
|
||||
animation/fps=30
|
||||
animation/trimming=false
|
||||
animation/remove_immutable_tracks=true
|
||||
animation/import_rest_as_RESET=false
|
||||
import_script/path=""
|
||||
_subresources={}
|
||||
blender/nodes/visible=0
|
||||
blender/nodes/active_collection_only=false
|
||||
blender/nodes/punctual_lights=true
|
||||
blender/nodes/cameras=true
|
||||
blender/nodes/custom_properties=true
|
||||
blender/nodes/modifiers=1
|
||||
blender/meshes/colors=false
|
||||
blender/meshes/uvs=true
|
||||
blender/meshes/normals=true
|
||||
blender/meshes/tangents=true
|
||||
blender/meshes/skins=2
|
||||
blender/meshes/export_bones_deforming_mesh_only=false
|
||||
blender/materials/unpack_enabled=true
|
||||
blender/materials/export_materials=1
|
||||
blender/animation/limit_playback=true
|
||||
blender/animation/always_sample=true
|
||||
blender/animation/group_tracks=true
|
@ -10,10 +10,11 @@ config_version=5
|
||||
|
||||
[application]
|
||||
|
||||
config/name="gmtk24"
|
||||
run/main_scene="res://scenes/demo/demo.tscn"
|
||||
config/name="Miniature Maker"
|
||||
run/main_scene="res://scenes/entrypoint_scene.tscn"
|
||||
config/features=PackedStringArray("4.3", "C#", "Forward Plus")
|
||||
config/icon="res://misc/icon.svg"
|
||||
boot_splash/image="res://misc/cover.png"
|
||||
config/icon="res://misc/icon.png"
|
||||
|
||||
[autoload]
|
||||
|
||||
@ -21,10 +22,7 @@ UserSettings="*res://scripts/UserSettings.cs"
|
||||
|
||||
[display]
|
||||
|
||||
window/size/viewport_width=1920
|
||||
window/size/viewport_height=1080
|
||||
window/stretch/mode="canvas_items"
|
||||
window/stretch/scale=2.0
|
||||
|
||||
[dotnet]
|
||||
|
||||
@ -38,6 +36,10 @@ enabled=PackedStringArray("res://addons/func_godot/plugin.cfg")
|
||||
|
||||
import/blender/enabled=false
|
||||
|
||||
[gui]
|
||||
|
||||
theme/custom="res://misc/global_theme.tres"
|
||||
|
||||
[importer_defaults]
|
||||
|
||||
texture={
|
||||
|
@ -17,7 +17,7 @@ viewport_path = NodePath("BlueprintRenderingViewport")
|
||||
|
||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_inyay"]
|
||||
noise_type = 3
|
||||
frequency = 0.0785
|
||||
frequency = 0.009
|
||||
|
||||
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_fhswu"]
|
||||
color_ramp = SubResource("Gradient_w67xe")
|
||||
@ -27,7 +27,7 @@ noise = SubResource("FastNoiseLite_inyay")
|
||||
resource_local_to_scene = true
|
||||
render_priority = 0
|
||||
shader = ExtResource("9_v0ymc")
|
||||
shader_parameter/FloatParameter = 0.002
|
||||
shader_parameter/FloatParameter = 0.01
|
||||
shader_parameter/ColorParameter2 = Color(0.176471, 0, 0.964706, 0)
|
||||
shader_parameter/ColorParameter = Color(1, 1, 1, 1)
|
||||
shader_parameter/Texture2DParameter = SubResource("ViewportTexture_cqsgk")
|
||||
@ -82,11 +82,11 @@ Table = NodePath("../table")
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 2.83695, 0, -4.36558)
|
||||
Hud = NodePath("../HUD")
|
||||
TrenchbroomMap = NodePath("../DemoMap")
|
||||
RelativeScale = 0.01
|
||||
RelativeScale = 0.004
|
||||
|
||||
[node name="BlueprintDrawing" type="CSGBox3D" parent="table"]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -0.0030241, 1.1074, -0.000483751)
|
||||
size = Vector3(0.9, 0.001, 0.9)
|
||||
size = Vector3(0.36, 0.001, 0.36)
|
||||
material = SubResource("ShaderMaterial_u26td")
|
||||
|
||||
[node name="HUD" parent="." node_paths=PackedStringArray("Player") instance=ExtResource("7_g7tfv")]
|
||||
@ -97,7 +97,6 @@ Table = NodePath("../table")
|
||||
|
||||
[node name="BlueprintRenderingViewport" type="SubViewport" parent="."]
|
||||
msaa_3d = 3
|
||||
render_target_update_mode = 1
|
||||
|
||||
[node name="BlueprintOrthoCam" type="Camera3D" parent="BlueprintRenderingViewport"]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, -1, 0)
|
||||
|
29
scenes/entrypoint_scene.tscn
Normal file
29
scenes/entrypoint_scene.tscn
Normal file
@ -0,0 +1,29 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://c5ksyousvxx7x"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dv81sy34l8ice" path="res://scenes/stairs/stairs.tscn" id="1_00r22"]
|
||||
[ext_resource type="Script" path="res://scripts/SceneSwitcher.cs" id="1_ps0jf"]
|
||||
[ext_resource type="PackedScene" uid="uid://bqtfwxneu1eqw" path="res://scenes/main_menu.tscn" id="2_mxfpj"]
|
||||
[ext_resource type="PackedScene" uid="uid://8po7ftboqq4k" path="res://scenes/demo/demo.tscn" id="2_rf0rf"]
|
||||
|
||||
[node name="EntrypointScene" type="Node" node_paths=PackedStringArray("LoadingScreen")]
|
||||
process_mode = 3
|
||||
script = ExtResource("1_ps0jf")
|
||||
AddedLoadingScreenSeconds = 0.3
|
||||
LoadingScreen = NodePath("LoadingScreen")
|
||||
MainMenu = ExtResource("2_mxfpj")
|
||||
DemoScene = ExtResource("2_rf0rf")
|
||||
StairsScene = ExtResource("1_00r22")
|
||||
|
||||
[node name="LoadingScreen" type="CenterContainer" parent="."]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = 4.0
|
||||
offset_right = 4.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="Label" type="Label" parent="LoadingScreen"]
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 36
|
||||
text = "Loading..."
|
@ -1,31 +0,0 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://7povmsfyrjf4"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://8nth3l65bb7r" path="res://models/grappling_hook.blend" id="1_nljl0"]
|
||||
|
||||
[sub_resource type="CSharpScript" id="CSharpScript_4q8vt"]
|
||||
script/source = "using Godot;
|
||||
|
||||
namespace Gmtk24 {
|
||||
public partial class GrapplingHook : RigidBody3D {
|
||||
public void OnCollisionEntered(Node node) {
|
||||
Freeze = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
"
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_rp2xw"]
|
||||
size = Vector3(0.872498, 0.875122, 0.902222)
|
||||
|
||||
[node name="GrapplingHook" type="RigidBody3D"]
|
||||
contact_monitor = true
|
||||
max_contacts_reported = 1
|
||||
script = SubResource("CSharpScript_4q8vt")
|
||||
|
||||
[node name="grappling_hook" parent="." instance=ExtResource("1_nljl0")]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 0, 0, 1, 0.00187739, -0.0024816, -0.348884)
|
||||
shape = SubResource("BoxShape3D_rp2xw")
|
||||
|
||||
[connection signal="body_entered" from="." to="." method="OnCollisionEntered"]
|
@ -15,6 +15,8 @@ sky_material = SubResource("ProceduralSkyMaterial_2n8bf")
|
||||
background_mode = 2
|
||||
sky = SubResource("Sky_jvem5")
|
||||
tonemap_mode = 2
|
||||
ssao_enabled = true
|
||||
ssao_radius = 0.05
|
||||
|
||||
[node name="HazyEnv" type="Node3D"]
|
||||
|
||||
@ -22,6 +24,7 @@ tonemap_mode = 2
|
||||
transform = Transform3D(0.914416, 0.167281, -0.368593, 0.265225, 0.44028, 0.857793, 0.305777, -0.88214, 0.358232, 0, 2, 0)
|
||||
light_angular_distance = 0.5
|
||||
light_bake_mode = 1
|
||||
shadow_enabled = true
|
||||
|
||||
[node name="Env" type="WorldEnvironment" parent="."]
|
||||
environment = SubResource("Environment_exkg8")
|
||||
|
@ -64,11 +64,11 @@ anchor_bottom = 1.0
|
||||
offset_top = -134.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 0
|
||||
mouse_filter = 2
|
||||
|
||||
[node name="HoverText" type="Label" parent="CenterContainer2"]
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 24
|
||||
text = "[Hover Text]"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="TableRecallPrompt" type="Label" parent="."]
|
||||
@ -78,4 +78,3 @@ offset_top = 22.0
|
||||
offset_right = 314.0
|
||||
offset_bottom = 67.0
|
||||
theme_override_font_sizes/font_size = 24
|
||||
text = "[Table Recall Text]"
|
||||
|
@ -8,7 +8,7 @@ bg_color = Color(0.2, 0.2, 0.2, 0.921569)
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_q40bd"]
|
||||
bg_color = Color(0.25, 0.25, 0.25, 0.909804)
|
||||
|
||||
[node name="PauseMenu" type="Control" node_paths=PackedStringArray("InitialFocusTarget", "VolumeSlider", "CameraSensitivityX", "CameraSensitivityY", "CameraInvertX", "CameraInvertY")]
|
||||
[node name="PauseMenu" type="Control" node_paths=PackedStringArray("InitialFocusTarget", "VolumeSlider", "CameraSensitivityX", "CameraSensitivityY", "CameraInvertX", "CameraInvertY", "TableOrbitSpeedX", "TableOrbitSpeedY", "TableOrbitInvertX", "TableOrbitInvertY", "MsaaOptions", "RenderScaleOptions", "UpscalingOptions", "WindowModeOptions")]
|
||||
process_mode = 3
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
@ -18,11 +18,19 @@ grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_p5jo3")
|
||||
InitialFocusTarget = NodePath("CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/ContinueButton")
|
||||
VolumeSlider = NodePath("CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/Options/VolumeSlider")
|
||||
CameraSensitivityX = NodePath("CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/Options/CameraXSlider")
|
||||
CameraSensitivityY = NodePath("CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/Options/CameraYSlider")
|
||||
CameraInvertX = NodePath("CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/Options/CameraXInvCheck")
|
||||
CameraInvertY = NodePath("CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/Options/CameraYInvCheck")
|
||||
VolumeSlider = NodePath("CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/General settings/Grid/VolumeSlider")
|
||||
CameraSensitivityX = NodePath("CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Camera/Grid/CameraXSlider")
|
||||
CameraSensitivityY = NodePath("CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Camera/Grid/CameraYSlider")
|
||||
CameraInvertX = NodePath("CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Camera/Grid/CameraXInvCheck")
|
||||
CameraInvertY = NodePath("CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Camera/Grid/CameraYInvCheck")
|
||||
TableOrbitSpeedX = NodePath("CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Building/Grid/RotateSpeedSlider")
|
||||
TableOrbitSpeedY = NodePath("CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Building/Grid/TiltSpeedSlider")
|
||||
TableOrbitInvertX = NodePath("CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Building/Grid/InvertRotateCheck")
|
||||
TableOrbitInvertY = NodePath("CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Building/Grid/InvertTiltCheck")
|
||||
MsaaOptions = NodePath("CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Graphics/Grid/MsaaOptions")
|
||||
RenderScaleOptions = NodePath("CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Graphics/Grid/RenderScaleOptions")
|
||||
UpscalingOptions = NodePath("CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Graphics/Grid/UpscaleOptions")
|
||||
WindowModeOptions = NodePath("CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Graphics/Grid/FullscreenOptions")
|
||||
|
||||
[node name="CenterContainer" type="CenterContainer" parent="."]
|
||||
process_mode = 2
|
||||
@ -61,17 +69,31 @@ layout_mode = 2
|
||||
focus_neighbor_top = NodePath("../QuitButton")
|
||||
text = "Continue"
|
||||
|
||||
[node name="Options" type="GridContainer" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons"]
|
||||
[node name="TabContainer" type="TabContainer" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons"]
|
||||
custom_minimum_size = Vector2(340, 200)
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 11
|
||||
current_tab = 0
|
||||
|
||||
[node name="General settings" type="MarginContainer" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 10
|
||||
theme_override_constants/margin_top = 10
|
||||
theme_override_constants/margin_right = 10
|
||||
theme_override_constants/margin_bottom = 10
|
||||
metadata/_tab_index = 0
|
||||
|
||||
[node name="Grid" type="GridContainer" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/General settings"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/h_separation = 14
|
||||
theme_override_constants/v_separation = 9
|
||||
columns = 2
|
||||
|
||||
[node name="VolumeLabel" type="Label" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/Options"]
|
||||
[node name="VolumeLabel" type="Label" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/General settings/Grid"]
|
||||
layout_mode = 2
|
||||
text = "Volume"
|
||||
|
||||
[node name="VolumeSlider" type="HSlider" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/Options"]
|
||||
[node name="VolumeSlider" type="HSlider" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/General settings/Grid"]
|
||||
custom_minimum_size = Vector2(100, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
@ -79,46 +101,202 @@ size_flags_vertical = 1
|
||||
max_value = 1.0
|
||||
step = 0.05
|
||||
|
||||
[node name="CameraXLabel" type="Label" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/Options"]
|
||||
[node name="Camera" type="MarginContainer" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 10
|
||||
theme_override_constants/margin_top = 10
|
||||
theme_override_constants/margin_right = 10
|
||||
theme_override_constants/margin_bottom = 10
|
||||
metadata/_tab_index = 1
|
||||
|
||||
[node name="Grid" type="GridContainer" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Camera"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/h_separation = 14
|
||||
theme_override_constants/v_separation = 9
|
||||
columns = 2
|
||||
|
||||
[node name="CameraXLabel" type="Label" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Camera/Grid"]
|
||||
layout_mode = 2
|
||||
text = "Camera yaw speed"
|
||||
|
||||
[node name="CameraXSlider" type="HSlider" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/Options"]
|
||||
[node name="CameraXSlider" type="HSlider" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Camera/Grid"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 1
|
||||
max_value = 10.0
|
||||
step = 0.25
|
||||
|
||||
[node name="CameraXInvLabel" type="Label" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/Options"]
|
||||
[node name="CameraXInvLabel" type="Label" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Camera/Grid"]
|
||||
layout_mode = 2
|
||||
text = "Camera invert yaw"
|
||||
|
||||
[node name="CameraXInvCheck" type="CheckButton" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/Options"]
|
||||
[node name="CameraXInvCheck" type="CheckButton" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Camera/Grid"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
action_mode = 0
|
||||
|
||||
[node name="CameraYLabel" type="Label" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/Options"]
|
||||
[node name="CameraYLabel" type="Label" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Camera/Grid"]
|
||||
layout_mode = 2
|
||||
text = "Camera pitch speed"
|
||||
|
||||
[node name="CameraYSlider" type="HSlider" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/Options"]
|
||||
[node name="CameraYSlider" type="HSlider" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Camera/Grid"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 1
|
||||
max_value = 10.0
|
||||
step = 0.25
|
||||
|
||||
[node name="CameraYInvLabel" type="Label" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/Options"]
|
||||
[node name="CameraYInvLabel" type="Label" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Camera/Grid"]
|
||||
layout_mode = 2
|
||||
text = "Camera invert pitch"
|
||||
|
||||
[node name="CameraYInvCheck" type="CheckButton" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/Options"]
|
||||
[node name="CameraYInvCheck" type="CheckButton" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Camera/Grid"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
action_mode = 0
|
||||
|
||||
[node name="Building" type="MarginContainer" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 10
|
||||
theme_override_constants/margin_top = 10
|
||||
theme_override_constants/margin_right = 10
|
||||
theme_override_constants/margin_bottom = 10
|
||||
metadata/_tab_index = 2
|
||||
|
||||
[node name="Grid" type="GridContainer" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Building"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/h_separation = 14
|
||||
theme_override_constants/v_separation = 9
|
||||
columns = 2
|
||||
|
||||
[node name="RotateSpeedLabel" type="Label" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Building/Grid"]
|
||||
layout_mode = 2
|
||||
text = "Rotation speed"
|
||||
|
||||
[node name="RotateSpeedSlider" type="HSlider" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Building/Grid"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 1
|
||||
max_value = 6.0
|
||||
step = 0.25
|
||||
|
||||
[node name="InvertRotateLabel" type="Label" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Building/Grid"]
|
||||
layout_mode = 2
|
||||
text = "Invert rotation"
|
||||
|
||||
[node name="InvertRotateCheck" type="CheckButton" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Building/Grid"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
action_mode = 0
|
||||
|
||||
[node name="TiltSpeedLabel" type="Label" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Building/Grid"]
|
||||
layout_mode = 2
|
||||
text = "Tilt speed"
|
||||
|
||||
[node name="TiltSpeedSlider" type="HSlider" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Building/Grid"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 1
|
||||
max_value = 6.0
|
||||
step = 0.25
|
||||
|
||||
[node name="InvertTiltLabel" type="Label" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Building/Grid"]
|
||||
layout_mode = 2
|
||||
text = "Invert tilt"
|
||||
|
||||
[node name="InvertTiltCheck" type="CheckButton" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Building/Grid"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
action_mode = 0
|
||||
|
||||
[node name="Graphics" type="MarginContainer" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 10
|
||||
theme_override_constants/margin_top = 10
|
||||
theme_override_constants/margin_right = 10
|
||||
theme_override_constants/margin_bottom = 10
|
||||
metadata/_tab_index = 3
|
||||
|
||||
[node name="Grid" type="GridContainer" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Graphics"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/h_separation = 14
|
||||
theme_override_constants/v_separation = 9
|
||||
columns = 2
|
||||
|
||||
[node name="FullscreenLabel" type="Label" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Graphics/Grid"]
|
||||
layout_mode = 2
|
||||
text = "Display mode"
|
||||
|
||||
[node name="FullscreenOptions" type="OptionButton" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Graphics/Grid"]
|
||||
layout_mode = 2
|
||||
selected = 0
|
||||
item_count = 3
|
||||
popup/item_0/text = "Windowed"
|
||||
popup/item_1/text = "Fullscreen"
|
||||
popup/item_1/id = 1
|
||||
popup/item_2/text = "Exclusive fullscreen"
|
||||
popup/item_2/id = 2
|
||||
|
||||
[node name="MsaaLabel" type="Label" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Graphics/Grid"]
|
||||
layout_mode = 2
|
||||
text = "MSAA"
|
||||
|
||||
[node name="MsaaOptions" type="OptionButton" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Graphics/Grid"]
|
||||
layout_mode = 2
|
||||
selected = 2
|
||||
item_count = 4
|
||||
popup/item_0/text = "Disabled"
|
||||
popup/item_1/text = "2 samples"
|
||||
popup/item_1/id = 1
|
||||
popup/item_2/text = "4 samples"
|
||||
popup/item_2/id = 2
|
||||
popup/item_3/text = "8 samples"
|
||||
popup/item_3/id = 3
|
||||
|
||||
[node name="RenderScaleLabel" type="Label" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Graphics/Grid"]
|
||||
layout_mode = 2
|
||||
text = "Render scale
|
||||
"
|
||||
|
||||
[node name="RenderScaleOptions" type="OptionButton" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Graphics/Grid"]
|
||||
layout_mode = 2
|
||||
selected = 3
|
||||
item_count = 6
|
||||
popup/item_0/text = "25%"
|
||||
popup/item_0/id = 25
|
||||
popup/item_1/text = "50%"
|
||||
popup/item_1/id = 50
|
||||
popup/item_2/text = "75%"
|
||||
popup/item_2/id = 75
|
||||
popup/item_3/text = "100%"
|
||||
popup/item_3/id = 100
|
||||
popup/item_4/text = "150%"
|
||||
popup/item_4/id = 150
|
||||
popup/item_5/text = "200%"
|
||||
popup/item_5/id = 200
|
||||
|
||||
[node name="UpscaleLabel" type="Label" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Graphics/Grid"]
|
||||
layout_mode = 2
|
||||
text = "Upscaling"
|
||||
|
||||
[node name="UpscaleOptions" type="OptionButton" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons/TabContainer/Graphics/Grid"]
|
||||
layout_mode = 2
|
||||
disabled = true
|
||||
selected = 0
|
||||
item_count = 3
|
||||
popup/item_0/text = "Linear"
|
||||
popup/item_1/text = "FSR 1.0"
|
||||
popup/item_1/id = 1
|
||||
popup/item_2/text = "FSR 2.2"
|
||||
popup/item_2/id = 2
|
||||
|
||||
[node name="QuitButton" type="Button" parent="CenterContainer/HBoxContainer/OptionsAndButtonsContainer/MarginContainer/Options and buttons"]
|
||||
layout_mode = 2
|
||||
focus_neighbor_bottom = NodePath("../ContinueButton")
|
||||
text = "Quit"
|
||||
text = "Back to main menu"
|
||||
|
||||
[node name="CreditsContainer" type="PanelContainer" parent="CenterContainer/HBoxContainer"]
|
||||
custom_minimum_size = Vector2(300, 0)
|
||||
|
108
scenes/main_menu.tscn
Normal file
108
scenes/main_menu.tscn
Normal file
@ -0,0 +1,108 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://bqtfwxneu1eqw"]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/MainMenu.cs" id="1_8obly"]
|
||||
[ext_resource type="Texture2D" uid="uid://d2p5wswquw0la" path="res://materials/tower.png" id="1_h16yv"]
|
||||
[ext_resource type="Texture2D" uid="uid://dv6fmvhxa0yyr" path="res://materials/stairs.png" id="2_6auxm"]
|
||||
|
||||
[node name="MainMenu" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_8obly")
|
||||
|
||||
[node name="Panel" type="Panel" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="GameNameLabel" type="Label" parent="Panel"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 10
|
||||
anchor_right = 1.0
|
||||
offset_top = 100.0
|
||||
offset_bottom = 188.0
|
||||
grow_horizontal = 2
|
||||
theme_override_font_sizes/font_size = 64
|
||||
text = "Miniature Maker"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="Panel"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -602.0
|
||||
offset_top = -300.0
|
||||
offset_right = 602.0
|
||||
offset_bottom = 300.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
alignment = 1
|
||||
|
||||
[node name="BoxContainer2" type="BoxContainer" parent="Panel/HBoxContainer"]
|
||||
custom_minimum_size = Vector2(300, 300)
|
||||
layout_mode = 2
|
||||
alignment = 1
|
||||
vertical = true
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="Panel/HBoxContainer/BoxContainer2"]
|
||||
layout_mode = 2
|
||||
texture = ExtResource("1_h16yv")
|
||||
expand_mode = 5
|
||||
stretch_mode = 5
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="TowerButton" type="Button" parent="Panel/HBoxContainer/BoxContainer2"]
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 32
|
||||
text = "Tower"
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="BoxContainer" type="BoxContainer" parent="Panel/HBoxContainer"]
|
||||
custom_minimum_size = Vector2(300, 300)
|
||||
layout_mode = 2
|
||||
alignment = 1
|
||||
vertical = true
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="Panel/HBoxContainer/BoxContainer"]
|
||||
layout_mode = 2
|
||||
texture = ExtResource("2_6auxm")
|
||||
expand_mode = 5
|
||||
stretch_mode = 5
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="StairsButton" type="Button" parent="Panel/HBoxContainer/BoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 32
|
||||
text = "Stairs"
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="QuitButton" type="Button" parent="Panel"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 7
|
||||
anchor_left = 0.5
|
||||
anchor_top = 1.0
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -100.0
|
||||
offset_top = -180.0
|
||||
offset_right = 100.0
|
||||
offset_bottom = -127.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 0
|
||||
theme_override_font_sizes/font_size = 32
|
||||
text = "Quit"
|
||||
|
||||
[connection signal="pressed" from="Panel/HBoxContainer/BoxContainer2/TowerButton" to="." method="Tower"]
|
||||
[connection signal="pressed" from="Panel/HBoxContainer/BoxContainer/StairsButton" to="." method="Stairs"]
|
||||
[connection signal="pressed" from="Panel/QuitButton" to="." method="Quit"]
|
Binary file not shown.
@ -23,4 +23,4 @@ compress/channel_pack=1
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
slices/horizontal=1
|
||||
slices/vertical=1
|
||||
slices/vertical=2
|
||||
|
Binary file not shown.
@ -44,12 +44,13 @@ light_data = ExtResource("2_36ysp")
|
||||
|
||||
[node name="HazyEnv" parent="." instance=ExtResource("3_gdvn0")]
|
||||
|
||||
[node name="Player" parent="." instance=ExtResource("8_6btor")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -58.6119, 24, 3.65156)
|
||||
[node name="Player" parent="." node_paths=PackedStringArray("Table") instance=ExtResource("8_6btor")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -205.512, -4.76837e-07, 45.9007)
|
||||
MaxVolumeWindHeight = 60.0
|
||||
Table = NodePath("../table")
|
||||
|
||||
[node name="table" parent="." node_paths=PackedStringArray("Hud", "TrenchbroomMap") instance=ExtResource("10_hcwch")]
|
||||
transform = Transform3D(-0.0123217, 0, 0.999924, 0, 1, 0, -0.999924, 0, -0.0123217, -58.2601, 24.0011, 0)
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -205.16, -0.00674486, 42.2491)
|
||||
Hud = NodePath("../HUD")
|
||||
TrenchbroomMap = NodePath("../StairsMap")
|
||||
RelativeScale = 0.002
|
||||
@ -64,7 +65,8 @@ material = SubResource("ShaderMaterial_ltak5")
|
||||
[node name="HUD" parent="." node_paths=PackedStringArray("Player") instance=ExtResource("8_i25qr")]
|
||||
Player = NodePath("../Player")
|
||||
|
||||
[node name="PauseMenu" parent="." instance=ExtResource("9_cfhxe")]
|
||||
[node name="PauseMenu" parent="." node_paths=PackedStringArray("Table") instance=ExtResource("9_cfhxe")]
|
||||
Table = NodePath("../table")
|
||||
|
||||
[node name="SubViewport" type="SubViewport" parent="."]
|
||||
msaa_3d = 3
|
||||
|
File diff suppressed because one or more lines are too long
@ -47,6 +47,8 @@ namespace Gmtk24 {
|
||||
|
||||
HoverText.Text = $"{FormButtonNames("interact")}: {interactible.InteractName}";
|
||||
} else {
|
||||
Hovered?.SetHovered(false);
|
||||
Hovered = null;
|
||||
HoverText.Text = "";
|
||||
}
|
||||
} else {
|
||||
@ -66,9 +68,9 @@ namespace Gmtk24 {
|
||||
if (!Player.Table.Orbit.IsEnabled) {
|
||||
var names = FormButtonNames("toggle_table");
|
||||
if (Player.Table.IsEnabled)
|
||||
CornerPrompt.Text = $"{names}: {"Recall Table"}";
|
||||
CornerPrompt.Text = $"{names}: {"Dismiss Table"}";
|
||||
else
|
||||
CornerPrompt.Text = $"{names}: {"Spawn Table"}";
|
||||
CornerPrompt.Text = $"{names}: {"Summon Table"}";
|
||||
} else {
|
||||
if (Player.Table.Orbit.HeldBlock == null) {
|
||||
var zoom_out = FormButtonNames("zoom_orbit_out");
|
||||
|
19
scripts/MainMenu.cs
Normal file
19
scripts/MainMenu.cs
Normal file
@ -0,0 +1,19 @@
|
||||
using Gmtk24;
|
||||
using Godot;
|
||||
using System;
|
||||
|
||||
namespace Gmtk24 {
|
||||
public partial class MainMenu : Control {
|
||||
public void Tower() {
|
||||
SceneSwitcher.Singleton.SwitchToScene(SceneSwitcher.Scene.Demo);
|
||||
}
|
||||
|
||||
public void Stairs() {
|
||||
SceneSwitcher.Singleton.SwitchToScene(SceneSwitcher.Scene.Stairs);
|
||||
}
|
||||
|
||||
public void Quit() {
|
||||
GetTree().Quit();
|
||||
}
|
||||
}
|
||||
}
|
@ -30,7 +30,7 @@ namespace Gmtk24 {
|
||||
[Export]
|
||||
public float RotateAmt = (float)(Math.PI / 12);
|
||||
[Export]
|
||||
public float DragDistanceTreshold = 500f;
|
||||
public float DragDistanceTreshold = 150f;
|
||||
|
||||
[ExportCategory("Debug")]
|
||||
[Export]
|
||||
@ -104,7 +104,7 @@ namespace Gmtk24 {
|
||||
Input.MouseMode = Input.MouseModeEnum.Visible;
|
||||
|
||||
if (Input.IsActionPressed("drag_orbit") && @event is InputEventMouseMotion mouseMotion) {
|
||||
var cameraSensitivity = UserSettings.Singleton.GetCameraSpeedMultipliers();
|
||||
var cameraSensitivity = UserSettings.Singleton.GetOrbitSpeedMultipliers();
|
||||
var mouseMultiplier = 0.0003f;
|
||||
CurrentYaw -= mouseMotion.ScreenRelative.X * mouseMultiplier * cameraSensitivity.X;
|
||||
CurrentPitch -= mouseMotion.ScreenRelative.Y * mouseMultiplier * cameraSensitivity.Y;
|
||||
|
@ -4,9 +4,10 @@ namespace Gmtk24 {
|
||||
public partial class PauseMenu : Control {
|
||||
[Export]
|
||||
public Control InitialFocusTarget;
|
||||
[ExportCategory("Setting controls")]
|
||||
[ExportCategory("Setting controls (general)")]
|
||||
[Export]
|
||||
public Range VolumeSlider;
|
||||
[ExportCategory("Setting controls (camera)")]
|
||||
[Export]
|
||||
public Range CameraSensitivityX;
|
||||
[Export]
|
||||
@ -15,6 +16,24 @@ namespace Gmtk24 {
|
||||
public BaseButton CameraInvertX;
|
||||
[Export]
|
||||
public BaseButton CameraInvertY;
|
||||
[ExportCategory("Setting controls (building)")]
|
||||
[Export]
|
||||
public Range TableOrbitSpeedX;
|
||||
[Export]
|
||||
public Range TableOrbitSpeedY;
|
||||
[Export]
|
||||
public BaseButton TableOrbitInvertX;
|
||||
[Export]
|
||||
public BaseButton TableOrbitInvertY;
|
||||
[ExportCategory("Setting controls (graphics)")]
|
||||
[Export]
|
||||
public OptionButton MsaaOptions;
|
||||
[Export]
|
||||
public OptionButton RenderScaleOptions;
|
||||
[Export]
|
||||
public OptionButton UpscalingOptions;
|
||||
[Export]
|
||||
public OptionButton WindowModeOptions;
|
||||
|
||||
[Export]
|
||||
public Table Table;
|
||||
@ -24,6 +43,7 @@ namespace Gmtk24 {
|
||||
public override void _Ready() {
|
||||
VolumeSlider.Value = UserSettings.Singleton.Volume;
|
||||
VolumeSlider.ValueChanged += (value) => UserSettings.Singleton.SetVolume((float)value);
|
||||
|
||||
CameraSensitivityX.Value = UserSettings.Singleton.CameraSensitivityX;
|
||||
CameraSensitivityX.ValueChanged += (value) => UserSettings.Singleton.CameraSensitivityX = (float)value;
|
||||
CameraSensitivityY.Value = UserSettings.Singleton.CameraSensitivityY;
|
||||
@ -33,7 +53,67 @@ namespace Gmtk24 {
|
||||
CameraInvertY.ButtonPressed = UserSettings.Singleton.CameraInvertY;
|
||||
CameraInvertY.Toggled += (on) => UserSettings.Singleton.CameraInvertY = on;
|
||||
|
||||
Open();
|
||||
TableOrbitSpeedX.Value = UserSettings.Singleton.TableOrbitSpeedX;
|
||||
TableOrbitSpeedX.ValueChanged += (value) => UserSettings.Singleton.TableOrbitSpeedX = (float)value;
|
||||
TableOrbitSpeedY.Value = UserSettings.Singleton.TableOrbitSpeedY;
|
||||
TableOrbitSpeedY.ValueChanged += (value) => UserSettings.Singleton.TableOrbitSpeedY = (float)value;
|
||||
TableOrbitInvertX.ButtonPressed = UserSettings.Singleton.TableOrbitInvertX;
|
||||
TableOrbitInvertX.Toggled += (on) => UserSettings.Singleton.TableOrbitInvertX = on;
|
||||
TableOrbitInvertY.ButtonPressed = UserSettings.Singleton.TableOrbitInvertY;
|
||||
TableOrbitInvertY.Toggled += (on) => UserSettings.Singleton.TableOrbitInvertY = on;
|
||||
|
||||
Viewport vp = GetViewport();
|
||||
|
||||
MsaaOptions.Selected = (int)vp.Msaa3D;
|
||||
MsaaOptions.ItemSelected += (index) => {
|
||||
vp.Msaa3D = (Viewport.Msaa)index;
|
||||
GD.Print("Set MSAA to: ", vp.Msaa3D);
|
||||
};
|
||||
|
||||
RenderScaleOptions.Selected = -1;
|
||||
for (int i = 0; i < RenderScaleOptions.ItemCount; i++) {
|
||||
if ((int)(vp.Scaling3DScale * 100) == RenderScaleOptions.GetItemId(i)) {
|
||||
RenderScaleOptions.Selected = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
RenderScaleOptions.ItemSelected += (index) => {
|
||||
vp.Scaling3DScale = RenderScaleOptions.GetItemId((int)index) / 100f;
|
||||
UpscalingOptions.Disabled = vp.Scaling3DScale > 1;
|
||||
GD.Print("Set scale to: ", vp.Scaling3DScale);
|
||||
};
|
||||
|
||||
UpscalingOptions.Selected = (int)vp.Scaling3DMode;
|
||||
UpscalingOptions.ItemSelected += (index) => {
|
||||
vp.Scaling3DMode = (Viewport.Scaling3DModeEnum)index;
|
||||
GD.Print("Set scaling mode to: ", vp.Scaling3DMode);
|
||||
};
|
||||
|
||||
DisplayServer.WindowMode mode = DisplayServer.WindowGetMode();
|
||||
WindowModeOptions.Selected = 0;
|
||||
if (mode == DisplayServer.WindowMode.Fullscreen) {
|
||||
WindowModeOptions.Selected = 1;
|
||||
} else if (mode == DisplayServer.WindowMode.ExclusiveFullscreen) {
|
||||
WindowModeOptions.Selected = 2;
|
||||
}
|
||||
WindowModeOptions.ItemSelected += (index) => {
|
||||
DisplayServer.WindowMode currentMode = DisplayServer.WindowGetMode();
|
||||
DisplayServer.WindowMode windowedMode = DisplayServer.WindowMode.Windowed;
|
||||
if (currentMode != DisplayServer.WindowMode.Fullscreen
|
||||
&& currentMode != DisplayServer.WindowMode.ExclusiveFullscreen) {
|
||||
// Not fullscreen: set the windowed mode to the current one to preserve maximizing status
|
||||
windowedMode = currentMode;
|
||||
}
|
||||
if (index == 0) {
|
||||
DisplayServer.WindowSetMode(windowedMode);
|
||||
} else if (index == 1) {
|
||||
DisplayServer.WindowSetMode(DisplayServer.WindowMode.Fullscreen);
|
||||
} else if (index == 2) {
|
||||
DisplayServer.WindowSetMode(DisplayServer.WindowMode.ExclusiveFullscreen);
|
||||
}
|
||||
};
|
||||
|
||||
Close();
|
||||
}
|
||||
|
||||
public override void _Input(InputEvent @event) {
|
||||
@ -64,7 +144,7 @@ namespace Gmtk24 {
|
||||
}
|
||||
|
||||
public void Quit() {
|
||||
GetTree().Quit();
|
||||
SceneSwitcher.Singleton.SwitchToScene(SceneSwitcher.Scene.MainMenu);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
112
scripts/SceneSwitcher.cs
Normal file
112
scripts/SceneSwitcher.cs
Normal file
@ -0,0 +1,112 @@
|
||||
using System.Threading;
|
||||
using Godot;
|
||||
|
||||
namespace Gmtk24 {
|
||||
public partial class SceneSwitcher : Node {
|
||||
public enum Scene {
|
||||
MainMenu,
|
||||
Demo,
|
||||
Stairs,
|
||||
}
|
||||
|
||||
/// <summary>This is the entrypoint of the godot project, and never gets
|
||||
/// unloaded. Set when the entrypoint scene is loaded.</summary>
|
||||
public static SceneSwitcher Singleton { get; private set; }
|
||||
|
||||
[Export]
|
||||
public float AddedLoadingScreenSeconds = 0.5f;
|
||||
[Export]
|
||||
public Control LoadingScreen;
|
||||
[Export]
|
||||
public PackedScene MainMenu;
|
||||
[Export]
|
||||
public PackedScene DemoScene;
|
||||
[Export]
|
||||
public PackedScene StairsScene;
|
||||
|
||||
private PackedScene NextScene = null;
|
||||
private Node InstantiatedScene = null;
|
||||
private bool SceneLoaded = false;
|
||||
/// <summary>The instantiation is deferred a bit to let the loading
|
||||
/// screen actually render in case the loading takes more than a few
|
||||
/// milliseconds.</summary>
|
||||
private float SceneLoadCooldown = 0;
|
||||
|
||||
public override void _Ready() {
|
||||
Singleton = this;
|
||||
SwitchToScene(Scene.MainMenu);
|
||||
}
|
||||
|
||||
public override void _UnhandledInput(InputEvent @event) {
|
||||
if (@event is InputEventKey keyEv && keyEv.Pressed && keyEv.CtrlPressed) {
|
||||
if (keyEv.Keycode == Key.F1) {
|
||||
SwitchToScene(Scene.Demo);
|
||||
GetViewport().SetInputAsHandled();
|
||||
}
|
||||
if (keyEv.Keycode == Key.F2) {
|
||||
SwitchToScene(Scene.Stairs);
|
||||
GetViewport().SetInputAsHandled();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void _Process(double delta) {
|
||||
if (!SceneLoaded) {
|
||||
SceneLoadCooldown -= (float)delta;
|
||||
if (SceneLoadCooldown <= 0 && NextScene != null) {
|
||||
LoadNextScene();
|
||||
NextScene = null;
|
||||
SceneLoaded = true;
|
||||
LoadingScreen.Visible = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void SwitchToScene(Scene newScene) {
|
||||
PackedScene sceneToInstantiate = null;
|
||||
switch (newScene) {
|
||||
case Scene.MainMenu:
|
||||
sceneToInstantiate = MainMenu;
|
||||
break;
|
||||
case Scene.Demo:
|
||||
sceneToInstantiate = DemoScene;
|
||||
break;
|
||||
case Scene.Stairs:
|
||||
sceneToInstantiate = StairsScene;
|
||||
break;
|
||||
}
|
||||
if (sceneToInstantiate == null) {
|
||||
GD.PrintErr("Tried to switch scenes to Scene." + newScene + " but it hasn't been set up in the entrypoint scene!");
|
||||
return;
|
||||
}
|
||||
|
||||
NextScene = sceneToInstantiate;
|
||||
|
||||
if (IsInstanceValid(InstantiatedScene)) {
|
||||
RemoveChild(InstantiatedScene);
|
||||
InstantiatedScene.QueueFree();
|
||||
}
|
||||
|
||||
LoadingScreen.Visible = true;
|
||||
SceneLoadCooldown = AddedLoadingScreenSeconds;
|
||||
SceneLoaded = false;
|
||||
}
|
||||
|
||||
private void LoadNextScene() {
|
||||
if (NextScene == null) {
|
||||
GD.PrintErr("LoadNextScene called but NextScene is null!");
|
||||
return;
|
||||
}
|
||||
|
||||
InstantiatedScene = NextScene.Instantiate();
|
||||
|
||||
if (InstantiatedScene.ProcessMode == ProcessModeEnum.Inherit) {
|
||||
InstantiatedScene.ProcessMode = ProcessModeEnum.Pausable;
|
||||
}
|
||||
AddChild(InstantiatedScene);
|
||||
MoveChild(InstantiatedScene, 0);
|
||||
|
||||
GetTree().Paused = false;
|
||||
}
|
||||
}
|
||||
}
|
@ -82,7 +82,8 @@ namespace Gmtk24 {
|
||||
}
|
||||
|
||||
public void Interact(InputEvent _) {
|
||||
Orbit.SetEnabled(true);
|
||||
if (IsEnabled)
|
||||
Orbit.SetEnabled(true);
|
||||
}
|
||||
|
||||
public override void _Process(double delta) {
|
||||
@ -158,7 +159,7 @@ namespace Gmtk24 {
|
||||
|
||||
private void OnBlockDrag(BuildingBlock _) {
|
||||
var offset = GhostBlock.OffsetFrom(GhostBlockNormal);
|
||||
EnablePlane(GhostBlock.Position - offset, new Quaternion(Vector3.Up, GhostBlockNormal));
|
||||
EnablePlane(GhostBlock.Position - offset, new Quaternion(Vector3.Up, 0));
|
||||
}
|
||||
|
||||
private void EnablePlane(Vector3 pos, Quaternion rot) {
|
||||
@ -185,7 +186,6 @@ namespace Gmtk24 {
|
||||
Visible = true;
|
||||
ProcessMode = ProcessModeEnum.Pausable;
|
||||
Position = position;
|
||||
lookAt.Y = 0;
|
||||
LookAt(lookAt);
|
||||
Rotate(Vector3.Up, (float)Math.PI / 2);
|
||||
}
|
||||
|
@ -7,11 +7,17 @@ namespace Gmtk24 {
|
||||
public static UserSettings Singleton { get; private set; }
|
||||
|
||||
public float Volume { get; private set; }
|
||||
|
||||
public float CameraSensitivityX = 2f;
|
||||
public float CameraSensitivityY = 2f;
|
||||
public bool CameraInvertX = false;
|
||||
public bool CameraInvertY = false;
|
||||
|
||||
public float TableOrbitSpeedX = 1f;
|
||||
public float TableOrbitSpeedY = 1f;
|
||||
public bool TableOrbitInvertX = false;
|
||||
public bool TableOrbitInvertY = false;
|
||||
|
||||
public override void _Ready() {
|
||||
SetVolume(0.2f);
|
||||
Singleton = this;
|
||||
@ -23,6 +29,12 @@ namespace Gmtk24 {
|
||||
return new Vector2(x, y);
|
||||
}
|
||||
|
||||
public Vector2 GetOrbitSpeedMultipliers() {
|
||||
var x = TableOrbitSpeedX * (TableOrbitInvertX ? -1 : 1);
|
||||
var y = TableOrbitSpeedY * (TableOrbitInvertY ? -1 : 1);
|
||||
return new Vector2(x, y);
|
||||
}
|
||||
|
||||
public void SetVolume(float volume) {
|
||||
AudioServer.SetBusVolumeDb(0, volume == 0 ? -80 : Mathf.LinearToDb(volume));
|
||||
Volume = volume;
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user