diff --git a/assets/level/Level.glb b/assets/level/Level.glb new file mode 100644 index 0000000..9e08ac2 Binary files /dev/null and b/assets/level/Level.glb differ diff --git a/assets/level/Level.glb.import b/assets/level/Level.glb.import new file mode 100644 index 0000000..bd8d76a --- /dev/null +++ b/assets/level/Level.glb.import @@ -0,0 +1,1065 @@ +[remap] + +importer="scene" +type="PackedScene" +path="res://.import/Level.glb-fea7ea71778c6b2d475d4f42faa3a16b.scn" + +[deps] + +source_file="res://assets/level/Level.glb" +dest_files=[ "res://.import/Level.glb-fea7ea71778c6b2d475d4f42faa3a16b.scn" ] + +[params] + +nodes/root_type="Spatial" +nodes/root_name="Scene Root" +nodes/root_scale=1.0 +nodes/custom_script="" +nodes/storage=0 +nodes/use_legacy_names=false +materials/location=1 +materials/storage=1 +materials/keep_on_reimport=true +meshes/octahedral_compression=true +meshes/compress=4286 +meshes/ensure_tangents=true +meshes/storage=0 +meshes/light_baking=0 +meshes/lightmap_texel_size=0.1 +skins/use_named_skins=true +external_files/store_in_subdir=false +animation/import=true +animation/fps=15 +animation/filter_script="" +animation/storage=false +animation/keep_custom_tracks=false +animation/optimizer/enabled=true +animation/optimizer/max_linear_error=0.05 +animation/optimizer/max_angular_error=0.01 +animation/optimizer/max_angle=22 +animation/optimizer/remove_unused_tracks=true +animation/clips/amount=0 +animation/clip_1/name="" +animation/clip_1/start_frame=0 +animation/clip_1/end_frame=0 +animation/clip_1/loops=false +animation/clip_2/name="" +animation/clip_2/start_frame=0 +animation/clip_2/end_frame=0 +animation/clip_2/loops=false +animation/clip_3/name="" +animation/clip_3/start_frame=0 +animation/clip_3/end_frame=0 +animation/clip_3/loops=false +animation/clip_4/name="" +animation/clip_4/start_frame=0 +animation/clip_4/end_frame=0 +animation/clip_4/loops=false +animation/clip_5/name="" +animation/clip_5/start_frame=0 +animation/clip_5/end_frame=0 +animation/clip_5/loops=false +animation/clip_6/name="" +animation/clip_6/start_frame=0 +animation/clip_6/end_frame=0 +animation/clip_6/loops=false +animation/clip_7/name="" +animation/clip_7/start_frame=0 +animation/clip_7/end_frame=0 +animation/clip_7/loops=false +animation/clip_8/name="" +animation/clip_8/start_frame=0 +animation/clip_8/end_frame=0 +animation/clip_8/loops=false +animation/clip_9/name="" +animation/clip_9/start_frame=0 +animation/clip_9/end_frame=0 +animation/clip_9/loops=false +animation/clip_10/name="" +animation/clip_10/start_frame=0 +animation/clip_10/end_frame=0 +animation/clip_10/loops=false +animation/clip_11/name="" +animation/clip_11/start_frame=0 +animation/clip_11/end_frame=0 +animation/clip_11/loops=false +animation/clip_12/name="" +animation/clip_12/start_frame=0 +animation/clip_12/end_frame=0 +animation/clip_12/loops=false +animation/clip_13/name="" +animation/clip_13/start_frame=0 +animation/clip_13/end_frame=0 +animation/clip_13/loops=false +animation/clip_14/name="" +animation/clip_14/start_frame=0 +animation/clip_14/end_frame=0 +animation/clip_14/loops=false +animation/clip_15/name="" +animation/clip_15/start_frame=0 +animation/clip_15/end_frame=0 +animation/clip_15/loops=false +animation/clip_16/name="" +animation/clip_16/start_frame=0 +animation/clip_16/end_frame=0 +animation/clip_16/loops=false +animation/clip_17/name="" +animation/clip_17/start_frame=0 +animation/clip_17/end_frame=0 +animation/clip_17/loops=false +animation/clip_18/name="" +animation/clip_18/start_frame=0 +animation/clip_18/end_frame=0 +animation/clip_18/loops=false +animation/clip_19/name="" +animation/clip_19/start_frame=0 +animation/clip_19/end_frame=0 +animation/clip_19/loops=false +animation/clip_20/name="" +animation/clip_20/start_frame=0 +animation/clip_20/end_frame=0 +animation/clip_20/loops=false +animation/clip_21/name="" +animation/clip_21/start_frame=0 +animation/clip_21/end_frame=0 +animation/clip_21/loops=false +animation/clip_22/name="" +animation/clip_22/start_frame=0 +animation/clip_22/end_frame=0 +animation/clip_22/loops=false +animation/clip_23/name="" +animation/clip_23/start_frame=0 +animation/clip_23/end_frame=0 +animation/clip_23/loops=false +animation/clip_24/name="" +animation/clip_24/start_frame=0 +animation/clip_24/end_frame=0 +animation/clip_24/loops=false +animation/clip_25/name="" +animation/clip_25/start_frame=0 +animation/clip_25/end_frame=0 +animation/clip_25/loops=false +animation/clip_26/name="" +animation/clip_26/start_frame=0 +animation/clip_26/end_frame=0 +animation/clip_26/loops=false +animation/clip_27/name="" +animation/clip_27/start_frame=0 +animation/clip_27/end_frame=0 +animation/clip_27/loops=false +animation/clip_28/name="" +animation/clip_28/start_frame=0 +animation/clip_28/end_frame=0 +animation/clip_28/loops=false +animation/clip_29/name="" +animation/clip_29/start_frame=0 +animation/clip_29/end_frame=0 +animation/clip_29/loops=false +animation/clip_30/name="" +animation/clip_30/start_frame=0 +animation/clip_30/end_frame=0 +animation/clip_30/loops=false +animation/clip_31/name="" +animation/clip_31/start_frame=0 +animation/clip_31/end_frame=0 +animation/clip_31/loops=false +animation/clip_32/name="" +animation/clip_32/start_frame=0 +animation/clip_32/end_frame=0 +animation/clip_32/loops=false +animation/clip_33/name="" +animation/clip_33/start_frame=0 +animation/clip_33/end_frame=0 +animation/clip_33/loops=false +animation/clip_34/name="" +animation/clip_34/start_frame=0 +animation/clip_34/end_frame=0 +animation/clip_34/loops=false +animation/clip_35/name="" +animation/clip_35/start_frame=0 +animation/clip_35/end_frame=0 +animation/clip_35/loops=false +animation/clip_36/name="" +animation/clip_36/start_frame=0 +animation/clip_36/end_frame=0 +animation/clip_36/loops=false +animation/clip_37/name="" +animation/clip_37/start_frame=0 +animation/clip_37/end_frame=0 +animation/clip_37/loops=false +animation/clip_38/name="" +animation/clip_38/start_frame=0 +animation/clip_38/end_frame=0 +animation/clip_38/loops=false +animation/clip_39/name="" +animation/clip_39/start_frame=0 +animation/clip_39/end_frame=0 +animation/clip_39/loops=false +animation/clip_40/name="" +animation/clip_40/start_frame=0 +animation/clip_40/end_frame=0 +animation/clip_40/loops=false +animation/clip_41/name="" +animation/clip_41/start_frame=0 +animation/clip_41/end_frame=0 +animation/clip_41/loops=false +animation/clip_42/name="" +animation/clip_42/start_frame=0 +animation/clip_42/end_frame=0 +animation/clip_42/loops=false +animation/clip_43/name="" +animation/clip_43/start_frame=0 +animation/clip_43/end_frame=0 +animation/clip_43/loops=false +animation/clip_44/name="" +animation/clip_44/start_frame=0 +animation/clip_44/end_frame=0 +animation/clip_44/loops=false +animation/clip_45/name="" +animation/clip_45/start_frame=0 +animation/clip_45/end_frame=0 +animation/clip_45/loops=false +animation/clip_46/name="" +animation/clip_46/start_frame=0 +animation/clip_46/end_frame=0 +animation/clip_46/loops=false +animation/clip_47/name="" +animation/clip_47/start_frame=0 +animation/clip_47/end_frame=0 +animation/clip_47/loops=false +animation/clip_48/name="" +animation/clip_48/start_frame=0 +animation/clip_48/end_frame=0 +animation/clip_48/loops=false +animation/clip_49/name="" +animation/clip_49/start_frame=0 +animation/clip_49/end_frame=0 +animation/clip_49/loops=false +animation/clip_50/name="" +animation/clip_50/start_frame=0 +animation/clip_50/end_frame=0 +animation/clip_50/loops=false +animation/clip_51/name="" +animation/clip_51/start_frame=0 +animation/clip_51/end_frame=0 +animation/clip_51/loops=false +animation/clip_52/name="" +animation/clip_52/start_frame=0 +animation/clip_52/end_frame=0 +animation/clip_52/loops=false +animation/clip_53/name="" +animation/clip_53/start_frame=0 +animation/clip_53/end_frame=0 +animation/clip_53/loops=false +animation/clip_54/name="" +animation/clip_54/start_frame=0 +animation/clip_54/end_frame=0 +animation/clip_54/loops=false +animation/clip_55/name="" +animation/clip_55/start_frame=0 +animation/clip_55/end_frame=0 +animation/clip_55/loops=false +animation/clip_56/name="" +animation/clip_56/start_frame=0 +animation/clip_56/end_frame=0 +animation/clip_56/loops=false +animation/clip_57/name="" +animation/clip_57/start_frame=0 +animation/clip_57/end_frame=0 +animation/clip_57/loops=false +animation/clip_58/name="" +animation/clip_58/start_frame=0 +animation/clip_58/end_frame=0 +animation/clip_58/loops=false +animation/clip_59/name="" +animation/clip_59/start_frame=0 +animation/clip_59/end_frame=0 +animation/clip_59/loops=false +animation/clip_60/name="" +animation/clip_60/start_frame=0 +animation/clip_60/end_frame=0 +animation/clip_60/loops=false +animation/clip_61/name="" +animation/clip_61/start_frame=0 +animation/clip_61/end_frame=0 +animation/clip_61/loops=false +animation/clip_62/name="" +animation/clip_62/start_frame=0 +animation/clip_62/end_frame=0 +animation/clip_62/loops=false +animation/clip_63/name="" +animation/clip_63/start_frame=0 +animation/clip_63/end_frame=0 +animation/clip_63/loops=false +animation/clip_64/name="" +animation/clip_64/start_frame=0 +animation/clip_64/end_frame=0 +animation/clip_64/loops=false +animation/clip_65/name="" +animation/clip_65/start_frame=0 +animation/clip_65/end_frame=0 +animation/clip_65/loops=false +animation/clip_66/name="" +animation/clip_66/start_frame=0 +animation/clip_66/end_frame=0 +animation/clip_66/loops=false +animation/clip_67/name="" +animation/clip_67/start_frame=0 +animation/clip_67/end_frame=0 +animation/clip_67/loops=false +animation/clip_68/name="" +animation/clip_68/start_frame=0 +animation/clip_68/end_frame=0 +animation/clip_68/loops=false +animation/clip_69/name="" +animation/clip_69/start_frame=0 +animation/clip_69/end_frame=0 +animation/clip_69/loops=false +animation/clip_70/name="" +animation/clip_70/start_frame=0 +animation/clip_70/end_frame=0 +animation/clip_70/loops=false +animation/clip_71/name="" +animation/clip_71/start_frame=0 +animation/clip_71/end_frame=0 +animation/clip_71/loops=false +animation/clip_72/name="" +animation/clip_72/start_frame=0 +animation/clip_72/end_frame=0 +animation/clip_72/loops=false +animation/clip_73/name="" +animation/clip_73/start_frame=0 +animation/clip_73/end_frame=0 +animation/clip_73/loops=false +animation/clip_74/name="" +animation/clip_74/start_frame=0 +animation/clip_74/end_frame=0 +animation/clip_74/loops=false +animation/clip_75/name="" +animation/clip_75/start_frame=0 +animation/clip_75/end_frame=0 +animation/clip_75/loops=false +animation/clip_76/name="" +animation/clip_76/start_frame=0 +animation/clip_76/end_frame=0 +animation/clip_76/loops=false +animation/clip_77/name="" +animation/clip_77/start_frame=0 +animation/clip_77/end_frame=0 +animation/clip_77/loops=false +animation/clip_78/name="" +animation/clip_78/start_frame=0 +animation/clip_78/end_frame=0 +animation/clip_78/loops=false +animation/clip_79/name="" +animation/clip_79/start_frame=0 +animation/clip_79/end_frame=0 +animation/clip_79/loops=false +animation/clip_80/name="" +animation/clip_80/start_frame=0 +animation/clip_80/end_frame=0 +animation/clip_80/loops=false +animation/clip_81/name="" +animation/clip_81/start_frame=0 +animation/clip_81/end_frame=0 +animation/clip_81/loops=false +animation/clip_82/name="" +animation/clip_82/start_frame=0 +animation/clip_82/end_frame=0 +animation/clip_82/loops=false +animation/clip_83/name="" +animation/clip_83/start_frame=0 +animation/clip_83/end_frame=0 +animation/clip_83/loops=false +animation/clip_84/name="" +animation/clip_84/start_frame=0 +animation/clip_84/end_frame=0 +animation/clip_84/loops=false +animation/clip_85/name="" +animation/clip_85/start_frame=0 +animation/clip_85/end_frame=0 +animation/clip_85/loops=false +animation/clip_86/name="" +animation/clip_86/start_frame=0 +animation/clip_86/end_frame=0 +animation/clip_86/loops=false +animation/clip_87/name="" +animation/clip_87/start_frame=0 +animation/clip_87/end_frame=0 +animation/clip_87/loops=false +animation/clip_88/name="" +animation/clip_88/start_frame=0 +animation/clip_88/end_frame=0 +animation/clip_88/loops=false +animation/clip_89/name="" +animation/clip_89/start_frame=0 +animation/clip_89/end_frame=0 +animation/clip_89/loops=false +animation/clip_90/name="" +animation/clip_90/start_frame=0 +animation/clip_90/end_frame=0 +animation/clip_90/loops=false +animation/clip_91/name="" +animation/clip_91/start_frame=0 +animation/clip_91/end_frame=0 +animation/clip_91/loops=false +animation/clip_92/name="" +animation/clip_92/start_frame=0 +animation/clip_92/end_frame=0 +animation/clip_92/loops=false +animation/clip_93/name="" +animation/clip_93/start_frame=0 +animation/clip_93/end_frame=0 +animation/clip_93/loops=false +animation/clip_94/name="" +animation/clip_94/start_frame=0 +animation/clip_94/end_frame=0 +animation/clip_94/loops=false +animation/clip_95/name="" +animation/clip_95/start_frame=0 +animation/clip_95/end_frame=0 +animation/clip_95/loops=false +animation/clip_96/name="" +animation/clip_96/start_frame=0 +animation/clip_96/end_frame=0 +animation/clip_96/loops=false +animation/clip_97/name="" +animation/clip_97/start_frame=0 +animation/clip_97/end_frame=0 +animation/clip_97/loops=false +animation/clip_98/name="" +animation/clip_98/start_frame=0 +animation/clip_98/end_frame=0 +animation/clip_98/loops=false +animation/clip_99/name="" +animation/clip_99/start_frame=0 +animation/clip_99/end_frame=0 +animation/clip_99/loops=false +animation/clip_100/name="" +animation/clip_100/start_frame=0 +animation/clip_100/end_frame=0 +animation/clip_100/loops=false +animation/clip_101/name="" +animation/clip_101/start_frame=0 +animation/clip_101/end_frame=0 +animation/clip_101/loops=false +animation/clip_102/name="" +animation/clip_102/start_frame=0 +animation/clip_102/end_frame=0 +animation/clip_102/loops=false +animation/clip_103/name="" +animation/clip_103/start_frame=0 +animation/clip_103/end_frame=0 +animation/clip_103/loops=false +animation/clip_104/name="" +animation/clip_104/start_frame=0 +animation/clip_104/end_frame=0 +animation/clip_104/loops=false +animation/clip_105/name="" +animation/clip_105/start_frame=0 +animation/clip_105/end_frame=0 +animation/clip_105/loops=false +animation/clip_106/name="" +animation/clip_106/start_frame=0 +animation/clip_106/end_frame=0 +animation/clip_106/loops=false +animation/clip_107/name="" +animation/clip_107/start_frame=0 +animation/clip_107/end_frame=0 +animation/clip_107/loops=false +animation/clip_108/name="" +animation/clip_108/start_frame=0 +animation/clip_108/end_frame=0 +animation/clip_108/loops=false +animation/clip_109/name="" +animation/clip_109/start_frame=0 +animation/clip_109/end_frame=0 +animation/clip_109/loops=false +animation/clip_110/name="" +animation/clip_110/start_frame=0 +animation/clip_110/end_frame=0 +animation/clip_110/loops=false +animation/clip_111/name="" +animation/clip_111/start_frame=0 +animation/clip_111/end_frame=0 +animation/clip_111/loops=false +animation/clip_112/name="" +animation/clip_112/start_frame=0 +animation/clip_112/end_frame=0 +animation/clip_112/loops=false +animation/clip_113/name="" +animation/clip_113/start_frame=0 +animation/clip_113/end_frame=0 +animation/clip_113/loops=false +animation/clip_114/name="" +animation/clip_114/start_frame=0 +animation/clip_114/end_frame=0 +animation/clip_114/loops=false +animation/clip_115/name="" +animation/clip_115/start_frame=0 +animation/clip_115/end_frame=0 +animation/clip_115/loops=false +animation/clip_116/name="" +animation/clip_116/start_frame=0 +animation/clip_116/end_frame=0 +animation/clip_116/loops=false +animation/clip_117/name="" +animation/clip_117/start_frame=0 +animation/clip_117/end_frame=0 +animation/clip_117/loops=false +animation/clip_118/name="" +animation/clip_118/start_frame=0 +animation/clip_118/end_frame=0 +animation/clip_118/loops=false +animation/clip_119/name="" +animation/clip_119/start_frame=0 +animation/clip_119/end_frame=0 +animation/clip_119/loops=false +animation/clip_120/name="" +animation/clip_120/start_frame=0 +animation/clip_120/end_frame=0 +animation/clip_120/loops=false +animation/clip_121/name="" +animation/clip_121/start_frame=0 +animation/clip_121/end_frame=0 +animation/clip_121/loops=false +animation/clip_122/name="" +animation/clip_122/start_frame=0 +animation/clip_122/end_frame=0 +animation/clip_122/loops=false +animation/clip_123/name="" +animation/clip_123/start_frame=0 +animation/clip_123/end_frame=0 +animation/clip_123/loops=false +animation/clip_124/name="" +animation/clip_124/start_frame=0 +animation/clip_124/end_frame=0 +animation/clip_124/loops=false +animation/clip_125/name="" +animation/clip_125/start_frame=0 +animation/clip_125/end_frame=0 +animation/clip_125/loops=false +animation/clip_126/name="" +animation/clip_126/start_frame=0 +animation/clip_126/end_frame=0 +animation/clip_126/loops=false +animation/clip_127/name="" +animation/clip_127/start_frame=0 +animation/clip_127/end_frame=0 +animation/clip_127/loops=false +animation/clip_128/name="" +animation/clip_128/start_frame=0 +animation/clip_128/end_frame=0 +animation/clip_128/loops=false +animation/clip_129/name="" +animation/clip_129/start_frame=0 +animation/clip_129/end_frame=0 +animation/clip_129/loops=false +animation/clip_130/name="" +animation/clip_130/start_frame=0 +animation/clip_130/end_frame=0 +animation/clip_130/loops=false +animation/clip_131/name="" +animation/clip_131/start_frame=0 +animation/clip_131/end_frame=0 +animation/clip_131/loops=false +animation/clip_132/name="" +animation/clip_132/start_frame=0 +animation/clip_132/end_frame=0 +animation/clip_132/loops=false +animation/clip_133/name="" +animation/clip_133/start_frame=0 +animation/clip_133/end_frame=0 +animation/clip_133/loops=false +animation/clip_134/name="" +animation/clip_134/start_frame=0 +animation/clip_134/end_frame=0 +animation/clip_134/loops=false +animation/clip_135/name="" +animation/clip_135/start_frame=0 +animation/clip_135/end_frame=0 +animation/clip_135/loops=false +animation/clip_136/name="" +animation/clip_136/start_frame=0 +animation/clip_136/end_frame=0 +animation/clip_136/loops=false +animation/clip_137/name="" +animation/clip_137/start_frame=0 +animation/clip_137/end_frame=0 +animation/clip_137/loops=false +animation/clip_138/name="" +animation/clip_138/start_frame=0 +animation/clip_138/end_frame=0 +animation/clip_138/loops=false +animation/clip_139/name="" +animation/clip_139/start_frame=0 +animation/clip_139/end_frame=0 +animation/clip_139/loops=false +animation/clip_140/name="" +animation/clip_140/start_frame=0 +animation/clip_140/end_frame=0 +animation/clip_140/loops=false +animation/clip_141/name="" +animation/clip_141/start_frame=0 +animation/clip_141/end_frame=0 +animation/clip_141/loops=false +animation/clip_142/name="" +animation/clip_142/start_frame=0 +animation/clip_142/end_frame=0 +animation/clip_142/loops=false +animation/clip_143/name="" +animation/clip_143/start_frame=0 +animation/clip_143/end_frame=0 +animation/clip_143/loops=false +animation/clip_144/name="" +animation/clip_144/start_frame=0 +animation/clip_144/end_frame=0 +animation/clip_144/loops=false +animation/clip_145/name="" +animation/clip_145/start_frame=0 +animation/clip_145/end_frame=0 +animation/clip_145/loops=false +animation/clip_146/name="" +animation/clip_146/start_frame=0 +animation/clip_146/end_frame=0 +animation/clip_146/loops=false +animation/clip_147/name="" +animation/clip_147/start_frame=0 +animation/clip_147/end_frame=0 +animation/clip_147/loops=false +animation/clip_148/name="" +animation/clip_148/start_frame=0 +animation/clip_148/end_frame=0 +animation/clip_148/loops=false +animation/clip_149/name="" +animation/clip_149/start_frame=0 +animation/clip_149/end_frame=0 +animation/clip_149/loops=false +animation/clip_150/name="" +animation/clip_150/start_frame=0 +animation/clip_150/end_frame=0 +animation/clip_150/loops=false +animation/clip_151/name="" +animation/clip_151/start_frame=0 +animation/clip_151/end_frame=0 +animation/clip_151/loops=false +animation/clip_152/name="" +animation/clip_152/start_frame=0 +animation/clip_152/end_frame=0 +animation/clip_152/loops=false +animation/clip_153/name="" +animation/clip_153/start_frame=0 +animation/clip_153/end_frame=0 +animation/clip_153/loops=false +animation/clip_154/name="" +animation/clip_154/start_frame=0 +animation/clip_154/end_frame=0 +animation/clip_154/loops=false +animation/clip_155/name="" +animation/clip_155/start_frame=0 +animation/clip_155/end_frame=0 +animation/clip_155/loops=false +animation/clip_156/name="" +animation/clip_156/start_frame=0 +animation/clip_156/end_frame=0 +animation/clip_156/loops=false +animation/clip_157/name="" +animation/clip_157/start_frame=0 +animation/clip_157/end_frame=0 +animation/clip_157/loops=false +animation/clip_158/name="" +animation/clip_158/start_frame=0 +animation/clip_158/end_frame=0 +animation/clip_158/loops=false +animation/clip_159/name="" +animation/clip_159/start_frame=0 +animation/clip_159/end_frame=0 +animation/clip_159/loops=false +animation/clip_160/name="" +animation/clip_160/start_frame=0 +animation/clip_160/end_frame=0 +animation/clip_160/loops=false +animation/clip_161/name="" +animation/clip_161/start_frame=0 +animation/clip_161/end_frame=0 +animation/clip_161/loops=false +animation/clip_162/name="" +animation/clip_162/start_frame=0 +animation/clip_162/end_frame=0 +animation/clip_162/loops=false +animation/clip_163/name="" +animation/clip_163/start_frame=0 +animation/clip_163/end_frame=0 +animation/clip_163/loops=false +animation/clip_164/name="" +animation/clip_164/start_frame=0 +animation/clip_164/end_frame=0 +animation/clip_164/loops=false +animation/clip_165/name="" +animation/clip_165/start_frame=0 +animation/clip_165/end_frame=0 +animation/clip_165/loops=false +animation/clip_166/name="" +animation/clip_166/start_frame=0 +animation/clip_166/end_frame=0 +animation/clip_166/loops=false +animation/clip_167/name="" +animation/clip_167/start_frame=0 +animation/clip_167/end_frame=0 +animation/clip_167/loops=false +animation/clip_168/name="" +animation/clip_168/start_frame=0 +animation/clip_168/end_frame=0 +animation/clip_168/loops=false +animation/clip_169/name="" +animation/clip_169/start_frame=0 +animation/clip_169/end_frame=0 +animation/clip_169/loops=false +animation/clip_170/name="" +animation/clip_170/start_frame=0 +animation/clip_170/end_frame=0 +animation/clip_170/loops=false +animation/clip_171/name="" +animation/clip_171/start_frame=0 +animation/clip_171/end_frame=0 +animation/clip_171/loops=false +animation/clip_172/name="" +animation/clip_172/start_frame=0 +animation/clip_172/end_frame=0 +animation/clip_172/loops=false +animation/clip_173/name="" +animation/clip_173/start_frame=0 +animation/clip_173/end_frame=0 +animation/clip_173/loops=false +animation/clip_174/name="" +animation/clip_174/start_frame=0 +animation/clip_174/end_frame=0 +animation/clip_174/loops=false +animation/clip_175/name="" +animation/clip_175/start_frame=0 +animation/clip_175/end_frame=0 +animation/clip_175/loops=false +animation/clip_176/name="" +animation/clip_176/start_frame=0 +animation/clip_176/end_frame=0 +animation/clip_176/loops=false +animation/clip_177/name="" +animation/clip_177/start_frame=0 +animation/clip_177/end_frame=0 +animation/clip_177/loops=false +animation/clip_178/name="" +animation/clip_178/start_frame=0 +animation/clip_178/end_frame=0 +animation/clip_178/loops=false +animation/clip_179/name="" +animation/clip_179/start_frame=0 +animation/clip_179/end_frame=0 +animation/clip_179/loops=false +animation/clip_180/name="" +animation/clip_180/start_frame=0 +animation/clip_180/end_frame=0 +animation/clip_180/loops=false +animation/clip_181/name="" +animation/clip_181/start_frame=0 +animation/clip_181/end_frame=0 +animation/clip_181/loops=false +animation/clip_182/name="" +animation/clip_182/start_frame=0 +animation/clip_182/end_frame=0 +animation/clip_182/loops=false +animation/clip_183/name="" +animation/clip_183/start_frame=0 +animation/clip_183/end_frame=0 +animation/clip_183/loops=false +animation/clip_184/name="" +animation/clip_184/start_frame=0 +animation/clip_184/end_frame=0 +animation/clip_184/loops=false +animation/clip_185/name="" +animation/clip_185/start_frame=0 +animation/clip_185/end_frame=0 +animation/clip_185/loops=false +animation/clip_186/name="" +animation/clip_186/start_frame=0 +animation/clip_186/end_frame=0 +animation/clip_186/loops=false +animation/clip_187/name="" +animation/clip_187/start_frame=0 +animation/clip_187/end_frame=0 +animation/clip_187/loops=false +animation/clip_188/name="" +animation/clip_188/start_frame=0 +animation/clip_188/end_frame=0 +animation/clip_188/loops=false +animation/clip_189/name="" +animation/clip_189/start_frame=0 +animation/clip_189/end_frame=0 +animation/clip_189/loops=false +animation/clip_190/name="" +animation/clip_190/start_frame=0 +animation/clip_190/end_frame=0 +animation/clip_190/loops=false +animation/clip_191/name="" +animation/clip_191/start_frame=0 +animation/clip_191/end_frame=0 +animation/clip_191/loops=false +animation/clip_192/name="" +animation/clip_192/start_frame=0 +animation/clip_192/end_frame=0 +animation/clip_192/loops=false +animation/clip_193/name="" +animation/clip_193/start_frame=0 +animation/clip_193/end_frame=0 +animation/clip_193/loops=false +animation/clip_194/name="" +animation/clip_194/start_frame=0 +animation/clip_194/end_frame=0 +animation/clip_194/loops=false +animation/clip_195/name="" +animation/clip_195/start_frame=0 +animation/clip_195/end_frame=0 +animation/clip_195/loops=false +animation/clip_196/name="" +animation/clip_196/start_frame=0 +animation/clip_196/end_frame=0 +animation/clip_196/loops=false +animation/clip_197/name="" +animation/clip_197/start_frame=0 +animation/clip_197/end_frame=0 +animation/clip_197/loops=false +animation/clip_198/name="" +animation/clip_198/start_frame=0 +animation/clip_198/end_frame=0 +animation/clip_198/loops=false +animation/clip_199/name="" +animation/clip_199/start_frame=0 +animation/clip_199/end_frame=0 +animation/clip_199/loops=false +animation/clip_200/name="" +animation/clip_200/start_frame=0 +animation/clip_200/end_frame=0 +animation/clip_200/loops=false +animation/clip_201/name="" +animation/clip_201/start_frame=0 +animation/clip_201/end_frame=0 +animation/clip_201/loops=false +animation/clip_202/name="" +animation/clip_202/start_frame=0 +animation/clip_202/end_frame=0 +animation/clip_202/loops=false +animation/clip_203/name="" +animation/clip_203/start_frame=0 +animation/clip_203/end_frame=0 +animation/clip_203/loops=false +animation/clip_204/name="" +animation/clip_204/start_frame=0 +animation/clip_204/end_frame=0 +animation/clip_204/loops=false +animation/clip_205/name="" +animation/clip_205/start_frame=0 +animation/clip_205/end_frame=0 +animation/clip_205/loops=false +animation/clip_206/name="" +animation/clip_206/start_frame=0 +animation/clip_206/end_frame=0 +animation/clip_206/loops=false +animation/clip_207/name="" +animation/clip_207/start_frame=0 +animation/clip_207/end_frame=0 +animation/clip_207/loops=false +animation/clip_208/name="" +animation/clip_208/start_frame=0 +animation/clip_208/end_frame=0 +animation/clip_208/loops=false +animation/clip_209/name="" +animation/clip_209/start_frame=0 +animation/clip_209/end_frame=0 +animation/clip_209/loops=false +animation/clip_210/name="" +animation/clip_210/start_frame=0 +animation/clip_210/end_frame=0 +animation/clip_210/loops=false +animation/clip_211/name="" +animation/clip_211/start_frame=0 +animation/clip_211/end_frame=0 +animation/clip_211/loops=false +animation/clip_212/name="" +animation/clip_212/start_frame=0 +animation/clip_212/end_frame=0 +animation/clip_212/loops=false +animation/clip_213/name="" +animation/clip_213/start_frame=0 +animation/clip_213/end_frame=0 +animation/clip_213/loops=false +animation/clip_214/name="" +animation/clip_214/start_frame=0 +animation/clip_214/end_frame=0 +animation/clip_214/loops=false +animation/clip_215/name="" +animation/clip_215/start_frame=0 +animation/clip_215/end_frame=0 +animation/clip_215/loops=false +animation/clip_216/name="" +animation/clip_216/start_frame=0 +animation/clip_216/end_frame=0 +animation/clip_216/loops=false +animation/clip_217/name="" +animation/clip_217/start_frame=0 +animation/clip_217/end_frame=0 +animation/clip_217/loops=false +animation/clip_218/name="" +animation/clip_218/start_frame=0 +animation/clip_218/end_frame=0 +animation/clip_218/loops=false +animation/clip_219/name="" +animation/clip_219/start_frame=0 +animation/clip_219/end_frame=0 +animation/clip_219/loops=false +animation/clip_220/name="" +animation/clip_220/start_frame=0 +animation/clip_220/end_frame=0 +animation/clip_220/loops=false +animation/clip_221/name="" +animation/clip_221/start_frame=0 +animation/clip_221/end_frame=0 +animation/clip_221/loops=false +animation/clip_222/name="" +animation/clip_222/start_frame=0 +animation/clip_222/end_frame=0 +animation/clip_222/loops=false +animation/clip_223/name="" +animation/clip_223/start_frame=0 +animation/clip_223/end_frame=0 +animation/clip_223/loops=false +animation/clip_224/name="" +animation/clip_224/start_frame=0 +animation/clip_224/end_frame=0 +animation/clip_224/loops=false +animation/clip_225/name="" +animation/clip_225/start_frame=0 +animation/clip_225/end_frame=0 +animation/clip_225/loops=false +animation/clip_226/name="" +animation/clip_226/start_frame=0 +animation/clip_226/end_frame=0 +animation/clip_226/loops=false +animation/clip_227/name="" +animation/clip_227/start_frame=0 +animation/clip_227/end_frame=0 +animation/clip_227/loops=false +animation/clip_228/name="" +animation/clip_228/start_frame=0 +animation/clip_228/end_frame=0 +animation/clip_228/loops=false +animation/clip_229/name="" +animation/clip_229/start_frame=0 +animation/clip_229/end_frame=0 +animation/clip_229/loops=false +animation/clip_230/name="" +animation/clip_230/start_frame=0 +animation/clip_230/end_frame=0 +animation/clip_230/loops=false +animation/clip_231/name="" +animation/clip_231/start_frame=0 +animation/clip_231/end_frame=0 +animation/clip_231/loops=false +animation/clip_232/name="" +animation/clip_232/start_frame=0 +animation/clip_232/end_frame=0 +animation/clip_232/loops=false +animation/clip_233/name="" +animation/clip_233/start_frame=0 +animation/clip_233/end_frame=0 +animation/clip_233/loops=false +animation/clip_234/name="" +animation/clip_234/start_frame=0 +animation/clip_234/end_frame=0 +animation/clip_234/loops=false +animation/clip_235/name="" +animation/clip_235/start_frame=0 +animation/clip_235/end_frame=0 +animation/clip_235/loops=false +animation/clip_236/name="" +animation/clip_236/start_frame=0 +animation/clip_236/end_frame=0 +animation/clip_236/loops=false +animation/clip_237/name="" +animation/clip_237/start_frame=0 +animation/clip_237/end_frame=0 +animation/clip_237/loops=false +animation/clip_238/name="" +animation/clip_238/start_frame=0 +animation/clip_238/end_frame=0 +animation/clip_238/loops=false +animation/clip_239/name="" +animation/clip_239/start_frame=0 +animation/clip_239/end_frame=0 +animation/clip_239/loops=false +animation/clip_240/name="" +animation/clip_240/start_frame=0 +animation/clip_240/end_frame=0 +animation/clip_240/loops=false +animation/clip_241/name="" +animation/clip_241/start_frame=0 +animation/clip_241/end_frame=0 +animation/clip_241/loops=false +animation/clip_242/name="" +animation/clip_242/start_frame=0 +animation/clip_242/end_frame=0 +animation/clip_242/loops=false +animation/clip_243/name="" +animation/clip_243/start_frame=0 +animation/clip_243/end_frame=0 +animation/clip_243/loops=false +animation/clip_244/name="" +animation/clip_244/start_frame=0 +animation/clip_244/end_frame=0 +animation/clip_244/loops=false +animation/clip_245/name="" +animation/clip_245/start_frame=0 +animation/clip_245/end_frame=0 +animation/clip_245/loops=false +animation/clip_246/name="" +animation/clip_246/start_frame=0 +animation/clip_246/end_frame=0 +animation/clip_246/loops=false +animation/clip_247/name="" +animation/clip_247/start_frame=0 +animation/clip_247/end_frame=0 +animation/clip_247/loops=false +animation/clip_248/name="" +animation/clip_248/start_frame=0 +animation/clip_248/end_frame=0 +animation/clip_248/loops=false +animation/clip_249/name="" +animation/clip_249/start_frame=0 +animation/clip_249/end_frame=0 +animation/clip_249/loops=false +animation/clip_250/name="" +animation/clip_250/start_frame=0 +animation/clip_250/end_frame=0 +animation/clip_250/loops=false +animation/clip_251/name="" +animation/clip_251/start_frame=0 +animation/clip_251/end_frame=0 +animation/clip_251/loops=false +animation/clip_252/name="" +animation/clip_252/start_frame=0 +animation/clip_252/end_frame=0 +animation/clip_252/loops=false +animation/clip_253/name="" +animation/clip_253/start_frame=0 +animation/clip_253/end_frame=0 +animation/clip_253/loops=false +animation/clip_254/name="" +animation/clip_254/start_frame=0 +animation/clip_254/end_frame=0 +animation/clip_254/loops=false +animation/clip_255/name="" +animation/clip_255/start_frame=0 +animation/clip_255/end_frame=0 +animation/clip_255/loops=false +animation/clip_256/name="" +animation/clip_256/start_frame=0 +animation/clip_256/end_frame=0 +animation/clip_256/loops=false diff --git a/assets/level/Level.tscn b/assets/level/Level.tscn new file mode 100644 index 0000000..d5f92e4 --- /dev/null +++ b/assets/level/Level.tscn @@ -0,0 +1,14 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://assets/level/Level.glb" type="PackedScene" id=1] + +[sub_resource type="CylinderShape" id=1] +height = 6.30212 +radius = 2.14679 + +[node name="Level" instance=ExtResource( 1 )] + +[node name="RTG" type="StaticBody" parent="." index="81"] + +[node name="CollisionShape" type="CollisionShape" parent="RTG" index="0"] +shape = SubResource( 1 ) diff --git a/assets/level/blinn1.material b/assets/level/blinn1.material new file mode 100644 index 0000000..b848d64 Binary files /dev/null and b/assets/level/blinn1.material differ diff --git a/assets/level/lambert1.material b/assets/level/lambert1.material new file mode 100644 index 0000000..6b008e5 Binary files /dev/null and b/assets/level/lambert1.material differ diff --git a/dialogic/folder_structure.json b/dialogic/folder_structure.json index e7f624d..23c6aa9 100644 --- a/dialogic/folder_structure.json +++ b/dialogic/folder_structure.json @@ -45,7 +45,8 @@ "timeline-1660444277.json", "timeline-1660454153.json", "timeline-1660463789.json", - "timeline-1660696967.json" + "timeline-1660696967.json", + "timeline-1660738067.json" ], "folders": { diff --git a/dialogic/settings.cfg b/dialogic/settings.cfg index e17b3aa..1dda154 100644 --- a/dialogic/settings.cfg +++ b/dialogic/settings.cfg @@ -17,3 +17,7 @@ timeline_file="timeline-1660443870.json" [animations] default_join_animation_length=0.5 + +[dialog] + +propagate_input=false diff --git a/dialogic/timelines/timeline-1660444277.json b/dialogic/timelines/timeline-1660444277.json index 9ed5c76..185cd3a 100644 --- a/dialogic/timelines/timeline-1660444277.json +++ b/dialogic/timelines/timeline-1660444277.json @@ -1,10 +1,15 @@ { "events": [ - + { + "character": "character-1660444172.json", + "event_id": "dialogic_001", + "portrait": "", + "text": "I should put this item down somewhere before going to bed." + } ], "metadata": { "dialogic-version": "1.4.4", "file": "timeline-1660444277.json", - "name": "whatever" + "name": "item_in_bed" } } diff --git a/dialogic/timelines/timeline-1660696967.json b/dialogic/timelines/timeline-1660696967.json index fd5f42c..4d36872 100644 --- a/dialogic/timelines/timeline-1660696967.json +++ b/dialogic/timelines/timeline-1660696967.json @@ -5,17 +5,6 @@ "event_id": "dialogic_001", "portrait": "", "text": "Oh boy! I gotta go to bed. That was tiring!" - }, - { - "event_id": "dialogic_023", - "hide_dialogbox": true, - "wait_seconds": 1 - }, - { - "character": "character-1660444172.json", - "event_id": "dialogic_001", - "portrait": "", - "text": "*yawn* Ah! What a good day it is to be stranded on this moon." } ], "metadata": { diff --git a/dialogic/timelines/timeline-1660738067.json b/dialogic/timelines/timeline-1660738067.json new file mode 100644 index 0000000..b235315 --- /dev/null +++ b/dialogic/timelines/timeline-1660738067.json @@ -0,0 +1,15 @@ +{ + "events": [ + { + "character": "character-1660444172.json", + "event_id": "dialogic_001", + "portrait": "", + "text": "*yawn* Ah! What a good day it is to be stranded on this moon." + } + ], + "metadata": { + "dialogic-version": "1.4.4", + "file": "timeline-1660738067.json", + "name": "wake_up" + } +} diff --git a/project.godot b/project.godot index c387223..f13a85c 100644 --- a/project.godot +++ b/project.godot @@ -99,17 +99,13 @@ _global_script_class_icons={ [application] config/name="project-dung" -run/main_scene="res://scenes/main.tscn" +run/main_scene="res://scenes/dev-daniel.tscn" config/icon="res://icon.png" -[debug] - -settings/stdout/print_fps=true - [display] -window/size/width=2048 -window/size/height=1200 +window/size/width=1920 +window/size/height=1080 window/dpi/allow_hidpi=true [editor_plugins] diff --git a/scenes/bed.tscn b/scenes/bed.tscn new file mode 100644 index 0000000..595f8a1 --- /dev/null +++ b/scenes/bed.tscn @@ -0,0 +1,31 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://scripts/bed.gd" type="Script" id=1] + +[sub_resource type="CubeMesh" id=2] +size = Vector3( 1.7, 0.5, 1 ) + +[sub_resource type="BoxShape" id=1] +extents = Vector3( 0.85, 2, 0.5 ) + +[node name="bed" type="Area"] +collision_layer = 8 +collision_mask = 4 +script = ExtResource( 1 ) + +[node name="MeshInstance" type="MeshInstance" parent="."] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.25, 0 ) +mesh = SubResource( 2 ) + +[node name="StaticBody" type="StaticBody" parent="."] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.25, 0 ) + +[node name="CollisionShape" type="CollisionShape" parent="StaticBody"] +shape = SubResource( 1 ) + +[node name="CollisionShape" type="CollisionShape" parent="."] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.25, 0 ) +shape = SubResource( 1 ) + +[node name="hop_position" type="Position3D" parent="." groups=["bed_hop_position"]] +transform = Transform( -1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0.919234 ) diff --git a/scenes/camera_room.tscn b/scenes/camera_room.tscn index c3f0fbd..dd81281 100644 --- a/scenes/camera_room.tscn +++ b/scenes/camera_room.tscn @@ -2,31 +2,31 @@ [ext_resource path="res://scripts/camera_room.gd" type="Script" id=1] -[sub_resource type="BoxShape" id=1] -extents = Vector3( 2.39087, 1.93969, 2.08096 ) +[sub_resource type="BoxShape" id=8] +extents = Vector3( 2.39087, 1.93969, 2.6586 ) [sub_resource type="CapsuleShape" id=2] -radius = 2.07384 -height = 8.68195 +radius = 4.16005 +height = 5.24756 -[node name="camera_room0" type="Spatial"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 15.4075, 0, 0 ) +[node name="camera_galley" type="Spatial"] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -16.3042 ) script = ExtResource( 1 ) [node name="camera" type="Camera" parent="."] -transform = Transform( 0.054985, 0.806829, -0.588221, 0, 0.589112, 0.808052, 0.998487, -0.0444307, 0.0323923, -6.51055, 9.74907, 0 ) -fov = 49.8 +transform = Transform( 1, 0, 0, 0, 0.642788, 0.766044, 0, -0.766044, 0.642788, 0, 8.562, 6.501 ) +fov = 40.0 [node name="hitbox" type="Area" parent="."] collision_layer = 16 collision_mask = 2 [node name="CollisionShape" type="CollisionShape" parent="hitbox"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.12314, 2.07098, 0.535633 ) -shape = SubResource( 1 ) +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.00713015, 2.07098, 1.38972 ) +shape = SubResource( 8 ) [node name="CollisionShape2" type="CollisionShape" parent="hitbox"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0097599, 0, -0.487964 ) +transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0, -0.099 ) shape = SubResource( 2 ) [connection signal="area_entered" from="hitbox" to="." method="_on_hitbox_area_entered"] diff --git a/scenes/cheat_menu.tscn b/scenes/cheat_menu.tscn index 2b4e79f..f257001 100644 --- a/scenes/cheat_menu.tscn +++ b/scenes/cheat_menu.tscn @@ -75,6 +75,11 @@ margin_right = 12.0 margin_bottom = 20.0 text = "Damage Random Object" +[node name="timer_2_s" type="Button" parent="TabContainer/Events"] +margin_right = 12.0 +margin_bottom = 20.0 +text = "Day Timer 00:02" + [connection signal="pressed" from="TabContainer/Player/charge" to="." method="_on_charge_pressed"] [connection signal="pressed" from="TabContainer/Player/charge_5" to="." method="_on_charge_5_pressed"] [connection signal="pressed" from="TabContainer/Player/raw_yam" to="." method="_on_raw_yam_pressed"] @@ -83,3 +88,4 @@ text = "Damage Random Object" [connection signal="pressed" from="TabContainer/Player/repair_kit" to="." method="_on_repair_kit_pressed"] [connection signal="pressed" from="TabContainer/Player/clear" to="." method="_on_clear_pressed"] [connection signal="pressed" from="TabContainer/Events/random_damage" to="." method="_on_random_damage_pressed"] +[connection signal="pressed" from="TabContainer/Events/timer_2_s" to="." method="_on_timer_2_s_pressed"] diff --git a/scenes/game_manager.tscn b/scenes/game_manager.tscn index 3830168..ecdf8c1 100644 --- a/scenes/game_manager.tscn +++ b/scenes/game_manager.tscn @@ -2,7 +2,7 @@ [ext_resource path="res://scripts/game_manager.gd" type="Script" id=1] -[node name="game_manager" type="Node"] +[node name="game_manager" type="Node" groups=["game_manager"]] script = ExtResource( 1 ) [node name="UI" type="Control" parent="."] diff --git a/scenes/main.tscn b/scenes/main.tscn index ca8c2a8..e7362d8 100644 --- a/scenes/main.tscn +++ b/scenes/main.tscn @@ -1,16 +1,17 @@ -[gd_scene load_steps=14 format=2] +[gd_scene load_steps=15 format=2] -[ext_resource path="res://assets/moonbase_whitebox/Moonbase_Whitebox.tscn" type="PackedScene" id=1] +[ext_resource path="res://assets/level/Level.tscn" type="PackedScene" id=1] [ext_resource path="res://scripts/cameras.gd" type="Script" id=2] [ext_resource path="res://scenes/player.tscn" type="PackedScene" id=3] [ext_resource path="res://scenes/camera_room.tscn" type="PackedScene" id=4] [ext_resource path="res://scripts/camera_room.gd" type="Script" id=5] [ext_resource path="res://scripts/tracking_camera.gd" type="Script" id=6] [ext_resource path="res://scenes/game_manager.tscn" type="PackedScene" id=7] +[ext_resource path="res://scripts/dof_focus.gd" type="Script" id=8] [sub_resource type="CylinderShape" id=1] height = 5.22615 -radius = 8.72145 +radius = 12.052 [sub_resource type="BoxShape" id=4] extents = Vector3( 1.78436, 2.33105, 6.04815 ) @@ -30,8 +31,7 @@ tracks/0/keys = { "values": [ 0.0 ] } -[sub_resource type="Animation" id=2] -resource_name = "switch_camera" +[sub_resource type="Animation" id=9] length = 0.3 tracks/0/type = "value" tracks/0/path = NodePath(".:camera_lerp") @@ -51,20 +51,27 @@ sky_top_color = Color( 0.486275, 0.486275, 0.486275, 1 ) sky_horizon_color = Color( 0.180392, 0.180392, 0.180392, 1 ) ground_bottom_color = Color( 0.545098, 0.545098, 0.545098, 1 ) ground_horizon_color = Color( 0.8, 0.8, 0.8, 1 ) -sun_color = Color( 0, 0, 0, 1 ) [sub_resource type="Environment" id=6] background_mode = 2 background_sky = SubResource( 7 ) -ss_reflections_enabled = true +ambient_light_sky_contribution = 0.5 +tonemap_mode = 4 ssao_enabled = true +ssao_radius = 3.86 +ssao_intensity = 0.69 +dof_blur_far_enabled = true +dof_blur_far_amount = 0.15 +dof_blur_near_enabled = true +dof_blur_near_amount = 0.15 +adjustment_contrast = 1.97 [node name="main" type="Spatial"] -[node name="Moonbase_Whitebox" parent="." instance=ExtResource( 1 )] +[node name="Level" parent="." instance=ExtResource( 1 )] [node name="Player" parent="." instance=ExtResource( 3 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 5.27448 ) +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4.35996 ) [node name="cameras" type="Spatial" parent="."] script = ExtResource( 2 ) @@ -78,7 +85,7 @@ current = true script = ExtResource( 5 ) [node name="camera" type="Camera" parent="cameras/camera_room_center"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 12, 0 ) +transform = Transform( -1, 7.57103e-08, -4.37114e-08, 0, 0.5, 0.866025, 8.74228e-08, 0.866025, -0.5, 0, 12, 0 ) script = ExtResource( 6 ) target = NodePath("../../../Player") @@ -90,8 +97,20 @@ collision_mask = 2 transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.52689, 0 ) shape = SubResource( 1 ) +[node name="camera_galley" parent="cameras" instance=ExtResource( 4 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -16.3 ) + +[node name="camera_ore_conveyor" parent="cameras" instance=ExtResource( 4 )] +transform = Transform( 0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, 11.526, 0, -11.526 ) + +[node name="camera_storage" parent="cameras" instance=ExtResource( 4 )] +transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 16.3, 0, 0 ) + +[node name="camera_crafting" parent="cameras" instance=ExtResource( 4 )] +transform = Transform( -0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, -0.707107, 11.526, 0, 11.526 ) + [node name="camera_room_hallway" type="Spatial" parent="cameras"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0726166, 0, 17.4284 ) +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 16.3 ) script = ExtResource( 5 ) [node name="camera" type="Camera" parent="cameras/camera_room_hallway"] @@ -105,94 +124,84 @@ collision_mask = 2 transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.52689, -1.44831 ) shape = SubResource( 4 ) -[node name="camera_room0" parent="cameras" instance=ExtResource( 4 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 15.408, 0, 0 ) +[node name="camera_rover" parent="cameras" instance=ExtResource( 4 )] +transform = Transform( -0.707107, 0, 0.707107, 0, 1, 0, -0.707107, 0, -0.707107, -11.526, 0, 11.526 ) -[node name="camera_room1" parent="cameras" instance=ExtResource( 4 )] -transform = Transform( 0.707107, 0, 0.707107, 0, 1, 0, -0.707107, 0, 0.707107, 10.653, 0, -10.485 ) +[node name="camera_comms" parent="cameras" instance=ExtResource( 4 )] +transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -16.3, 0, 0 ) -[node name="camera_room2" parent="cameras" instance=ExtResource( 4 )] -transform = Transform( -0.0170336, 0, 0.999855, 0, 1, 0, -0.999855, 0, -0.0170336, -0.079, 0, -15.007 ) - -[node name="camera_room3" parent="cameras" instance=ExtResource( 4 )] -transform = Transform( -0.70219, 0, 0.711989, 0, 1, 0, -0.711989, 0, -0.70219, -10.6346, 0, -10.3156 ) - -[node name="camera_room4" parent="cameras" instance=ExtResource( 4 )] -transform = Transform( -0.999986, 0, 0.00521851, 0, 1, 0, -0.00521851, 0, -0.999986, -15.0328, 0, 0.198143 ) - -[node name="camera_room5" parent="cameras" instance=ExtResource( 4 )] -transform = Transform( -0.661796, 0, -0.749684, 0, 1, 0, 0.749684, 0, -0.661796, -10.4671, 0, 10.8794 ) - -[node name="camera_room6" parent="cameras" instance=ExtResource( 4 )] -transform = Transform( 0.696427, 0, -0.717628, 0, 1, 0, 0.717628, 0, 0.696427, 10.8827, 0, 10.7342 ) +[node name="camera_hydroponics" parent="cameras" instance=ExtResource( 4 )] +transform = Transform( 0.707106, 0, 0.707106, 0, 1, 0, -0.707106, 0, 0.707106, -11.526, 0, -11.526 ) [node name="AnimationPlayer" type="AnimationPlayer" parent="cameras"] anims/RESET = SubResource( 3 ) -anims/switch_camera = SubResource( 2 ) +anims/switch_camera = SubResource( 9 ) [node name="lights" type="Spatial" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4.14791, 0, 6.48126 ) [node name="Hub1" type="OmniLight" parent="lights"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.11319, 4.20288, -1.73099 ) +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0224032, 4.20288, 4.77208 ) shadow_enabled = true omni_range = 10.7698 [node name="Hub2" type="OmniLight" parent="lights"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.059, 4.20288, -11.3228 ) +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0765934, 4.20288, -4.81973 ) shadow_enabled = true omni_range = 10.7698 -[node name="OmniLight20" type="OmniLight" parent="lights"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 10.9024, 3.329, -6.67066 ) +[node name="light_galley" type="OmniLight" parent="lights"] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.329, -16.3 ) shadow_enabled = true omni_range = 5.893 omni_attenuation = 2.0 -[node name="OmniLight21" type="OmniLight" parent="lights"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6.06107, 3.329, -17.2136 ) +[node name="light_ore_conveyor" type="OmniLight" parent="lights"] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 11.526, 3.329, -11.526 ) shadow_enabled = true omni_range = 5.893 omni_attenuation = 2.0 -[node name="OmniLight22" type="OmniLight" parent="lights"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.23606, 3.329, -21.2439 ) +[node name="light_storage" type="OmniLight" parent="lights"] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 16.3, 3.329, 0 ) shadow_enabled = true omni_range = 5.893 omni_attenuation = 2.0 -[node name="OmniLight23" type="OmniLight" parent="lights"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -14.8527, 3.329, -16.8695 ) +[node name="light_crafting" type="OmniLight" parent="lights"] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 11.526, 3.329, 11.526 ) shadow_enabled = true omni_range = 5.893 omni_attenuation = 2.0 -[node name="OmniLight24" type="OmniLight" parent="lights"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -19.2271, 3.329, -6.05627 ) +[node name="light_hallway" type="OmniLight" parent="lights"] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.329, 16.3 ) shadow_enabled = true omni_range = 5.893 omni_attenuation = 2.0 -[node name="OmniLight25" type="OmniLight" parent="lights"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -14.2271, 3.329, 4.94373 ) +[node name="light_rover" type="OmniLight" parent="lights"] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -11.526, 3.329, 11.526 ) shadow_enabled = true omni_range = 5.893 omni_attenuation = 2.0 -[node name="OmniLight26" type="OmniLight" parent="lights"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 7.64507, 3.329, 3.88698 ) +[node name="light_comms" type="OmniLight" parent="lights"] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -16.3, 3.329, 0 ) shadow_enabled = true omni_range = 5.893 omni_attenuation = 2.0 -[node name="OmniLight27" type="OmniLight" parent="lights"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.20031, 3.329, 9.61307 ) +[node name="light_hydroponics" type="OmniLight" parent="lights"] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -11.526, 3.329, -11.526 ) shadow_enabled = true omni_range = 5.893 omni_attenuation = 2.0 [node name="WorldEnvironment" type="WorldEnvironment" parent="."] environment = SubResource( 6 ) +script = ExtResource( 8 ) +target = NodePath("../Player") +size = 4.0 [node name="game_manager" parent="." instance=ExtResource( 7 )] @@ -200,21 +209,21 @@ environment = SubResource( 6 ) [connection signal="player_exited" from="cameras/camera_room_center" to="cameras" method="_on_camera_room_player_exited"] [connection signal="area_entered" from="cameras/camera_room_center/hitbox" to="cameras/camera_room_center" method="_on_hitbox_area_entered"] [connection signal="area_exited" from="cameras/camera_room_center/hitbox" to="cameras/camera_room_center" method="_on_hitbox_area_exited"] +[connection signal="player_entered" from="cameras/camera_galley" to="cameras" method="_on_camera_room_player_entered"] +[connection signal="player_exited" from="cameras/camera_galley" to="cameras" method="_on_camera_room_player_exited"] +[connection signal="player_entered" from="cameras/camera_ore_conveyor" to="cameras" method="_on_camera_room_player_entered"] +[connection signal="player_exited" from="cameras/camera_ore_conveyor" to="cameras" method="_on_camera_room_player_exited"] +[connection signal="player_entered" from="cameras/camera_storage" to="cameras" method="_on_camera_room_player_entered"] +[connection signal="player_exited" from="cameras/camera_storage" to="cameras" method="_on_camera_room_player_exited"] +[connection signal="player_entered" from="cameras/camera_crafting" to="cameras" method="_on_camera_room_player_entered"] +[connection signal="player_exited" from="cameras/camera_crafting" to="cameras" method="_on_camera_room_player_exited"] [connection signal="player_entered" from="cameras/camera_room_hallway" to="cameras" method="_on_camera_room_player_entered"] [connection signal="player_exited" from="cameras/camera_room_hallway" to="cameras" method="_on_camera_room_player_exited"] [connection signal="area_entered" from="cameras/camera_room_hallway/hitbox" to="cameras/camera_room_hallway" method="_on_hitbox_area_entered"] [connection signal="area_exited" from="cameras/camera_room_hallway/hitbox" to="cameras/camera_room_hallway" method="_on_hitbox_area_exited"] -[connection signal="player_entered" from="cameras/camera_room0" to="cameras" method="_on_camera_room_player_entered"] -[connection signal="player_exited" from="cameras/camera_room0" to="cameras" method="_on_camera_room_player_exited"] -[connection signal="player_entered" from="cameras/camera_room1" to="cameras" method="_on_camera_room_player_entered"] -[connection signal="player_exited" from="cameras/camera_room1" to="cameras" method="_on_camera_room_player_exited"] -[connection signal="player_entered" from="cameras/camera_room2" to="cameras" method="_on_camera_room_player_entered"] -[connection signal="player_exited" from="cameras/camera_room2" to="cameras" method="_on_camera_room_player_exited"] -[connection signal="player_entered" from="cameras/camera_room3" to="cameras" method="_on_camera_room_player_entered"] -[connection signal="player_exited" from="cameras/camera_room3" to="cameras" method="_on_camera_room_player_exited"] -[connection signal="player_entered" from="cameras/camera_room4" to="cameras" method="_on_camera_room_player_entered"] -[connection signal="player_exited" from="cameras/camera_room4" to="cameras" method="_on_camera_room_player_exited"] -[connection signal="player_entered" from="cameras/camera_room5" to="cameras" method="_on_camera_room_player_entered"] -[connection signal="player_exited" from="cameras/camera_room5" to="cameras" method="_on_camera_room_player_exited"] -[connection signal="player_entered" from="cameras/camera_room6" to="cameras" method="_on_camera_room_player_entered"] -[connection signal="player_exited" from="cameras/camera_room6" to="cameras" method="_on_camera_room_player_exited"] +[connection signal="player_entered" from="cameras/camera_rover" to="cameras" method="_on_camera_room_player_entered"] +[connection signal="player_exited" from="cameras/camera_rover" to="cameras" method="_on_camera_room_player_exited"] +[connection signal="player_entered" from="cameras/camera_comms" to="cameras" method="_on_camera_room_player_entered"] +[connection signal="player_exited" from="cameras/camera_comms" to="cameras" method="_on_camera_room_player_exited"] +[connection signal="player_entered" from="cameras/camera_hydroponics" to="cameras" method="_on_camera_room_player_entered"] +[connection signal="player_exited" from="cameras/camera_hydroponics" to="cameras" method="_on_camera_room_player_exited"] diff --git a/scenes/oven.tscn b/scenes/oven.tscn index e00f014..0dfd9c5 100644 --- a/scenes/oven.tscn +++ b/scenes/oven.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=11 format=2] +[gd_scene load_steps=8 format=2] [ext_resource path="res://scenes/item_holder.tscn" type="PackedScene" id=1] [ext_resource path="res://scripts/oven/oven.gd" type="Script" id=2] @@ -7,58 +7,13 @@ [ext_resource path="res://scenes/status_light.tscn" type="PackedScene" id=5] [ext_resource path="res://item_types/repair_kit.tres" type="Resource" id=6] -[sub_resource type="SpatialMaterial" id=1] -albedo_color = Color( 0, 0, 0, 1 ) - -[sub_resource type="CylinderMesh" id=2] -material = SubResource( 1 ) -top_radius = 0.5 -bottom_radius = 0.5 -height = 0.1 -radial_segments = 9 - [sub_resource type="BoxShape" id=4] extents = Vector3( 0.648623, 1, 0.516904 ) -[sub_resource type="CubeMesh" id=3] -size = Vector3( 1.362, 0.49, 0.081 ) - [node name="oven" type="Spatial" groups=["damageable"]] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0063355, 0.00319374, -0.00456095 ) script = ExtResource( 2 ) -[node name="CSGBox" type="CSGBox" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.497031, 0 ) -use_collision = true -width = 1.36825 -height = 1.04121 -depth = 1.24388 - -[node name="CSGBox2" type="CSGBox" parent="CSGBox"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.000755012, -0.038668, 0.154754 ) -operation = 2 -width = 1.20449 -height = 0.784214 -depth = 1.29741 - -[node name="coil" type="MeshInstance" parent="CSGBox"] -unique_name_in_owner = true -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.00424552, 0.556925, -0.00761187 ) -mesh = SubResource( 2 ) -skeleton = NodePath("../..") - -[node name="item_holder" parent="CSGBox/coil" instance=ExtResource( 1 )] -unique_name_in_owner = true -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00424552, 0.0865635, 0.00761187 ) - -[node name="CollisionShape" type="CollisionShape" parent="CSGBox/coil/item_holder"] -shape = SubResource( 4 ) - -[node name="backsplash" type="MeshInstance" parent="CSGBox"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.00424552, 0.556925, -0.575066 ) -mesh = SubResource( 3 ) -skeleton = NodePath("../..") - [node name="coin_machine" parent="." instance=ExtResource( 3 )] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.621351, 0 ) @@ -69,13 +24,20 @@ collision_mask = 0 item_type_0 = ExtResource( 6 ) item_count_0 = 1 +[node name="item_holder" parent="." instance=ExtResource( 1 )] +unique_name_in_owner = true +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.14052, 0 ) + +[node name="CollisionShape" type="CollisionShape" parent="item_holder"] +shape = SubResource( 4 ) + [node name="status_light" parent="." instance=ExtResource( 5 )] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.232042, 0.967385 ) [node name="cook_timer" type="Timer" parent="."] one_shot = true -[connection signal="item_changed" from="CSGBox/coil/item_holder" to="." method="_on_item_holder_item_changed"] [connection signal="coin_requirement_met" from="coin_machine" to="." method="_on_coin_machine_coin_requirement_met"] [connection signal="item_dump_completed" from="item_dump" to="." method="_on_item_dump_completed"] +[connection signal="item_changed" from="item_holder" to="." method="_on_item_holder_item_changed"] [connection signal="timeout" from="cook_timer" to="." method="_on_cook_timer_timeout"] diff --git a/scenes/player.tscn b/scenes/player.tscn index ab47810..1c26b9c 100644 --- a/scenes/player.tscn +++ b/scenes/player.tscn @@ -1,6 +1,6 @@ -[gd_scene load_steps=27 format=2] +[gd_scene load_steps=30 format=2] -[ext_resource path="res://scripts/Player.gd" type="Script" id=1] +[ext_resource path="res://scripts/player/player.gd" type="Script" id=1] [ext_resource path="res://assets/dungman/DungMan.tscn" type="PackedScene" id=2] [ext_resource path="res://assets/icons/stomach.png" type="Texture" id=3] [ext_resource path="res://assets/dungman/Dungee_MAT.material" type="Material" id=4] @@ -533,9 +533,147 @@ node_connections = [ "Activate", 0, "Blink", "Activate", 1, "Animation 2", "Blin [sub_resource type="BoxShape" id=18] extents = Vector3( 0.25, 0.25, 1 ) +[sub_resource type="Animation" id=24] +length = 0.001 +tracks/0/type = "value" +tracks/0/path = NodePath("model_transform/DungMan:translation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector3( 0, 0, 0 ) ] +} +tracks/1/type = "value" +tracks/1/path = NodePath("model_transform/DungMan:rotation_degrees") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector3( 0, 0, 0 ) ] +} +tracks/2/type = "value" +tracks/2/path = NodePath("UI/blackout:modulate") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Color( 1, 1, 1, 0 ) ] +} +tracks/3/type = "value" +tracks/3/path = NodePath("UI/ZZZ:modulate") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Color( 1, 1, 1, 0 ) ] +} + +[sub_resource type="Animation" id=25] +resource_name = "hop_into_bed" +length = 1.2 +step = 0.05 +tracks/0/type = "value" +tracks/0/path = NodePath("model_transform/DungMan:translation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.15, 0.25, 0.35 ), +"transitions": PoolRealArray( 1, 1, 1, 1 ), +"update": 0, +"values": [ Vector3( 0, 0, 0 ), Vector3( 0.221, 0.971, 0.407456 ), Vector3( 0.451327, 0.829876, 1.25712 ), Vector3( 0.681653, 0.688752, 1.43758 ) ] +} +tracks/1/type = "value" +tracks/1/path = NodePath("model_transform/DungMan:rotation_degrees") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0, 0.35 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Vector3( 0, 0, 0 ), Vector3( -90, 90, 0 ) ] +} +tracks/2/type = "value" +tracks/2/path = NodePath("UI/blackout:modulate") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"times": PoolRealArray( 0, 0.4, 1 ), +"transitions": PoolRealArray( 1, 1, 1 ), +"update": 0, +"values": [ Color( 0, 0, 0, 0 ), Color( 0, 0, 0, 0 ), Color( 0, 0, 0, 1 ) ] +} +tracks/3/type = "value" +tracks/3/path = NodePath("UI/ZZZ:modulate") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"times": PoolRealArray( 0, 1.1, 1.2 ), +"transitions": PoolRealArray( 1, 1, 1 ), +"update": 0, +"values": [ Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 1 ) ] +} + +[sub_resource type="Animation" id=26] +resource_name = "hop_out_of_bed" +tracks/0/type = "value" +tracks/0/path = NodePath("UI/blackout:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.1, 0.4 ), +"transitions": PoolRealArray( 1, 1, 1 ), +"update": 0, +"values": [ Color( 0, 0, 0, 1 ), Color( 0, 0, 0, 1 ), Color( 0, 0, 0, 0 ) ] +} +tracks/1/type = "transform" +tracks/1/path = NodePath("model_transform/DungMan") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = PoolRealArray( 0.4, 1, 0.681653, 0.688752, 1.43758, -0.5, 0.5, 0.5, 0.5, 1, 1, 1, 0.61, 1, 0.681653, 0.688752, 1.43758, -0.5, 0.5, -0.5, -0.5, 1, 1, 1, 0.9, 1, 0.0956602, 0.688752, 0.907396, 0.707106, 1.54543e-08, -1.54543e-08, 0.707107, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1 ) +tracks/2/type = "value" +tracks/2/path = NodePath("UI/ZZZ:modulate") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"times": PoolRealArray( 0, 0.1 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 0 ) ] +} + [sub_resource type="CapsuleShape" id=19] -radius = 0.210213 -height = 0.85525 +radius = 0.535552 +height = 0.565073 [sub_resource type="Gradient" id=20] offsets = PoolRealArray( 0, 0.776119, 1 ) @@ -550,28 +688,30 @@ axis_lock_motion_y = true move_lock_y = true script = ExtResource( 1 ) -[node name="DungMan" parent="." instance=ExtResource( 2 )] +[node name="model_transform" type="Spatial" parent="."] -[node name="Dungee" parent="DungMan/Armature/Skeleton" index="0"] +[node name="DungMan" parent="model_transform" instance=ExtResource( 2 )] + +[node name="Dungee" parent="model_transform/DungMan/Armature/Skeleton" index="0"] mesh = SubResource( 1 ) skin = SubResource( 2 ) -[node name="head_bone" type="BoneAttachment" parent="DungMan/Armature/Skeleton" index="1"] -transform = Transform( 1, -2.21202e-16, -1.47006e-17, 1.22694e-18, -0.0607882, 0.998151, -2.21687e-16, -0.998151, -0.0607882, -3.31341e-16, -0.0494913, -1.50713 ) +[node name="head_bone" type="BoneAttachment" parent="model_transform/DungMan/Armature/Skeleton" index="1"] +transform = Transform( 1, -2.21502e-16, 1.62129e-17, -2.37146e-19, 0.0719347, 0.997409, -2.22095e-16, -0.997409, 0.0719347, -3.31708e-16, -0.0484204, -1.49945 ) bone_name = "Item" -[node name="ItemSpawn" type="Spatial" parent="DungMan/Armature/Skeleton/head_bone"] +[node name="ItemSpawn" type="Spatial" parent="model_transform/DungMan/Armature/Skeleton/head_bone"] unique_name_in_owner = true transform = Transform( 1, 1.48483e-18, -3.14288e-18, -1.61955e-18, 0.999062, -0.0432985, 3.07563e-18, 0.0432985, 0.999062, 0, 0, 0.107 ) -[node name="AnimationPlayer" parent="DungMan" index="1"] +[node name="AnimationPlayer" parent="model_transform/DungMan" index="1"] anims/Blink = SubResource( 3 ) anims/Dungee = SubResource( 4 ) anims/Idle-loop = SubResource( 5 ) anims/Reset = SubResource( 6 ) anims/Run-loop = SubResource( 7 ) -[node name="AnimationTree" type="AnimationTree" parent="DungMan"] +[node name="AnimationTree" type="AnimationTree" parent="model_transform/DungMan"] tree_root = SubResource( 9 ) anim_player = NodePath("../AnimationPlayer") active = true @@ -579,21 +719,28 @@ parameters/Activate/active = false parameters/Blink/active = false parameters/Move/playback = SubResource( 17 ) -[node name="TriggerVolume" type="Area" parent="DungMan"] +[node name="TriggerVolume" type="Area" parent="model_transform/DungMan"] unique_name_in_owner = true transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.630386 ) collision_layer = 4 collision_mask = 8 -[node name="CollisionShape" type="CollisionShape" parent="DungMan/TriggerVolume"] +[node name="CollisionShape" type="CollisionShape" parent="model_transform/DungMan/TriggerVolume"] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.778807, 0.291356 ) shape = SubResource( 18 ) -[node name="blink_timer" type="Timer" parent="DungMan"] +[node name="blink_timer" type="Timer" parent="model_transform/DungMan"] +unique_name_in_owner = true autostart = true +[node name="node_animations" type="AnimationPlayer" parent="model_transform"] +root_node = NodePath("../..") +anims/RESET = SubResource( 24 ) +anims/hop_into_bed = SubResource( 25 ) +anims/hop_out_of_bed = SubResource( 26 ) + [node name="CollisionShape" type="CollisionShape" parent="."] -transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0.641703, 0 ) +transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0.827727, 0.0411353 ) shape = SubResource( 19 ) [node name="hitbox" type="Area" parent="."] @@ -601,9 +748,11 @@ collision_layer = 2 collision_mask = 16 [node name="CollisionShape" type="CollisionShape" parent="hitbox"] +transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0.824963, 0.0301657 ) shape = SubResource( 19 ) [node name="UI" type="CanvasLayer" parent="."] +pause_mode = 2 [node name="Control" type="Control" parent="UI"] margin_right = 40.0 @@ -651,10 +800,33 @@ margin_right = 524.0 margin_bottom = 128.0 texture = ExtResource( 3 ) +[node name="blackout" type="ColorRect" parent="UI"] +modulate = Color( 1, 1, 1, 0 ) +anchor_right = 1.0 +anchor_bottom = 1.0 +color = Color( 0, 0, 0, 1 ) + +[node name="ZZZ" type="Label" parent="UI"] +modulate = Color( 1, 1, 1, 0 ) +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -90.0 +margin_top = -20.0 +margin_right = 90.0 +margin_bottom = 20.0 +custom_colors/font_color = Color( 1, 1, 1, 1 ) +text = "ZZZZZZZZZZZZZ + +Press the action input to continue..." +align = 1 +valign = 1 + [node name="hunger_timer" type="Timer" parent="."] unique_name_in_owner = true -[connection signal="timeout" from="DungMan/blink_timer" to="." method="_on_blink_timer_timeout"] +[connection signal="timeout" from="model_transform/DungMan/blink_timer" to="." method="_on_blink_timer_timeout"] [connection signal="timeout" from="hunger_timer" to="." method="_on_hunger_timer_timeout"] -[editable path="DungMan"] +[editable path="model_transform/DungMan"] diff --git a/scenes/power_station.tscn b/scenes/power_station.tscn index df6c97a..342af76 100644 --- a/scenes/power_station.tscn +++ b/scenes/power_station.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=6 format=2] +[gd_scene load_steps=5 format=2] [ext_resource path="res://scripts/power_station.gd" type="Script" id=1] [ext_resource path="res://assets/sound/forceField_004.ogg" type="AudioStream" id=3] @@ -6,8 +6,6 @@ [sub_resource type="BoxShape" id=2] -[sub_resource type="CubeMesh" id=1] - [node name="power_station" type="Area"] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0 ) collision_layer = 8 @@ -19,9 +17,6 @@ time_to_generate = 1.0 transform = Transform( 1.2, 0, 0, 0, 1.2, 0, 0, 0, 1.2, 0, 0, 0 ) shape = SubResource( 2 ) -[node name="MeshInstance" type="MeshInstance" parent="."] -mesh = SubResource( 1 ) - [node name="CointCount" type="Label3D" parent="."] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0275149, 0.721019, 1.58046 ) billboard = 1 diff --git a/scripts/bed.gd b/scripts/bed.gd new file mode 100644 index 0000000..7c29847 --- /dev/null +++ b/scripts/bed.gd @@ -0,0 +1,5 @@ +extends Area + +func on_player_interact(player: Spatial) -> bool: + player.sleep(true, $hop_position) + return true diff --git a/scripts/cheat_menu.gd b/scripts/cheat_menu.gd index 9f74810..32d87a8 100644 --- a/scripts/cheat_menu.gd +++ b/scripts/cheat_menu.gd @@ -31,9 +31,15 @@ func _on_clear_pressed(): if player.has_item(): player.drop_item_in_hand() - func _on_random_damage_pressed(): var damageable = get_tree().get_nodes_in_group("damageable") if damageable.empty(): return damageable[randi() % damageable.size()].take_damage() + + +func _on_timer_2_s_pressed(): + var game_manager = get_tree().get_nodes_in_group("game_manager")[0] + var day_timer = game_manager.get_node("day_timer") + day_timer.start(2.0) + day_timer.wait_time = game_manager.time_per_day diff --git a/scripts/dof_focus.gd b/scripts/dof_focus.gd new file mode 100644 index 0000000..98a24db --- /dev/null +++ b/scripts/dof_focus.gd @@ -0,0 +1,14 @@ +extends WorldEnvironment + +export var target: NodePath +export var size: float = 1.0 +onready var target_node: Spatial = get_node(target) + +func _ready(): + environment.dof_blur_far_enabled = true + environment.dof_blur_near_enabled = true + +func _process(delta): + var dist := get_viewport().get_camera().global_transform.origin.distance_to(target_node.global_transform.origin) + environment.dof_blur_near_distance = dist - size / 2.0 + environment.dof_blur_far_distance = dist + size / 2.0 diff --git a/scripts/game_manager.gd b/scripts/game_manager.gd index 41a640b..efb2927 100644 --- a/scripts/game_manager.gd +++ b/scripts/game_manager.gd @@ -26,15 +26,8 @@ func _on_player_starved_to_death(): get_tree().paused = false get_tree().quit() # go back to main menu when such a thing exists -func _on_day_timer_timeout(): - player.health -= 1 - if player.health <= 0: - _on_player_starved_to_death() - return - var node = Dialogic.start("day_end") - node.pause_mode = PAUSE_MODE_PROCESS - add_child(node) - get_tree().paused = true - yield(node, "timeline_end") - get_tree().paused = false +func reset_day_timer(): + day_timer.start() +func _on_day_timer_timeout(): + player.sleep(false, null) diff --git a/scripts/oven/state/cooking.gd b/scripts/oven/state/cooking.gd index 8612c72..3cc333c 100644 --- a/scripts/oven/state/cooking.gd +++ b/scripts/oven/state/cooking.gd @@ -16,12 +16,11 @@ func enter_from(state): ctx.get_node("%item_holder").remove_enabled = false ctx.get_node("cook_timer").start() - ctx.get_node("%coil").set_surface_material(0, mat) ctx.get_node("status_light").light_color = Color.green ctx.get_node("status_light").activate() func exit_to(state): - ctx.get_node("%coil").set_surface_material(0, null) + pass func on_coin_machine_coin_requirement_met(player): assert(false, "coin machine should be disabled while growing") diff --git a/scripts/Player.gd b/scripts/player/player.gd similarity index 64% rename from scripts/Player.gd rename to scripts/player/player.gd index 1716a1e..d4a27a1 100644 --- a/scripts/Player.gd +++ b/scripts/player/player.gd @@ -2,7 +2,10 @@ extends KinematicBody signal starved_to_death -const EPSILON = 0.0001 +const StateDefault = preload("res://scripts/player/state/default.gd") +const StateInteracting = preload("res://scripts/player/state/interacting.gd") +const StateSleeping = preload("res://scripts/player/state/sleeping.gd") + const SPEED = 10.0 const MAX_HEALTH = 4 @@ -13,27 +16,31 @@ var health: int = 4 setget set_health var item_in_hand var move_enabled: bool = true -onready var move_playback = $DungMan/AnimationTree["parameters/Move/playback"] +onready var anim_tree = $model_transform/DungMan/AnimationTree +onready var move_playback = anim_tree["parameters/Move/playback"] onready var hunger_timer = $"%hunger_timer" -# Called when the node enters the scene tree for the first time. +var state = null + func _ready(): $hitbox.set_meta("owner", self) move_playback.travel("idle") hunger_timer.wait_time = hunger_tick_time hunger_timer.start() + state = StateDefault.new() + state.ctx = self + state.enter_from(null) + print("player: NULL -> ", state.NAME) + +func change_state(new_state): + print("player: ", state.NAME, " -> ", new_state.NAME) + new_state.ctx = self + state.exit_to(new_state) + new_state.enter_from(state) + state = new_state func _physics_process(delta): - if not move_enabled: - return - var input = Vector3(Input.get_axis("left", "right"), 0.0, Input.get_axis("up", "down")) - var motion = Plane.PLANE_XZ.project(get_viewport().get_camera().global_transform.basis.xform(input)).normalized() * SPEED - if motion.length_squared() > EPSILON: - $DungMan.look_at(global_transform.origin - motion, Vector3.UP) - move_playback.travel("run") - else: - move_playback.travel("idle") - move_and_slide(motion) + state.physics_process(delta) func _on_hunger_timer_timeout(): set_health(health - 1) @@ -81,32 +88,8 @@ func modify_inventory(item_name, item_amount): return true func _unhandled_input(event): - if event.is_action_pressed("action"): - $DungMan/AnimationTree["parameters/Activate/active"] = true - move_enabled = false - yield(get_tree().create_timer(0.2), "timeout") - for area in $"%TriggerVolume".get_overlapping_areas(): - if try_trigger_interact(area): - break - move_enabled = true + state.unhandled_input(event) -func try_trigger_interact(area): - var owner = area - if area.has_meta("owner"): - owner = area.get_meta("owner") - - if not owner.has_method("on_player_interact"): - return false - - var result = owner.on_player_interact(self) - - if not result: - print("player failed to interacted with ", owner) - return - - print("player interacted with ", owner) - return true - func drop_item_in_hand(): print("player dropped ", item_in_hand.item_name) var item_dropped = item_in_hand @@ -132,7 +115,10 @@ func get_item_in_hand(): item_to_return = drop_item_in_hand() return item_to_return - func _on_blink_timer_timeout(): - $DungMan/AnimationTree["parameters/Blink/active"] = true - $DungMan/blink_timer.wait_time = rand_range(0.5, 3.0) + anim_tree["parameters/Blink/active"] = true + $"%blink_timer".wait_time = rand_range(0.5, 3.0) + +func sleep(made_it_to_bed: bool, hop_position: Spatial): + state.on_sleep(made_it_to_bed, hop_position) + diff --git a/scripts/player/state/default.gd b/scripts/player/state/default.gd new file mode 100644 index 0000000..8bf45f6 --- /dev/null +++ b/scripts/player/state/default.gd @@ -0,0 +1,36 @@ +extends Reference + +const NAME = "default" +const EPSILON = 0.0001 + +var ctx = null +var anim_tree: AnimationTree +var move_playback + +func _init(): + pass + +func enter_from(state): + anim_tree = ctx.get_node("model_transform/DungMan/AnimationTree") + move_playback = anim_tree["parameters/Move/playback"] + +func exit_to(state): + pass + +func physics_process(delta): + var input = Vector3(Input.get_axis("left", "right"), 0.0, Input.get_axis("up", "down")) + var motion = Plane.PLANE_XZ.project(ctx.get_viewport().get_camera().global_transform.basis.xform(input)).normalized() * ctx.SPEED + if motion.length_squared() > EPSILON: + ctx.get_node("model_transform").look_at(ctx.global_transform.origin - motion, Vector3.UP) + ctx.move_playback.travel("run") + else: + ctx.move_playback.travel("idle") + ctx.move_and_slide(motion) + +func unhandled_input(event): + if event.is_action_pressed("action"): + ctx.get_tree().set_input_as_handled() + ctx.change_state(ctx.StateInteracting.new()) + +func on_sleep(made_it_to_bed: bool, hop_position: Spatial): + ctx.change_state(ctx.StateSleeping.new(made_it_to_bed, hop_position)) diff --git a/scripts/player/state/interacting.gd b/scripts/player/state/interacting.gd new file mode 100644 index 0000000..0772718 --- /dev/null +++ b/scripts/player/state/interacting.gd @@ -0,0 +1,54 @@ +extends Reference + +const NAME = "interacting" + +var ctx: KinematicBody = null +var anim_tree: AnimationTree +var timer: SceneTreeTimer + +func _init(): + pass + +func enter_from(state): + anim_tree = ctx.get_node("model_transform/DungMan/AnimationTree") + anim_tree["parameters/Move/playback"].travel("idle") + anim_tree["parameters/Activate/active"] = true + timer = ctx.get_tree().create_timer(0.2) + timer.connect("timeout", self, "_on_timeout", [], CONNECT_ONESHOT) + +func exit_to(state): + pass + +func physics_process(delta): + pass + +func unhandled_input(event): + pass + +func _on_timeout(): + for area in ctx.get_node("%TriggerVolume").get_overlapping_areas(): + if try_trigger_interact(area): + break + if ctx.state == self: + ctx.change_state(ctx.StateDefault.new()) + +func try_trigger_interact(area) -> bool: + var owner = area + if area.has_meta("owner"): + owner = area.get_meta("owner") + + if not owner.has_method("on_player_interact"): + return false + + var result = owner.on_player_interact(ctx) + + if not result: + print("player failed to interacted with ", owner) + return false + + print("player interacted with ", owner) + return true + +func on_sleep(made_it_to_bed: bool, hop_position: Spatial): + timer.disconnect("timeout", self, "_on_timeout") + ctx.change_state(ctx.StateSleeping.new(made_it_to_bed, hop_position)) diff --git a/scripts/player/state/sleeping.gd b/scripts/player/state/sleeping.gd new file mode 100644 index 0000000..d93ecdb --- /dev/null +++ b/scripts/player/state/sleeping.gd @@ -0,0 +1,99 @@ +extends Reference + +const NAME = "sleeping" + +var ctx: KinematicBody = null +var hop_position: Spatial +var made_it_to_bed: bool +var model_transform: Spatial +var anim_player: AnimationPlayer +var old_model_origin: Vector3 + +var waiting := false + +func _init(p_made_it_to_bed: bool, p_hop_position: Spatial = null): + hop_position = p_hop_position + made_it_to_bed = p_made_it_to_bed + +func enter_from(state): + hop_position = hop_position if hop_position else ctx.get_tree().get_nodes_in_group("bed_hop_position")[0] + model_transform = ctx.get_node("model_transform") + anim_player = ctx.get_node("model_transform/node_animations") + + # Pause everything but the player + ctx.get_tree().paused = true + ctx.get_node("hunger_timer").pause_mode = ctx.PAUSE_MODE_STOP + ctx.pause_mode = ctx.PAUSE_MODE_PROCESS + + # Drop any carried item + if ctx.has_item(): + ctx.drop_item_in_hand() + + # Prepare to play animation + + if made_it_to_bed: + # Slide the player to the front of the bed + old_model_origin = model_transform.global_transform.origin + var tween = model_transform.create_tween() + tween.tween_property(model_transform, "global_transform:origin", hop_position.global_transform.origin, .1) + yield(tween, "finished") + # Warp the player to the right position & orientation + model_transform.global_transform = hop_position.global_transform + else: + # Harm the player and show message + ctx.set_health(ctx.health - 1) + var node = Dialogic.start("day_end") + node.pause_mode = ctx.PAUSE_MODE_PROCESS + ctx.add_child(node) + yield(node, "timeline_end") + # Warp the player to the right position & orientation + ctx.global_transform.origin = hop_position.global_transform.origin + model_transform.global_transform = hop_position.global_transform + old_model_origin = model_transform.global_transform.origin + + + # Play hop animation + ctx.get_node("model_transform/DungMan/AnimationTree")["parameters/Move/playback"].travel("idle") + anim_player.call_deferred("play", "hop_into_bed") + yield(anim_player, "animation_finished") + waiting = true + + # Reset the day timer + for game_manager in ctx.get_tree().get_nodes_in_group("game_manager"): + game_manager.reset_day_timer() + +func exit_to(state): + ctx.pause_mode = ctx.PAUSE_MODE_INHERIT + ctx.get_node("hunger_timer").pause_mode = ctx.PAUSE_MODE_INHERIT + ctx.get_tree().paused = false + +func physics_process(delta): + pass + +func unhandled_input(event: InputEvent): + if not waiting: + return + if not event.is_action_pressed("action"): + return + + ctx.get_tree().set_input_as_handled() + + # Play hop out animation + anim_player.call_deferred("play", "hop_out_of_bed") + yield(anim_player, "animation_finished") + + # Slide the player back to the front of the bed + var tween = model_transform.create_tween() + tween.tween_property(model_transform, "global_transform:origin", old_model_origin, .1) + yield(tween, "finished") + + # Show message + var node = Dialogic.start("wake_up") + node.pause_mode = ctx.PAUSE_MODE_PROCESS + ctx.add_child(node) + yield(node, "timeline_end") + + ctx.change_state(ctx.StateDefault.new()) + +func on_sleep(made_it_to_bed: bool, hop_position: Spatial): + assert(false, "shouldn't be able to sleep while sleeping")