diff --git a/3D/BlockbenchModels/AlarmBox/Alarm_Box.bbmodel b/3D/BlockbenchModels/AlarmBox/Alarm_Box.bbmodel index 06c47b07..249272d5 100644 --- a/3D/BlockbenchModels/AlarmBox/Alarm_Box.bbmodel +++ b/3D/BlockbenchModels/AlarmBox/Alarm_Box.bbmodel @@ -1 +1 @@ -{"meta":{"format_version":"4.10","model_format":"free","box_uv":false},"name":"Alarm_Box","model_identifier":"","visible_box":[1,1,0],"variable_placeholders":"","variable_placeholder_buttons":[],"timeline_setups":[],"unhandled_root_fields":{},"resolution":{"width":32,"height":32},"elements":[{"name":"cuboid","color":7,"origin":[0,0,0],"rotation":[0,-180,0],"export":true,"visibility":true,"locked":false,"render_order":"default","allow_mirror_modeling":true,"vertices":{"5opu":[3,4,1],"Cl1p":[3,4,-1],"AICL":[3,-4,1],"Byg2":[3,-4,-1],"wCv1":[-3,4,1],"8LyQ":[-3,4,-1],"1jpQ":[-3,-4,1],"GO5x":[-3,-4,-1]},"faces":{"miXhwLeZ":{"uv":{"Byg2":[2,17],"Cl1p":[2,9],"AICL":[0,17],"5opu":[0,9]},"vertices":["5opu","AICL","Cl1p","Byg2"],"texture":0},"GOaUCZp2":{"uv":{"GO5x":[3,17],"1jpQ":[5,17],"8LyQ":[3,9],"wCv1":[5,9]},"vertices":["wCv1","8LyQ","1jpQ","GO5x"],"texture":0},"pjBt281A":{"uv":{"8LyQ":[6,9],"wCv1":[6,11],"Cl1p":[12,9],"5opu":[12,11]},"vertices":["5opu","Cl1p","wCv1","8LyQ"],"texture":0},"NkP4CMPs":{"uv":{"GO5x":[6,14],"Byg2":[12,14],"1jpQ":[6,12],"AICL":[12,12]},"vertices":["AICL","1jpQ","Byg2","GO5x"],"texture":0},"cekcPWGv":{"uv":{"1jpQ":[0,8],"AICL":[6,8],"wCv1":[0,0],"5opu":[6,0]},"vertices":["5opu","wCv1","AICL","1jpQ"],"texture":0},"NTRKbQIG":{"uv":{"GO5x":[13,8],"8LyQ":[13,0],"Byg2":[7,8],"Cl1p":[7,0]},"vertices":["Cl1p","Byg2","8LyQ","GO5x"],"texture":0}},"type":"mesh","uuid":"d9ea70d8-4592-8eee-08a5-e00b25615461"}],"outliner":["d9ea70d8-4592-8eee-08a5-e00b25615461"],"textures":[{"path":"K:\\godot\\cirno\\3D\\BlockbenchModels\\AlarmBox\\Alarm_Box_Texture.png","name":"Alarm_Box_Texture.png","folder":"block","namespace":"","id":"0","group":"","width":32,"height":32,"uv_width":32,"uv_height":32,"particle":false,"use_as_default":false,"layers_enabled":false,"sync_to_project":"","render_mode":"default","render_sides":"auto","pbr_channel":"color","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"internal":true,"saved":true,"uuid":"b7f62370-e6b7-1dff-7e06-688881b59fe2","relative_path":"Alarm_Box_Texture.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAJpJREFUWEdjdOBK+c+ABRz4NocRnxw2PeSI4bUE5IBIwe0o5i5/78kAchw5lmHTQ5QDzMXEwHpPvnrFMOqAkRkCyImH7iGAK4tSLRdQyyByzYFnQ+SCh16FEMjRg9cB5AYpqfoGbwjQoyLCmwZIDUpy1eOMAnINJFXfwDuAVBdTWz3VGhbkOmzUAaMhMBoCoyEwGgKjITDgIQAAHa2uIYnXDQAAAAAASUVORK5CYII="}],"export_options":{"gltf":{"encoding":"ascii","scale":16,"embed_textures":true,"armature":false,"animations":true}}} \ No newline at end of file +{"meta":{"format_version":"4.10","model_format":"free","box_uv":false},"name":"Alarm_Box","model_identifier":"","visible_box":[1,1,0],"variable_placeholders":"","variable_placeholder_buttons":[],"timeline_setups":[],"unhandled_root_fields":{},"reexport":{"codec":"gltf","codec_options":{"encoding":"ascii","scale":16,"embed_textures":true,"armature":false,"animations":true},"path":".\\Alarm_Box.gltf","enabled":true},"resolution":{"width":32,"height":32},"elements":[{"name":"cuboid","color":7,"origin":[0,0,0],"rotation":[0,0,0],"export":true,"visibility":true,"locked":false,"render_order":"default","allow_mirror_modeling":true,"vertices":{"5opu":[3,4,1],"Cl1p":[3,4,-1],"AICL":[3,-4,1],"Byg2":[3,-4,-1],"wCv1":[-3,4,1],"8LyQ":[-3,4,-1],"1jpQ":[-3,-4,1],"GO5x":[-3,-4,-1]},"faces":{"miXhwLeZ":{"uv":{"Byg2":[2,17],"Cl1p":[2,9],"AICL":[0,17],"5opu":[0,9]},"vertices":["5opu","AICL","Cl1p","Byg2"],"texture":0},"GOaUCZp2":{"uv":{"GO5x":[3,17],"1jpQ":[5,17],"8LyQ":[3,9],"wCv1":[5,9]},"vertices":["wCv1","8LyQ","1jpQ","GO5x"],"texture":0},"pjBt281A":{"uv":{"8LyQ":[6,9],"wCv1":[6,11],"Cl1p":[12,9],"5opu":[12,11]},"vertices":["5opu","Cl1p","wCv1","8LyQ"],"texture":0},"NkP4CMPs":{"uv":{"GO5x":[6,14],"Byg2":[12,14],"1jpQ":[6,12],"AICL":[12,12]},"vertices":["AICL","1jpQ","Byg2","GO5x"],"texture":0},"cekcPWGv":{"uv":{"1jpQ":[0,8],"AICL":[6,8],"wCv1":[0,0],"5opu":[6,0]},"vertices":["5opu","wCv1","AICL","1jpQ"],"texture":0},"NTRKbQIG":{"uv":{"GO5x":[13,8],"8LyQ":[13,0],"Byg2":[7,8],"Cl1p":[7,0]},"vertices":["Cl1p","Byg2","8LyQ","GO5x"],"texture":0}},"type":"mesh","uuid":"d9ea70d8-4592-8eee-08a5-e00b25615461"}],"outliner":["d9ea70d8-4592-8eee-08a5-e00b25615461"],"textures":[{"path":"D:\\Maddo\\cirnogodot\\3D\\BlockbenchModels\\AlarmBox\\Alarm_Box_Texture.png","name":"Alarm_Box_Texture.png","folder":"block","namespace":"","id":"0","group":"","width":32,"height":32,"uv_width":32,"uv_height":32,"particle":false,"use_as_default":false,"layers_enabled":false,"sync_to_project":"","render_mode":"default","render_sides":"auto","pbr_channel":"color","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"internal":true,"saved":true,"uuid":"b7f62370-e6b7-1dff-7e06-688881b59fe2","relative_path":"Alarm_Box_Texture.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAJpJREFUWEdjdOBK+c+ABRz4NocRnxw2PeSI4bUE5IBIwe0o5i5/78kAchw5lmHTQ5QDzMXEwHpPvnrFMOqAkRkCyImH7iGAK4tSLRdQyyByzYFnQ+SCh16FEMjRg9cB5AYpqfoGbwjQoyLCmwZIDUpy1eOMAnINJFXfwDuAVBdTWz3VGhbkOmzUAaMhMBoCoyEwGgKjITDgIQAAHa2uIYnXDQAAAAAASUVORK5CYII="}],"export_options":{"gltf":{"encoding":"ascii","scale":16,"embed_textures":true,"armature":false,"animations":true}}} \ No newline at end of file diff --git a/3D/BlockbenchModels/AlarmBox/Alarm_Box.gltf b/3D/BlockbenchModels/AlarmBox/Alarm_Box.gltf index e3a90740..9c8511a9 100644 --- a/3D/BlockbenchModels/AlarmBox/Alarm_Box.gltf +++ b/3D/BlockbenchModels/AlarmBox/Alarm_Box.gltf @@ -1 +1 @@ -{"asset":{"version":"2.0","generator":"Blockbench 4.12.4 glTF exporter"},"scenes":[{"nodes":[1],"name":"blockbench_export"}],"scene":0,"nodes":[{"rotation":[0,-1,0,6.123233995736766e-17],"name":"cuboid","mesh":0},{"children":[0]}],"bufferViews":[{"buffer":0,"byteOffset":0,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":288,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":576,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":768,"byteLength":72,"target":34963}],"buffers":[{"byteLength":840,"uri":"data:application/octet-stream;base64,AABAPgAAgD4AAIA9AABAPgAAgL4AAIA9AABAPgAAgD4AAIC9AABAPgAAgL4AAIC9AABAvgAAgD4AAIA9AABAvgAAgD4AAIC9AABAvgAAgL4AAIA9AABAvgAAgL4AAIC9AABAPgAAgD4AAIA9AABAPgAAgD4AAIC9AABAvgAAgD4AAIA9AABAvgAAgD4AAIC9AABAPgAAgL4AAIA9AABAvgAAgL4AAIA9AABAPgAAgL4AAIC9AABAvgAAgL4AAIC9AABAPgAAgD4AAIA9AABAvgAAgD4AAIA9AABAPgAAgL4AAIA9AABAvgAAgL4AAIA9AABAPgAAgD4AAIC9AABAPgAAgL4AAIC9AABAvgAAgD4AAIC9AABAvgAAgL4AAIC9AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAkD4AAAAAAAAIPwAAgD0AAJA+AACAPQAACD8AACA+AACQPgAAwD0AAJA+AAAgPgAACD8AAMA9AAAIPwAAwD4AALA+AADAPgAAkD4AAEA+AACwPgAAQD4AAJA+AADAPgAAwD4AAEA+AADAPgAAwD4AAOA+AABAPgAA4D4AAEA+AAAAAAAAAAAAAAAAAABAPgAAgD4AAAAAAACAPgAAYD4AAAAAAABgPgAAgD4AANA+AAAAAAAA0D4AAIA+AgAAAAEAAgABAAMABgAEAAUABgAFAAcACgAIAAkACgAJAAsADgAMAA0ADgANAA8AEgAQABEAEgARABMAFgAUABUAFgAVABcA"}],"accessors":[{"bufferView":0,"componentType":5126,"count":24,"max":[0.1875,0.25,0.0625],"min":[-0.1875,-0.25,-0.0625],"type":"VEC3"},{"bufferView":1,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":2,"componentType":5126,"count":24,"max":[0.40625,0.53125],"min":[0,0],"type":"VEC2"},{"bufferView":3,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"}],"materials":[{"pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":1,"baseColorTexture":{"index":0}},"alphaMode":"MASK","alphaCutoff":0.05,"doubleSided":true}],"textures":[{"sampler":0,"source":0,"name":"Control_Pad_Texture"}],"samplers":[{"magFilter":9728,"minFilter":9728,"wrapS":33071,"wrapT":33071}],"images":[{"mimeType":"image/png","uri":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAJpJREFUWEdjdOBK+c+ABRz4NocRnxw2PeSI4bUE5IBIwe0o5i5/78kAchw5lmHTQ5QDzMXEwHpPvnrFMOqAkRkCyImH7iGAK4tSLRdQyyByzYFnQ+SCh16FEMjRg9cB5AYpqfoGbwjQoyLCmwZIDUpy1eOMAnINJFXfwDuAVBdTWz3VGhbkOmzUAaMhMBoCoyEwGgKjITDgIQAAHa2uIYnXDQAAAAAASUVORK5CYII="}],"meshes":[{"primitives":[{"mode":4,"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]}]} \ No newline at end of file +{"asset":{"version":"2.0","generator":"Blockbench 4.12.5 glTF exporter"},"scenes":[{"nodes":[1],"name":"blockbench_export"}],"scene":0,"nodes":[{"name":"cuboid","mesh":0},{"children":[0]}],"bufferViews":[{"buffer":0,"byteOffset":0,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":288,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":576,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":768,"byteLength":72,"target":34963}],"buffers":[{"byteLength":840,"uri":"data:application/octet-stream;base64,AABAPgAAgD4AAIA9AABAPgAAgL4AAIA9AABAPgAAgD4AAIC9AABAPgAAgL4AAIC9AABAvgAAgD4AAIA9AABAvgAAgD4AAIC9AABAvgAAgL4AAIA9AABAvgAAgL4AAIC9AABAPgAAgD4AAIA9AABAPgAAgD4AAIC9AABAvgAAgD4AAIA9AABAvgAAgD4AAIC9AABAPgAAgL4AAIA9AABAvgAAgL4AAIA9AABAPgAAgL4AAIC9AABAvgAAgL4AAIC9AABAPgAAgD4AAIA9AABAvgAAgD4AAIA9AABAPgAAgL4AAIA9AABAvgAAgL4AAIA9AABAPgAAgD4AAIC9AABAPgAAgL4AAIC9AABAvgAAgD4AAIC9AABAvgAAgL4AAIC9AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAkD4AAAAAAAAIPwAAgD0AAJA+AACAPQAACD8AACA+AACQPgAAwD0AAJA+AAAgPgAACD8AAMA9AAAIPwAAwD4AALA+AADAPgAAkD4AAEA+AACwPgAAQD4AAJA+AADAPgAAwD4AAEA+AADAPgAAwD4AAOA+AABAPgAA4D4AAEA+AAAAAAAAAAAAAAAAAABAPgAAgD4AAAAAAACAPgAAYD4AAAAAAABgPgAAgD4AANA+AAAAAAAA0D4AAIA+AgAAAAEAAgABAAMABgAEAAUABgAFAAcACgAIAAkACgAJAAsADgAMAA0ADgANAA8AEgAQABEAEgARABMAFgAUABUAFgAVABcA"}],"accessors":[{"bufferView":0,"componentType":5126,"count":24,"max":[0.1875,0.25,0.0625],"min":[-0.1875,-0.25,-0.0625],"type":"VEC3"},{"bufferView":1,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":2,"componentType":5126,"count":24,"max":[0.40625,0.53125],"min":[0,0],"type":"VEC2"},{"bufferView":3,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"}],"materials":[{"pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":1,"baseColorTexture":{"index":0}},"alphaMode":"MASK","alphaCutoff":0.05,"doubleSided":true}],"textures":[{"sampler":0,"source":0,"name":"Alarm_Box_Texture.png"}],"samplers":[{"magFilter":9728,"minFilter":9728,"wrapS":33071,"wrapT":33071}],"images":[{"mimeType":"image/png","uri":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAJpJREFUWEdjdOBK+c+ABRz4NocRnxw2PeSI4bUE5IBIwe0o5i5/78kAchw5lmHTQ5QDzMXEwHpPvnrFMOqAkRkCyImH7iGAK4tSLRdQyyByzYFnQ+SCh16FEMjRg9cB5AYpqfoGbwjQoyLCmwZIDUpy1eOMAnINJFXfwDuAVBdTWz3VGhbkOmzUAaMhMBoCoyEwGgKjITDgIQAAHa2uIYnXDQAAAAAASUVORK5CYII="}],"meshes":[{"primitives":[{"mode":4,"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]}]} \ No newline at end of file diff --git a/3D/BlockbenchModels/ControlPad/Control_Pad.gltf.import b/3D/BlockbenchModels/ControlPad/Control_Pad.gltf.import index 74daa4a4..742e475f 100644 --- a/3D/BlockbenchModels/ControlPad/Control_Pad.gltf.import +++ b/3D/BlockbenchModels/ControlPad/Control_Pad.gltf.import @@ -32,6 +32,13 @@ animation/trimming=false animation/remove_immutable_tracks=true animation/import_rest_as_RESET=false import_script/path="" -_subresources={} +_subresources={ +"materials": { +"material_0": { +"use_external/enabled": true, +"use_external/path": "res://3D/BlockbenchModels/ControlPad/material_0.tres" +} +} +} gltf/naming_version=1 gltf/embedded_image_handling=1 diff --git a/3D/BlockbenchModels/ControlPad/Control_Pad_0_emission.png b/3D/BlockbenchModels/ControlPad/Control_Pad_0_emission.png new file mode 100644 index 00000000..8c168b6c --- /dev/null +++ b/3D/BlockbenchModels/ControlPad/Control_Pad_0_emission.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6814a6c5b348eacd6695178224d1a1c6e9138c60e59cdef59dde30662f409e1d +size 140 diff --git a/3D/BlockbenchModels/ControlPad/Control_Pad_0_emission.png.import b/3D/BlockbenchModels/ControlPad/Control_Pad_0_emission.png.import new file mode 100644 index 00000000..e44f0a9e --- /dev/null +++ b/3D/BlockbenchModels/ControlPad/Control_Pad_0_emission.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://biu14wagvbn1e" +path="res://.godot/imported/Control_Pad_0_emission.png-e930e791b6ce706e3c12107603ebb6ac.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://3D/BlockbenchModels/ControlPad/Control_Pad_0_emission.png" +dest_files=["res://.godot/imported/Control_Pad_0_emission.png-e930e791b6ce706e3c12107603ebb6ac.ctex"] + +[params] + +compress/mode=3 +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=0 diff --git a/3D/BlockbenchModels/ControlPad/material_0.tres b/3D/BlockbenchModels/ControlPad/material_0.tres new file mode 100644 index 00000000..919c412b --- /dev/null +++ b/3D/BlockbenchModels/ControlPad/material_0.tres @@ -0,0 +1,17 @@ +[gd_resource type="StandardMaterial3D" load_steps=3 format=3 uid="uid://chudetvke2c5p"] + +[ext_resource type="Texture2D" uid="uid://bny1n60ahhech" path="res://3D/BlockbenchModels/ControlPad/Control_Pad_0.png" id="1_gscmb"] +[ext_resource type="Texture2D" uid="uid://biu14wagvbn1e" path="res://3D/BlockbenchModels/ControlPad/Control_Pad_0_emission.png" id="2_0cxsk"] + +[resource] +resource_name = "material_0" +transparency = 2 +alpha_scissor_threshold = 0.05 +alpha_antialiasing_mode = 0 +cull_mode = 2 +albedo_texture = ExtResource("1_gscmb") +emission_enabled = true +emission_operator = 1 +emission_texture = ExtResource("2_0cxsk") +texture_filter = 0 +texture_repeat = false diff --git a/3D/MapModels/actor_alarmbox.glb b/3D/MapModels/actor_alarmbox.glb new file mode 100644 index 00000000..df94450e Binary files /dev/null and b/3D/MapModels/actor_alarmbox.glb differ diff --git a/3D/MapModels/actor_controlpad.glb b/3D/MapModels/actor_controlpad.glb index 9d8ac2d5..786143bf 100644 Binary files a/3D/MapModels/actor_controlpad.glb and b/3D/MapModels/actor_controlpad.glb differ diff --git a/3D/MapScenes/RebelBase3D.tscn b/3D/MapScenes/RebelBase3D.tscn index bb20c133..545cdbfb 100644 --- a/3D/MapScenes/RebelBase3D.tscn +++ b/3D/MapScenes/RebelBase3D.tscn @@ -430,6 +430,7 @@ transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -8.25, [node name="entity_6_actor_terminal" parent="FuncGodotMap" instance=ExtResource("16_u06t4")] transform = Transform3D(1, 0, 1.74846e-07, 0, 1, 0, -1.74846e-07, 0, 1, -11.5, 1.75, -9) +script = null [node name="entity_7_actor_box_green" parent="FuncGodotMap" instance=ExtResource("17_u06t4")] transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 3.5, 1.25, -3.5) diff --git a/3D/MapScenes/TestLevel.tscn b/3D/MapScenes/TestLevel.tscn index 06b10781..92f3aa28 100644 --- a/3D/MapScenes/TestLevel.tscn +++ b/3D/MapScenes/TestLevel.tscn @@ -3018,6 +3018,9 @@ TargetGroup = "elevator_1" transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 14.5, 1.75, 17) TimelineName = &"computer2" +[node name="entity_207_actor_alarmbox" parent="Maps/FuncGodotMap" instance=ExtResource("54_anja4")] +transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 29.5, 2, 10.25) + [node name="Props" type="Node3D" parent="."] [node name="TestElevator" type="Node3D" parent="Props"] @@ -3062,7 +3065,7 @@ Target = NodePath("../Door3") transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -4.48079, 4.71987, 22.8504) [node name="Chest" parent="Props" instance=ExtResource("70_005j7")] -transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 23.4778, 1.53711, 11.3417) +transform = Transform3D(1.31134e-07, 0, -1, 0, 1, 0, 1, 0, 1.31134e-07, 23.5714, 1.53711, 11.4827) LootTable = [ExtResource("72_51d8c")] [node name="Forcefield" parent="Props" instance=ExtResource("83_51d8c")] diff --git a/3D/Maps/Level1.map b/3D/Maps/Level1.map index 8a3d45f8..71c33e7d 100644 --- a/3D/Maps/Level1.map +++ b/3D/Maps/Level1.map @@ -3798,3 +3798,8 @@ "origin" "272 232 28" "timeline" "computer2" } +// entity 207 +{ +"classname" "actor_alarmbox" +"origin" "164 472 32" +} diff --git a/3D/Scenes/Props/Alarm_Box_3D.tscn b/3D/Scenes/Props/Alarm_Box_3D.tscn index 252384f0..803d9dbe 100644 --- a/3D/Scenes/Props/Alarm_Box_3D.tscn +++ b/3D/Scenes/Props/Alarm_Box_3D.tscn @@ -1,27 +1,18 @@ -[gd_scene load_steps=6 format=3 uid="uid://cpx5yjfg3a2hw"] +[gd_scene load_steps=5 format=3 uid="uid://cpx5yjfg3a2hw"] -[ext_resource type="Script" uid="uid://qxh76ahgexqa" path="res://Scripts/Interactables/Switch3D.cs" id="1_4ysgp"] -[ext_resource type="Texture2D" uid="uid://d24g1qb40t72l" path="res://Sprites/Button_Small.png" id="2_t4kxh"] +[ext_resource type="Script" uid="uid://dxhf1twoxf4j0" path="res://Scripts/Interactables/AlarmBox3D.cs" id="1_4ysgp"] [ext_resource type="AudioStream" uid="uid://bjvklk7qmlivd" path="res://SFX/288963__littlerobotsoundfactory__click_electronic_14.wav" id="3_5t8l3"] [ext_resource type="PackedScene" uid="uid://s4yb3i3td11j" path="res://3D/BlockbenchModels/AlarmBox/Alarm_Box.gltf" id="4_4ysgp"] [sub_resource type="SphereShape3D" id="SphereShape3D_itd0i"] -radius = 0.868968 +radius = 0.419927 -[node name="ControlPad" type="Area3D" groups=["Interactable"]] +[node name="AlarmBox" type="Area3D" groups=["Interactable"]] collision_layer = 32 collision_mask = 0 script = ExtResource("1_4ysgp") metadata/_edit_group_ = true -[node name="Sprite3D" type="Sprite3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 0, 0) -visible = false -pixel_size = 0.1 -texture_filter = 0 -texture = ExtResource("2_t4kxh") -hframes = 4 - [node name="CollisionShape3D" type="CollisionShape3D" parent="."] shape = SubResource("SphereShape3D_itd0i") diff --git a/3D/Scenes/Props/Terminal_3D.tscn b/3D/Scenes/Props/Terminal_3D.tscn index a1cb49ba..be982c5c 100644 --- a/3D/Scenes/Props/Terminal_3D.tscn +++ b/3D/Scenes/Props/Terminal_3D.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=5 format=3 uid="uid://hak5o0k5yhn1"] [ext_resource type="PackedScene" uid="uid://bc0du3r4krgg1" path="res://3D/BlockbenchModels/Terminal/Terminal.gltf" id="1_7jsh0"] -[ext_resource type="Script" uid="uid://duy020jwtwver" path="res://Scripts/Activables/Terminal3D.cs" id="1_sn7tt"] +[ext_resource type="Script" uid="uid://duy020jwtwver" path="res://Scripts/Activables/DialogueActor3D.cs" id="1_sn7tt"] [sub_resource type="SphereShape3D" id="SphereShape3D_2cx3w"] @@ -12,7 +12,6 @@ size = Vector3(0.405762, 0.402695, 0.405273) collision_layer = 32 collision_mask = 0 script = ExtResource("1_sn7tt") -TimelineName = &"timeline" [node name="CollisionShape3D" type="CollisionShape3D" parent="."] shape = SubResource("SphereShape3D_2cx3w") diff --git a/3D/Scenes/Props/chest_3d.tscn b/3D/Scenes/Props/chest_3d.tscn index 75544481..619ecba4 100644 --- a/3D/Scenes/Props/chest_3d.tscn +++ b/3D/Scenes/Props/chest_3d.tscn @@ -27,3 +27,7 @@ shape = SubResource("BoxShape3D_sefe4") [node name="CollisionShape3D" type="CollisionShape3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.271027, 0) shape = SubResource("SphereShape3D_sxwrc") + +[connection signal="OpenChest" from="." to="SolidChest/blockbench_export/AnimationPlayer" method="play" binds= ["Open"]] + +[editable path="SolidChest/blockbench_export"] diff --git a/3D/Scenes/Props/control_pad_3d.tscn b/3D/Scenes/Props/control_pad_3d.tscn index fbf0f360..1b9b67de 100644 --- a/3D/Scenes/Props/control_pad_3d.tscn +++ b/3D/Scenes/Props/control_pad_3d.tscn @@ -31,3 +31,5 @@ stream = ExtResource("3_ldivl") bus = &"Effects" [node name="blockbench_export" parent="." instance=ExtResource("4_dfw4f")] + +[editable path="blockbench_export"] diff --git a/3D/TrenchBroom/EntityDefinitions/point/actors/actor_alarmbox.tres b/3D/TrenchBroom/EntityDefinitions/point/actors/actor_alarmbox.tres new file mode 100644 index 00000000..1b6e7c12 --- /dev/null +++ b/3D/TrenchBroom/EntityDefinitions/point/actors/actor_alarmbox.tres @@ -0,0 +1,31 @@ +[gd_resource type="Resource" script_class="FuncGodotFGDModelPointClass" load_steps=4 format=3 uid="uid://bb0dbkrmp7uq2"] + +[ext_resource type="Resource" uid="uid://5bc1qysixhmh" path="res://3D/TrenchBroom/EntityDefinitions/base/actor_base.tres" id="1_lfdgw"] +[ext_resource type="PackedScene" uid="uid://cpx5yjfg3a2hw" path="res://3D/Scenes/Props/Alarm_Box_3D.tscn" id="2_400u4"] +[ext_resource type="Script" uid="uid://dkmyelig23ub5" path="res://addons/func_godot/src/fgd/func_godot_fgd_model_point_class.gd" id="4_n6irp"] + +[resource] +script = ExtResource("4_n6irp") +target_map_editor = 0 +models_sub_folder = "" +scale_expression = "" +generate_size_property = false +rotation_offset = Vector3(0, 180, 0) +generate_gd_ignore_file = false +scene_file = ExtResource("2_400u4") +apply_rotation_on_map_build = true +apply_scale_on_map_build = false +classname = "actor_alarmbox" +description = "Alarm Box" +func_godot_internal = false +base_classes = Array[Resource]([ExtResource("1_lfdgw")]) +class_properties = {} +class_property_descriptions = {} +auto_apply_to_matching_node_properties = false +meta_properties = { +"size": AABB(-4, -4, -4, 4, 4, 4), +"studio": "\"3D/MapModels/actor_alarmbox.glb\"" +} +node_class = "" +name_property = "" +metadata/_custom_type_script = "uid://c83r7t467hm4m" diff --git a/3D/TrenchBroom/fgd_point.tres b/3D/TrenchBroom/fgd_point.tres index d4b0b407..c83d4e17 100644 --- a/3D/TrenchBroom/fgd_point.tres +++ b/3D/TrenchBroom/fgd_point.tres @@ -1,4 +1,4 @@ -[gd_resource type="Resource" script_class="FuncGodotFGDFile" load_steps=25 format=3 uid="uid://b700sa4be6dfa"] +[gd_resource type="Resource" script_class="FuncGodotFGDFile" load_steps=26 format=3 uid="uid://b700sa4be6dfa"] [ext_resource type="Resource" uid="uid://ia1t5p4mhom3" path="res://3D/TrenchBroom/EntityDefinitions/point/lights/light_omni.tres" id="1_7vcj1"] [ext_resource type="Script" uid="uid://cknmd0lgmorx2" path="res://addons/func_godot/src/fgd/func_godot_fgd_file.gd" id="1_lykim"] @@ -24,6 +24,7 @@ [ext_resource type="Resource" uid="uid://ejgmadticege" path="res://3D/TrenchBroom/EntityDefinitions/point/actors/Actor_Capacitor_Mini.tres" id="21_g67cj"] [ext_resource type="Resource" uid="uid://cx1wn21evf30h" path="res://3D/TrenchBroom/EntityDefinitions/point/actors/Actor_Tank_Large.tres" id="22_iy67w"] [ext_resource type="Resource" uid="uid://cs333m37kmp2y" path="res://3D/TrenchBroom/EntityDefinitions/point/actors/actor_chest.tres" id="23_b5lmu"] +[ext_resource type="Resource" uid="uid://bb0dbkrmp7uq2" path="res://3D/TrenchBroom/EntityDefinitions/point/actors/actor_alarmbox.tres" id="24_ndas4"] [resource] script = ExtResource("1_lykim") @@ -31,5 +32,5 @@ export_file = false target_map_editor = 1 fgd_name = "FuncGodot" base_fgd_files = Array[Resource]([]) -entity_definitions = Array[Resource]([ExtResource("1_7vcj1"), ExtResource("2_u7uvb"), ExtResource("3_u7uvb"), ExtResource("4_1nmxk"), ExtResource("5_ljb2x"), ExtResource("6_seuvu"), ExtResource("7_fmwex"), ExtResource("8_c8m8m"), ExtResource("9_14sjf"), ExtResource("10_xik3w"), ExtResource("11_dgiqm"), ExtResource("12_1teik"), ExtResource("13_f0hti"), ExtResource("14_6ld6e"), ExtResource("15_g8j5j"), ExtResource("16_7h4of"), ExtResource("17_m3sbm"), ExtResource("18_m3sbm"), ExtResource("19_hvhb8"), ExtResource("20_3v5us"), ExtResource("21_g67cj"), ExtResource("22_iy67w"), ExtResource("23_b5lmu")]) +entity_definitions = Array[Resource]([ExtResource("1_7vcj1"), ExtResource("2_u7uvb"), ExtResource("3_u7uvb"), ExtResource("4_1nmxk"), ExtResource("5_ljb2x"), ExtResource("6_seuvu"), ExtResource("7_fmwex"), ExtResource("8_c8m8m"), ExtResource("9_14sjf"), ExtResource("10_xik3w"), ExtResource("11_dgiqm"), ExtResource("12_1teik"), ExtResource("13_f0hti"), ExtResource("14_6ld6e"), ExtResource("15_g8j5j"), ExtResource("16_7h4of"), ExtResource("17_m3sbm"), ExtResource("18_m3sbm"), ExtResource("19_hvhb8"), ExtResource("20_3v5us"), ExtResource("21_g67cj"), ExtResource("22_iy67w"), ExtResource("23_b5lmu"), ExtResource("24_ndas4")]) metadata/_custom_type_script = "uid://cknmd0lgmorx2" diff --git a/IsoTest/IsoMapTest2.tscn b/IsoTest/IsoMapTest2.tscn index 0ef26b43..73110104 100644 --- a/IsoTest/IsoMapTest2.tscn +++ b/IsoTest/IsoMapTest2.tscn @@ -485,7 +485,7 @@ hframes = 4 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.84862, 0, -4.8932) [node name="StartPosition" type="Marker3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.9778, 1.57535, -30.5186) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21.2092, 1.57535, 4.23742) [node name="CameraTarget" type="Marker3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21.0389, 2.33215, 3.16925) diff --git a/Scripts/Activables/Terminal3D.cs b/Scripts/Activables/DialogueActor3D.cs similarity index 96% rename from Scripts/Activables/Terminal3D.cs rename to Scripts/Activables/DialogueActor3D.cs index d373ab98..dae768f9 100644 --- a/Scripts/Activables/Terminal3D.cs +++ b/Scripts/Activables/DialogueActor3D.cs @@ -7,7 +7,7 @@ using Godot.Collections; namespace Cirno.Scripts.Activables; [Tool] -public partial class Terminal3D : Area3D, IInteractable +public partial class DialogueActor3D : Area3D, IInteractable { [Export] public StringName TimelineName = ""; private DialogueTools _dialogueInstance; diff --git a/Scripts/Activables/Terminal3D.cs.uid b/Scripts/Activables/DialogueActor3D.cs.uid similarity index 100% rename from Scripts/Activables/Terminal3D.cs.uid rename to Scripts/Activables/DialogueActor3D.cs.uid diff --git a/Scripts/Components/Actors/3D/Chest3D.cs b/Scripts/Components/Actors/3D/Chest3D.cs index f149cddf..7c5b4fc6 100644 --- a/Scripts/Components/Actors/3D/Chest3D.cs +++ b/Scripts/Components/Actors/3D/Chest3D.cs @@ -11,6 +11,9 @@ public partial class Chest3D : Interactable3D [Export] public ChestState State = ChestState.Closed; + [Signal] public delegate void OpenChestEventHandler(); + [Signal] public delegate void CloseChestEventHandler(); + public override bool Activate(ActivationType activationType = ActivationType.Toggle) { GD.Print("Attempting to open chest"); @@ -21,6 +24,7 @@ public partial class Chest3D : Interactable3D InventoryManager.Instance.AddItem(item); } + EmitSignalOpenChest(); //_sprite.Play("Opening"); State = ChestState.Open; diff --git a/Scripts/Components/Actors/3D/ModelAnimation3D.cs b/Scripts/Components/Actors/3D/ModelAnimation3D.cs new file mode 100644 index 00000000..071c34ab --- /dev/null +++ b/Scripts/Components/Actors/3D/ModelAnimation3D.cs @@ -0,0 +1,8 @@ +using Godot; + +namespace Cirno.Scripts.Components.Actors._3D; + +public partial class ModelAnimation3D : Node +{ + +} \ No newline at end of file diff --git a/Scripts/Components/Actors/3D/ModelAnimation3D.cs.uid b/Scripts/Components/Actors/3D/ModelAnimation3D.cs.uid new file mode 100644 index 00000000..3d8af9c9 --- /dev/null +++ b/Scripts/Components/Actors/3D/ModelAnimation3D.cs.uid @@ -0,0 +1 @@ +uid://dw1e13462567x diff --git a/Scripts/Interactables/AlarmBox3D.cs b/Scripts/Interactables/AlarmBox3D.cs new file mode 100644 index 00000000..e0c71b2e --- /dev/null +++ b/Scripts/Interactables/AlarmBox3D.cs @@ -0,0 +1,42 @@ +using Godot; + +namespace Cirno.Scripts.Interactables; + +[Tool] +public partial class AlarmBox3D : Interactable3D +{ + private AudioStreamPlayer _activationSound; + private readonly string _activationSoundName = "ActivationSound"; + + [Signal] public delegate void OnActivatedEventHandler(ActivationType activationType); + public override void _Ready() + { + if (Engine.IsEditorHint()) return; + + _activationSound = GetNodeOrNull(_activationSoundName); + + if (AlarmManager.Instance is not null) + { + AlarmManager.Instance.AlarmEnabled3D += OnAlarmEnabled3D; + } + } + + private void OnAlarmEnabled3D(Vector3 location) + { + // TODO: set animation, make blinky + GD.Print($"Enabled alarm in box {this.Name}"); + } + + public override bool Activate(ActivationType activationType = ActivationType.Toggle) + { + EmitSignal(SignalName.OnActivated, (int)activationType); + + if (AlarmManager.Instance is not null) + { + _activationSound.Play(); + AlarmManager.Instance.DisableAlarm(); + } + + return true; + } +} \ No newline at end of file diff --git a/Scripts/Interactables/AlarmBox3D.cs.uid b/Scripts/Interactables/AlarmBox3D.cs.uid new file mode 100644 index 00000000..913122a2 --- /dev/null +++ b/Scripts/Interactables/AlarmBox3D.cs.uid @@ -0,0 +1 @@ +uid://dxhf1twoxf4j0