Added Glitch Room Source code to Gitty

This commit is contained in:
Jeff Luke committed 2026-10-04 11:31:17 -07:00
commit 1ac9eb5644
505 files changed
+28504

No files matched your search

+20
View File
@@ -0,0 +1,20 @@
[gd_resource type="Resource" script_class="CabinetProfile" format=3 uid="uid://cl4j1vtv388pt"]
[ext_resource type="Resource" uid="uid://cxna0oimf8mop" path="res://data/cabinets/cabinet_01_hardware.tres" id="1_b4cnm"]
[ext_resource type="Texture2D" uid="uid://cistuspr5bf8h" path="res://art/devices/tex_cabinet.png" id="1_hv02u"]
[ext_resource type="Script" uid="uid://c0jj5j5loqsma" path="res://core/hardware/cabinet_profile.gd" id="1_v1x8f"]
[resource]
script = ExtResource("1_v1x8f")
cabinet_id = &"cabinet_01"
display_name = "Cabinet 01"
capabilities = Array[StringName]([&"joystick_4way", &"button_1", &"start_button", &"joystick_horizontal"])
hardware_config = ExtResource("1_b4cnm")
footprint_width_m = 0.9144000000000001
footprint_depth_m = 0.9144000000000001
height_m = 1.8288000000000002
footprint_width_ft = 3.0
footprint_depth_ft = 3.0
height_ft = 6.0
editor_texture = ExtResource("1_hv02u")
metadata/_custom_type_script = "uid://c0jj5j5loqsma"
+24
View File
@@ -0,0 +1,24 @@
[gd_resource type="Resource" script_class="HardwareConfig" format=3 uid="uid://cxna0oimf8mop"]
[ext_resource type="Script" uid="uid://c7eu1n5yey1x4" path="res://core/hardware/hardware_action.gd" id="1_w3p60"]
[ext_resource type="Script" uid="uid://60whm57itpjb" path="res://core/hardware/hardware_config.gd" id="2_s5has"]
[sub_resource type="Resource" id="Resource_ogdj5"]
script = ExtResource("1_w3p60")
action_id = &"coin_release"
display_name = "Coin Release"
pulse_duration_ms = 600
metadata/_custom_type_script = "uid://c7eu1n5yey1x4"
[sub_resource type="Resource" id="Resource_gu74o"]
script = ExtResource("1_w3p60")
action_id = &"start_light"
display_name = "Start Light"
gpio_pin = 20
metadata/_custom_type_script = "uid://c7eu1n5yey1x4"
[resource]
script = ExtResource("2_s5has")
controller_id = &"cabinet_01_gpio"
actions = Array[ExtResource("1_w3p60")]([SubResource("Resource_ogdj5"), SubResource("Resource_gu74o")])
metadata/_custom_type_script = "uid://60whm57itpjb"
+20
View File
@@ -0,0 +1,20 @@
[gd_resource type="Resource" script_class="CabinetProfile" format=3 uid="uid://d1gyyfaaclas8"]
[ext_resource type="Resource" uid="uid://ddv64yg3h5vsi" path="res://data/cabinets/cabinet_02_hardware.tres" id="1_bfw68"]
[ext_resource type="Texture2D" uid="uid://cistuspr5bf8h" path="res://art/devices/tex_cabinet.png" id="1_lrfm7"]
[ext_resource type="Script" uid="uid://c0jj5j5loqsma" path="res://core/hardware/cabinet_profile.gd" id="2_lrfm7"]
[resource]
script = ExtResource("2_lrfm7")
cabinet_id = &"cabinet_02"
display_name = "Cabinet 02"
capabilities = Array[StringName]([&"joystick_4way", &"button_1", &"start_button", &"joystick_horizontal"])
hardware_config = ExtResource("1_bfw68")
footprint_width_m = 0.9144000000000001
footprint_depth_m = 0.9144000000000001
height_m = 1.8288000000000002
footprint_width_ft = 3.0
footprint_depth_ft = 3.0
height_ft = 6.0
editor_texture = ExtResource("1_lrfm7")
metadata/_custom_type_script = "uid://c0jj5j5loqsma"
+33
View File
@@ -0,0 +1,33 @@
[gd_resource type="Resource" script_class="HardwareConfig" format=3 uid="uid://ddv64yg3h5vsi"]
[ext_resource type="Script" uid="uid://c7eu1n5yey1x4" path="res://core/hardware/hardware_action.gd" id="1_dasqc"]
[ext_resource type="Script" uid="uid://60whm57itpjb" path="res://core/hardware/hardware_config.gd" id="2_ye2fg"]
[sub_resource type="Resource" id="Resource_ogdj5"]
script = ExtResource("1_dasqc")
action_id = &"coin_release"
display_name = "Coin Release"
gpio_pin = 27
pulse_duration_ms = 400
metadata/_custom_type_script = "uid://c7eu1n5yey1x4"
[sub_resource type="Resource" id="Resource_dasqc"]
script = ExtResource("1_dasqc")
action_id = &"start_light"
display_name = "Start Light"
gpio_pin = 20
metadata/_custom_type_script = "uid://c7eu1n5yey1x4"
[sub_resource type="Resource" id="Resource_t81ly"]
script = ExtResource("1_dasqc")
action_id = &"glitch_code"
display_name = "Glitch Code"
gpio_pin = 21
pulse_duration_ms = 1200
metadata/_custom_type_script = "uid://c7eu1n5yey1x4"
[resource]
script = ExtResource("2_ye2fg")
controller_id = &"cabinet_02_gpio"
actions = Array[ExtResource("1_dasqc")]([SubResource("Resource_ogdj5"), SubResource("Resource_dasqc"), SubResource("Resource_t81ly")])
metadata/_custom_type_script = "uid://60whm57itpjb"
+15
View File
@@ -0,0 +1,15 @@
[gd_resource type="Resource" script_class="CabinetProfile" format=3 uid="uid://d4ns05ptr4ybw"]
[ext_resource type="Script" uid="uid://c0jj5j5loqsma" path="res://core/hardware/cabinet_profile.gd" id="1_0s4iw"]
[ext_resource type="Resource" uid="uid://4t6n8gvu717o" path="res://data/cabinets/cabinet_03_hardware.tres" id="1_ojmvu"]
[resource]
script = ExtResource("1_0s4iw")
cabinet_id = &"cabinet_03"
display_name = "Cabinet 03"
capabilities = Array[StringName]([&"spinner", &"button_1", &"start_button"])
hardware_config = ExtResource("1_ojmvu")
footprint_width_m = 1.0
footprint_depth_m = 1.0
height_m = 2.0
metadata/_custom_type_script = "uid://c0jj5j5loqsma"
+18
View File
@@ -0,0 +1,18 @@
[gd_resource type="Resource" script_class="HardwareConfig" format=3 uid="uid://4t6n8gvu717o"]
[ext_resource type="Script" uid="uid://c7eu1n5yey1x4" path="res://core/hardware/hardware_action.gd" id="1_2vvyl"]
[ext_resource type="Script" uid="uid://60whm57itpjb" path="res://core/hardware/hardware_config.gd" id="2_hx0bc"]
[sub_resource type="Resource" id="Resource_ogdj5"]
script = ExtResource("1_2vvyl")
action_id = &"coin_release"
display_name = "Coin Release"
gpio_pin = 27
pulse_duration_ms = 400
metadata/_custom_type_script = "uid://c7eu1n5yey1x4"
[resource]
script = ExtResource("2_hx0bc")
controller_id = &"cabinet_02_gpio"
actions = Array[ExtResource("1_2vvyl")]([SubResource("Resource_ogdj5")])
metadata/_custom_type_script = "uid://60whm57itpjb"
+7
View File
@@ -0,0 +1,7 @@
[gd_resource type="Resource" script_class="RoomDeviceDefinition" format=3 uid="uid://b5f2nynxh0ul2"]
[ext_resource type="Script" uid="uid://ejum18yr7xeo" path="res://core/simulation/room_device_definition.gd" id="1_mqpli"]
[resource]
script = ExtResource("1_mqpli")
metadata/_custom_type_script = "uid://ejum18yr7xeo"
+3
View File
@@ -0,0 +1,3 @@
[gd_resource type="ButtonGroup" format=3 uid="uid://cly57dx12c8dg"]
[resource]
+9
View File
@@ -0,0 +1,9 @@
[gd_resource type="Resource" script_class="GameEventDefinition" format=3 uid="uid://bfr1jcppwfl3y"]
[ext_resource type="Script" uid="uid://byegr76ey4613" path="res://core/games/game_event_definition.gd" id="1_c8820"]
[resource]
script = ExtResource("1_c8820")
event_id = &"game_lost"
display_name = "Game Lost"
metadata/_custom_type_script = "uid://byegr76ey4613"
+9
View File
@@ -0,0 +1,9 @@
[gd_resource type="Resource" script_class="GameEventDefinition" format=3 uid="uid://c16gsr3mhf8kt"]
[ext_resource type="Script" uid="uid://byegr76ey4613" path="res://core/games/game_event_definition.gd" id="1_ud73p"]
[resource]
script = ExtResource("1_ud73p")
event_id = &"game_reset"
display_name = "Game Reset"
metadata/_custom_type_script = "uid://byegr76ey4613"
+9
View File
@@ -0,0 +1,9 @@
[gd_resource type="Resource" script_class="GameEventDefinition" format=3 uid="uid://dnpg3vgcuutmb"]
[ext_resource type="Script" uid="uid://byegr76ey4613" path="res://core/games/game_event_definition.gd" id="1_yxh1o"]
[resource]
script = ExtResource("1_yxh1o")
event_id = &"game_started"
display_name = "Game Started"
metadata/_custom_type_script = "uid://byegr76ey4613"
+9
View File
@@ -0,0 +1,9 @@
[gd_resource type="Resource" script_class="GameEventDefinition" format=3 uid="uid://djimuypcf66vn"]
[ext_resource type="Script" uid="uid://byegr76ey4613" path="res://core/games/game_event_definition.gd" id="1_jg0s2"]
[resource]
script = ExtResource("1_jg0s2")
event_id = &"game_won"
display_name = "Game Won"
metadata/_custom_type_script = "uid://byegr76ey4613"
+19
View File
@@ -0,0 +1,19 @@
[gd_resource type="Resource" script_class="GameDefinition" format=3]
[ext_resource type="PackedScene" path="res://games/frogger/Frogger.tscn" id="1_bn3jg"]
[ext_resource type="Script" path="res://core/games/game_event_definition.gd" id="1_kd6b3"]
[ext_resource type="Script" path="res://core/games/game_definition.gd" id="1_mpx30"]
[ext_resource type="Resource" path="res://data/game_events/game_started.tres" id="2_q2a4n"]
[ext_resource type="Resource" path="res://data/game_events/game_won.tres" id="3_otabs"]
[ext_resource type="Resource" path="res://data/game_events/game_lost.tres" id="4_x4djy"]
[ext_resource type="Resource" path="res://data/game_events/game_reset.tres" id="5_madm2"]
[resource]
script = ExtResource("1_mpx30")
game_id = &"frogger"
display_name = "Frogger"
scene = ExtResource("1_bn3jg")
required_capabilities = Array[StringName]([&"joystick_4way", &"start_button"])
events = Array[ExtResource("1_kd6b3")]([ExtResource("2_q2a4n"), ExtResource("3_otabs"), ExtResource("4_x4djy"), ExtResource("5_madm2")])
+24
View File
@@ -0,0 +1,24 @@
[gd_resource type="Resource" script_class="GameDefinition" format=3 uid="uid://cnfhiky5834pw"]
[ext_resource type="Script" uid="uid://o538v0kdvs0j" path="res://core/games/game_definition.gd" id="1_0vgic"]
[ext_resource type="Script" uid="uid://byegr76ey4613" path="res://core/games/game_event_definition.gd" id="1_aoerb"]
[ext_resource type="PackedScene" uid="uid://byorfa7yxhhrv" path="res://games/galaga/Galaga.tscn" id="1_wh674"]
[ext_resource type="Resource" uid="uid://dnpg3vgcuutmb" path="res://data/game_events/game_started.tres" id="2_ujnca"]
[ext_resource type="Resource" uid="uid://djimuypcf66vn" path="res://data/game_events/game_won.tres" id="3_0fx7n"]
[ext_resource type="Resource" uid="uid://bfr1jcppwfl3y" path="res://data/game_events/game_lost.tres" id="4_m6ahh"]
[ext_resource type="Resource" uid="uid://c16gsr3mhf8kt" path="res://data/game_events/game_reset.tres" id="5_5dr5h"]
[sub_resource type="Resource" id="Resource_fsaru"]
script = ExtResource("1_aoerb")
event_id = &"game_activated"
display_name = "Game Activated"
metadata/_custom_type_script = "uid://byegr76ey4613"
[resource]
script = ExtResource("1_0vgic")
game_id = &"galaga"
display_name = "Galaga"
scene = ExtResource("1_wh674")
required_capabilities = Array[StringName]([&"joystick_horizontal", &"button_1", &"start_button"])
events = Array[ExtResource("1_aoerb")]([ExtResource("2_ujnca"), ExtResource("3_0fx7n"), ExtResource("4_m6ahh"), ExtResource("5_5dr5h"), SubResource("Resource_fsaru")])
metadata/_custom_type_script = "uid://o538v0kdvs0j"
+16
View File
@@ -0,0 +1,16 @@
[gd_resource type="Resource" script_class="GameDefinition" load_steps=8 format=3]
[ext_resource type="Script" path="res://core/games/game_definition.gd" id="1"]
[ext_resource type="Script" path="res://core/games/game_event_definition.gd" id="2"]
[ext_resource type="PackedScene" path="res://games/missile_command/MissileCommand.tscn" id="3"]
[ext_resource type="Resource" path="res://data/game_events/game_started.tres" id="4"]
[ext_resource type="Resource" path="res://data/game_events/game_won.tres" id="5"]
[ext_resource type="Resource" path="res://data/game_events/game_lost.tres" id="6"]
[ext_resource type="Resource" path="res://data/game_events/game_reset.tres" id="7"]
[resource]
script = ExtResource("1")
game_id = &"missile_command"
display_name = "Missile Command"
scene = ExtResource("3")
required_capabilities = Array[StringName]([&"trackball", &"button_1", &"button_2", &"button_3", &"start_button"])
events = Array[ExtResource("2")]([ExtResource("4"), ExtResource("5"), ExtResource("6"), ExtResource("7")])
+18
View File
@@ -0,0 +1,18 @@
[gd_resource type="Resource" script_class="GameDefinition" format=3 uid="uid://c3v8o4nubjakg"]
[ext_resource type="PackedScene" uid="uid://y0xg0i8yacqd" path="res://games/pacman/Pacman.tscn" id="1_bn3jg"]
[ext_resource type="Script" uid="uid://byegr76ey4613" path="res://core/games/game_event_definition.gd" id="1_kd6b3"]
[ext_resource type="Script" uid="uid://o538v0kdvs0j" path="res://core/games/game_definition.gd" id="1_mpx30"]
[ext_resource type="Resource" uid="uid://dnpg3vgcuutmb" path="res://data/game_events/game_started.tres" id="2_q2a4n"]
[ext_resource type="Resource" uid="uid://djimuypcf66vn" path="res://data/game_events/game_won.tres" id="3_otabs"]
[ext_resource type="Resource" uid="uid://bfr1jcppwfl3y" path="res://data/game_events/game_lost.tres" id="4_x4djy"]
[ext_resource type="Resource" uid="uid://c16gsr3mhf8kt" path="res://data/game_events/game_reset.tres" id="5_madm2"]
[resource]
script = ExtResource("1_mpx30")
game_id = &"pacman"
display_name = "Pac-Man"
scene = ExtResource("1_bn3jg")
required_capabilities = Array[StringName]([&"joystick_4way", &"start_button"])
events = Array[ExtResource("1_kd6b3")]([ExtResource("2_q2a4n"), ExtResource("3_otabs"), ExtResource("4_x4djy"), ExtResource("5_madm2")])
metadata/_custom_type_script = "uid://o538v0kdvs0j"
+18
View File
@@ -0,0 +1,18 @@
[gd_resource type="Resource" script_class="GameDefinition" format=3 uid="uid://bn8vgu5vrevgx"]
[ext_resource type="Script" uid="uid://o538v0kdvs0j" path="res://core/games/game_definition.gd" id="1"]
[ext_resource type="Script" uid="uid://byegr76ey4613" path="res://core/games/game_event_definition.gd" id="2"]
[ext_resource type="PackedScene" uid="uid://bbe38558vhtp1" path="res://games/robotron/Robotron.tscn" id="3"]
[ext_resource type="Resource" uid="uid://dnpg3vgcuutmb" path="res://data/game_events/game_started.tres" id="4"]
[ext_resource type="Resource" uid="uid://djimuypcf66vn" path="res://data/game_events/game_won.tres" id="5"]
[ext_resource type="Resource" uid="uid://bfr1jcppwfl3y" path="res://data/game_events/game_lost.tres" id="6"]
[ext_resource type="Resource" uid="uid://c16gsr3mhf8kt" path="res://data/game_events/game_reset.tres" id="7"]
[resource]
script = ExtResource("1")
game_id = &"robotron"
display_name = "Robotron 2084"
scene = ExtResource("3")
required_capabilities = Array[StringName]([&"start_button"])
control_alternatives = Array[PackedStringArray]([PackedStringArray("dual_joystick_8way"), PackedStringArray("joystick_8way", "button_1", "button_2", "button_3", "button_4")])
events = Array[ExtResource("2")]([ExtResource("4"), ExtResource("5"), ExtResource("6"), ExtResource("7")])
+17
View File
@@ -0,0 +1,17 @@
[gd_resource type="Resource" script_class="GameDefinition" format=3 uid="uid://yiejlr5h143m"]
[ext_resource type="Script" uid="uid://o538v0kdvs0j" path="res://core/games/game_definition.gd" id="1"]
[ext_resource type="Script" uid="uid://byegr76ey4613" path="res://core/games/game_event_definition.gd" id="2"]
[ext_resource type="PackedScene" uid="uid://75kpoxbn0gv7" path="res://games/space_invaders/SpaceInvaders.tscn" id="3"]
[ext_resource type="Resource" uid="uid://dnpg3vgcuutmb" path="res://data/game_events/game_started.tres" id="4"]
[ext_resource type="Resource" uid="uid://djimuypcf66vn" path="res://data/game_events/game_won.tres" id="5"]
[ext_resource type="Resource" uid="uid://bfr1jcppwfl3y" path="res://data/game_events/game_lost.tres" id="6"]
[ext_resource type="Resource" uid="uid://c16gsr3mhf8kt" path="res://data/game_events/game_reset.tres" id="7"]
[resource]
script = ExtResource("1")
game_id = &"space_invaders"
display_name = "Space Invaders"
scene = ExtResource("3")
required_capabilities = Array[StringName]([&"joystick_horizontal", &"button_1", &"start_button"])
events = Array[ExtResource("2")]([ExtResource("4"), ExtResource("5"), ExtResource("6"), ExtResource("7")])
+16
View File
@@ -0,0 +1,16 @@
[gd_resource type="Resource" script_class="GameDefinition" load_steps=8 format=3]
[ext_resource type="Script" path="res://core/games/game_definition.gd" id="1"]
[ext_resource type="Script" path="res://core/games/game_event_definition.gd" id="2"]
[ext_resource type="PackedScene" path="res://games/tempest/Tempest.tscn" id="3"]
[ext_resource type="Resource" path="res://data/game_events/game_started.tres" id="4"]
[ext_resource type="Resource" path="res://data/game_events/game_won.tres" id="5"]
[ext_resource type="Resource" path="res://data/game_events/game_lost.tres" id="6"]
[ext_resource type="Resource" path="res://data/game_events/game_reset.tres" id="7"]
[resource]
script = ExtResource("1")
game_id = &"tempest"
display_name = "Tempest"
scene = ExtResource("3")
required_capabilities = Array[StringName]([&"button_1", &"button_2", &"start_button"])
control_alternatives = Array[PackedStringArray]([PackedStringArray("joystick_horizontal"), PackedStringArray("spinner"), PackedStringArray("trackball")])
events = Array[ExtResource("2")]([ExtResource("4"), ExtResource("5"), ExtResource("6"), ExtResource("7")])
+26
View File
@@ -0,0 +1,26 @@
[gd_resource type="Resource" script_class="ProjectDatabase" format=3 uid="uid://8qqlypjp3hd4"]
[ext_resource type="Script" uid="uid://c0jj5j5loqsma" path="res://core/hardware/cabinet_profile.gd" id="1_uu70x"]
[ext_resource type="Script" uid="uid://o538v0kdvs0j" path="res://core/games/game_definition.gd" id="2_an0il"]
[ext_resource type="Resource" uid="uid://cl4j1vtv388pt" path="res://data/cabinets/cabinet_01.tres" id="2_t6ujr"]
[ext_resource type="Resource" uid="uid://d1gyyfaaclas8" path="res://data/cabinets/cabinet_02.tres" id="3_bfrqh"]
[ext_resource type="Script" uid="uid://d3pt6qa05kcnl" path="res://core/scenarios/scenario_definition.gd" id="3_uw7gr"]
[ext_resource type="Script" uid="uid://diqnrxrhwx2ug" path="res://core/runtime/project_database.gd" id="4_algy0"]
[ext_resource type="Resource" uid="uid://c3v8o4nubjakg" path="res://data/games/pacman.tres" id="4_bfrqh"]
[ext_resource type="Resource" uid="uid://d4ns05ptr4ybw" path="res://data/cabinets/cabinet_03.tres" id="4_gbm0a"]
[ext_resource type="Resource" uid="uid://cnfhiky5834pw" path="res://data/games/galaga.tres" id="5_b427t"]
[ext_resource type="Resource" uid="uid://cqn58n5ahydil" path="res://data/scenarios/proof_of_concept.tres" id="7_gbm0a"]
[ext_resource type="Resource" path="res://data/games/tempest.tres" id="8_0ke0w"]
[ext_resource type="Resource" uid="uid://tp7cvbnbhcrj" path="res://data/scenarios/galaga_proof_of_concept.tres" id="8_ib4xl"]
[ext_resource type="Resource" path="res://data/games/missile_command.tres" id="9_0ke0w"]
[ext_resource type="Resource" path="res://data/games/frogger.tres" id="10_8pm0t"]
[ext_resource type="Resource" uid="uid://c07wbog147dml" path="res://data/scenarios/two_cabinet_test.tres" id="10_b427t"]
[ext_resource type="Resource" uid="uid://yiejlr5h143m" path="res://data/games/space_invaders.tres" id="11_space_invaders"]
[ext_resource type="Resource" path="res://data/games/robotron.tres" id="12_robotron"]
[resource]
script = ExtResource("4_algy0")
scenarios = Array[ExtResource("3_uw7gr")]([ExtResource("7_gbm0a"), ExtResource("8_ib4xl"), ExtResource("10_b427t")])
cabinets = Array[ExtResource("1_uu70x")]([ExtResource("2_t6ujr"), ExtResource("3_bfrqh"), ExtResource("4_gbm0a")])
games = Array[ExtResource("2_an0il")]([ExtResource("4_bfrqh"), ExtResource("5_b427t"), ExtResource("8_0ke0w"), ExtResource("9_0ke0w"), ExtResource("10_8pm0t"), ExtResource("11_space_invaders"), ExtResource("12_robotron")])
metadata/_custom_type_script = "uid://diqnrxrhwx2ug"
+165
View File
@@ -0,0 +1,165 @@
[gd_resource type="Resource" script_class="RoomDefinition" format=3 uid="uid://dh5basntm1etd"]
[ext_resource type="Script" uid="uid://r2rpbasss511" path="res://core/simulation/room_device_binding.gd" id="1_icsgi"]
[ext_resource type="Script" uid="uid://cwblyetugbr4d" path="res://core/simulation/cabinet_placement.gd" id="2_384hm"]
[ext_resource type="Script" uid="uid://ejum18yr7xeo" path="res://core/simulation/room_device_definition.gd" id="2_hg7bw"]
[ext_resource type="Script" uid="uid://dgm2dkw5rar8i" path="res://core/simulation/room_definition.gd" id="3_384hm"]
[ext_resource type="Texture2D" uid="uid://b7i278fi27mbh" path="res://art/devices/tex_coin_release.png" id="4_12s2r"]
[ext_resource type="Script" uid="uid://cp40t70asl4p0" path="res://core/rooms/room_logic_rule.gd" id="4_t81ly"]
[ext_resource type="Script" uid="uid://dl7ydh8g6877n" path="res://core/rooms/room_wall_definition.gd" id="5_384hm"]
[ext_resource type="Texture2D" uid="uid://b7piqhhrvttw8" path="res://art/devices/tex_light.png" id="5_vv75m"]
[sub_resource type="Resource" id="Resource_icsgi"]
script = ExtResource("1_icsgi")
cabinet_id = &"cabinet_01"
hardware_action_id = &"coin_release"
device_id = &"coin_release_a"
route_points = PackedVector2Array()
metadata/_custom_type_script = "uid://r2rpbasss511"
[sub_resource type="Resource" id="Resource_hg7bw"]
script = ExtResource("1_icsgi")
cabinet_id = &"cabinet_02"
hardware_action_id = &"coin_release"
device_id = &"coin_release_b"
route_points = PackedVector2Array()
metadata/_custom_type_script = "uid://r2rpbasss511"
[sub_resource type="Resource" id="Resource_384hm"]
script = ExtResource("1_icsgi")
cabinet_id = &"cabinet_01"
hardware_action_id = &"start_light"
device_id = &"light_a"
route_points = PackedVector2Array()
metadata/_custom_type_script = "uid://r2rpbasss511"
[sub_resource type="Resource" id="Resource_t81ly"]
script = ExtResource("1_icsgi")
cabinet_id = &"cabinet_02"
hardware_action_id = &"start_light"
device_id = &"light_b"
route_points = PackedVector2Array()
metadata/_custom_type_script = "uid://r2rpbasss511"
[sub_resource type="Resource" id="Resource_clsof"]
script = ExtResource("1_icsgi")
cabinet_id = &"cabinet_02"
hardware_action_id = &"glitch_code"
device_id = &"glitch_code"
route_points = PackedVector2Array(-3.5252714, -0.4624894, -2.2890172, -0.45565927, -2.2890172, 1.6343619)
metadata/_custom_type_script = "uid://r2rpbasss511"
[sub_resource type="Resource" id="Resource_prnev"]
script = ExtResource("2_384hm")
cabinet_id = &"cabinet_01"
position = Vector2(-5.9484997, 0.14750004)
metadata/_custom_type_script = "uid://cwblyetugbr4d"
[sub_resource type="Resource" id="Resource_dicmx"]
script = ExtResource("2_384hm")
cabinet_id = &"cabinet_02"
position = Vector2(-3.5153918, 0.14274521)
metadata/_custom_type_script = "uid://cwblyetugbr4d"
[sub_resource type="Resource" id="Resource_vv75m"]
script = ExtResource("2_hg7bw")
device_id = &"coin_release_a"
display_name = "Coin Release A"
device_type = 1
position = Vector2(-6.015, 0.555)
physical_size_m = Vector2(0.2, 0.2)
physical_size_ft = Vector2(0.656168, 0.656168)
editor_texture = ExtResource("4_12s2r")
metadata/_custom_type_script = "uid://ejum18yr7xeo"
[sub_resource type="Resource" id="Resource_12s2r"]
script = ExtResource("2_hg7bw")
device_id = &"coin_release_b"
display_name = "Coin Release B"
device_type = 1
position = Vector2(-3.5799642, 0.5683867)
physical_size_m = Vector2(0.2, 0.2)
physical_size_ft = Vector2(0.656168, 0.656168)
editor_texture = ExtResource("4_12s2r")
metadata/_custom_type_script = "uid://ejum18yr7xeo"
[sub_resource type="Resource" id="Resource_2f6ns"]
script = ExtResource("2_hg7bw")
device_id = &"light_a"
display_name = "Light A"
position = Vector2(-6.47, 0.56)
physical_size_m = Vector2(0.1, 0.1)
physical_size_ft = Vector2(0.328084, 0.328084)
editor_texture = ExtResource("5_vv75m")
metadata/_custom_type_script = "uid://ejum18yr7xeo"
[sub_resource type="Resource" id="Resource_ks63c"]
script = ExtResource("2_hg7bw")
device_id = &"light_b"
display_name = "Light B"
position = Vector2(-4.032238, 0.57653165)
physical_size_m = Vector2(0.1, 0.1)
physical_size_ft = Vector2(0.328084, 0.328084)
editor_texture = ExtResource("5_vv75m")
metadata/_custom_type_script = "uid://ejum18yr7xeo"
[sub_resource type="Resource" id="Resource_kddy2"]
script = ExtResource("2_hg7bw")
device_id = &"glitch_code"
display_name = "Glitch Code"
position = Vector2(-2.755003, 1.5123456)
physical_size_ft = Vector2(0.82021, 0.82021)
metadata/_custom_type_script = "uid://ejum18yr7xeo"
[sub_resource type="Resource" id="Resource_mi6lf"]
script = ExtResource("4_t81ly")
rule_id = &"coin_release_to_cabinet_02"
source_id = &"coin_release_a"
event_id = &"activated"
target_id = &"cabinet_02"
action_id = &"glitch_code"
metadata/_custom_type_script = "uid://cp40t70asl4p0"
[sub_resource type="Resource" id="Resource_s1l3b"]
script = ExtResource("5_384hm")
wall_id = &"wall_001"
start = Vector2(-7.0104, -0.3048)
end = Vector2(-2.4384, -0.3048)
thickness = 0.030480000000000004
thickness_ft = 0.1
[sub_resource type="Resource" id="Resource_74jgn"]
script = ExtResource("5_384hm")
wall_id = &"wall_002"
start = Vector2(-2.4384, -0.3048)
end = Vector2(-2.4384, 7.3152)
thickness = 0.030480000000000004
thickness_ft = 0.1
[sub_resource type="Resource" id="Resource_enjae"]
script = ExtResource("5_384hm")
wall_id = &"wall_003"
start = Vector2(-2.4384, 7.3152)
end = Vector2(-7.0104, 7.3152)
thickness = 0.030480000000000004
thickness_ft = 0.1
[sub_resource type="Resource" id="Resource_rvtk7"]
script = ExtResource("5_384hm")
wall_id = &"wall_004"
start = Vector2(-7.0104, 7.3152)
end = Vector2(-7.0104, -0.3048)
thickness = 0.030480000000000004
thickness_ft = 0.1
[resource]
script = ExtResource("3_384hm")
room_id = &"arcade_room"
display_name = "Arcade Escape Room"
cabinet_placements = Array[ExtResource("2_384hm")]([SubResource("Resource_prnev"), SubResource("Resource_dicmx")])
devices = Array[ExtResource("2_hg7bw")]([SubResource("Resource_vv75m"), SubResource("Resource_12s2r"), SubResource("Resource_2f6ns"), SubResource("Resource_ks63c"), SubResource("Resource_kddy2")])
bindings = Array[ExtResource("1_icsgi")]([SubResource("Resource_icsgi"), SubResource("Resource_hg7bw"), SubResource("Resource_384hm"), SubResource("Resource_t81ly"), SubResource("Resource_clsof")])
boundary_points = PackedVector2Array(-7.3152, -0.6096, -2.1336, -0.6096, -2.1336, 7.62, -7.3152, 7.62)
walls = Array[ExtResource("5_384hm")]([SubResource("Resource_s1l3b"), SubResource("Resource_74jgn"), SubResource("Resource_enjae"), SubResource("Resource_rvtk7")])
logic_rules = Array[ExtResource("4_t81ly")]([SubResource("Resource_mi6lf")])
metadata/_custom_type_script = "uid://dgm2dkw5rar8i"
@@ -0,0 +1,27 @@
[gd_resource type="Resource" script_class="ScenarioDefinition" format=3 uid="uid://tp7cvbnbhcrj"]
[ext_resource type="Script" uid="uid://ibujr0ervhhq" path="res://core/scenarios/scenario_assignment.gd" id="1_bmvl4"]
[ext_resource type="Resource" uid="uid://cl4j1vtv388pt" path="res://data/cabinets/cabinet_01.tres" id="2_6ve38"]
[ext_resource type="Script" uid="uid://lixrugm1v2d2" path="res://core/scenarios/scenario_event_mapping.gd" id="3_5fya7"]
[ext_resource type="Resource" uid="uid://cnfhiky5834pw" path="res://data/games/galaga.tres" id="4_bmvl4"]
[ext_resource type="Script" uid="uid://d3pt6qa05kcnl" path="res://core/scenarios/scenario_definition.gd" id="5_kf1wo"]
[sub_resource type="Resource" id="Resource_35sju"]
script = ExtResource("3_5fya7")
game_event = &"game_won"
hardware_actions = Array[StringName]([&"coin_release"])
metadata/_custom_type_script = "uid://lixrugm1v2d2"
[sub_resource type="Resource" id="Resource_hcvte"]
script = ExtResource("1_bmvl4")
cabinet = ExtResource("2_6ve38")
game = ExtResource("4_bmvl4")
event_mappings = Array[ExtResource("3_5fya7")]([SubResource("Resource_35sju")])
metadata/_custom_type_script = "uid://ibujr0ervhhq"
[resource]
script = ExtResource("5_kf1wo")
scenario_id = &"galaga_proof_of_concept"
display_name = "Galaga Proof of Concept"
assignments = Array[ExtResource("1_bmvl4")]([SubResource("Resource_hcvte")])
metadata/_custom_type_script = "uid://d3pt6qa05kcnl"
+27
View File
@@ -0,0 +1,27 @@
[gd_resource type="Resource" script_class="ScenarioDefinition" format=3 uid="uid://cqn58n5ahydil"]
[ext_resource type="Script" uid="uid://ibujr0ervhhq" path="res://core/scenarios/scenario_assignment.gd" id="1_kwm4o"]
[ext_resource type="Resource" uid="uid://cl4j1vtv388pt" path="res://data/cabinets/cabinet_01.tres" id="2_35sju"]
[ext_resource type="Script" uid="uid://d3pt6qa05kcnl" path="res://core/scenarios/scenario_definition.gd" id="2_adekr"]
[ext_resource type="Script" uid="uid://lixrugm1v2d2" path="res://core/scenarios/scenario_event_mapping.gd" id="3_s2uc4"]
[ext_resource type="Resource" uid="uid://c3v8o4nubjakg" path="res://data/games/pacman.tres" id="4_ikhug"]
[sub_resource type="Resource" id="Resource_35sju"]
script = ExtResource("3_s2uc4")
game_event = &"game_won"
hardware_actions = Array[StringName]([&"coin_release"])
metadata/_custom_type_script = "uid://lixrugm1v2d2"
[sub_resource type="Resource" id="Resource_hcvte"]
script = ExtResource("1_kwm4o")
cabinet = ExtResource("2_35sju")
game = ExtResource("4_ikhug")
event_mappings = Array[ExtResource("3_s2uc4")]([SubResource("Resource_35sju")])
metadata/_custom_type_script = "uid://ibujr0ervhhq"
[resource]
script = ExtResource("2_adekr")
scenario_id = &"proof_of_concept"
display_name = "Proof of Concept"
assignments = Array[ExtResource("1_kwm4o")]([SubResource("Resource_hcvte")])
metadata/_custom_type_script = "uid://d3pt6qa05kcnl"
+56
View File
@@ -0,0 +1,56 @@
[gd_resource type="Resource" script_class="ScenarioDefinition" format=3 uid="uid://c07wbog147dml"]
[ext_resource type="Script" uid="uid://ibujr0ervhhq" path="res://core/scenarios/scenario_assignment.gd" id="1_5cmdd"]
[ext_resource type="Resource" uid="uid://cl4j1vtv388pt" path="res://data/cabinets/cabinet_01.tres" id="2_cr7dd"]
[ext_resource type="Script" uid="uid://d3pt6qa05kcnl" path="res://core/scenarios/scenario_definition.gd" id="2_dpskr"]
[ext_resource type="Script" uid="uid://lixrugm1v2d2" path="res://core/scenarios/scenario_event_mapping.gd" id="3_30g8e"]
[ext_resource type="Resource" uid="uid://c3v8o4nubjakg" path="res://data/games/pacman.tres" id="4_2f6ns"]
[ext_resource type="Resource" uid="uid://d1gyyfaaclas8" path="res://data/cabinets/cabinet_02.tres" id="5_2f6ns"]
[ext_resource type="Resource" uid="uid://cnfhiky5834pw" path="res://data/games/galaga.tres" id="6_ks63c"]
[sub_resource type="Resource" id="Resource_2f6ns"]
script = ExtResource("3_30g8e")
game_event = &"game_won"
hardware_actions = Array[StringName]([&"coin_release"])
[sub_resource type="Resource" id="Resource_mqta7"]
script = ExtResource("3_30g8e")
game_event = &"game_started"
hardware_actions = Array[StringName]([&"start_light"])
[sub_resource type="Resource" id="Resource_6bgvn"]
script = ExtResource("1_5cmdd")
cabinet = ExtResource("2_cr7dd")
game = ExtResource("4_2f6ns")
event_mappings = Array[ExtResource("3_30g8e")]([SubResource("Resource_2f6ns"), SubResource("Resource_mqta7")])
metadata/_custom_type_script = "uid://ibujr0ervhhq"
[sub_resource type="Resource" id="Resource_e4xp4"]
script = ExtResource("3_30g8e")
game_event = &"game_won"
hardware_actions = Array[StringName]([&"coin_release"])
[sub_resource type="Resource" id="Resource_meq6s"]
script = ExtResource("3_30g8e")
game_event = &"game_started"
hardware_actions = Array[StringName]([&"start_light"])
[sub_resource type="Resource" id="Resource_5kcm4"]
script = ExtResource("3_30g8e")
game_event = &"game_activated"
hardware_actions = Array[StringName]([&"glitch_code"])
metadata/_custom_type_script = "uid://lixrugm1v2d2"
[sub_resource type="Resource" id="Resource_ks63c"]
script = ExtResource("1_5cmdd")
cabinet = ExtResource("5_2f6ns")
game = ExtResource("6_ks63c")
event_mappings = Array[ExtResource("3_30g8e")]([SubResource("Resource_e4xp4"), SubResource("Resource_meq6s"), SubResource("Resource_5kcm4")])
metadata/_custom_type_script = "uid://ibujr0ervhhq"
[resource]
script = ExtResource("2_dpskr")
scenario_id = &"two_cabinet_test"
display_name = "Two Cabinet Test"
assignments = Array[ExtResource("1_5cmdd")]([SubResource("Resource_6bgvn"), SubResource("Resource_ks63c")])
metadata/_custom_type_script = "uid://d3pt6qa05kcnl"
@@ -0,0 +1,28 @@
[gd_resource type="Resource" script_class="TestSequence" format=3 uid="uid://dwp3puv7hedyc"]
[ext_resource type="Script" uid="uid://clbm4alwyibrd" path="res://core/simulation/test_sequence.gd" id="1_gosw1"]
[ext_resource type="Script" uid="uid://c5022gsswr487" path="res://core/simulation/test_sequence_stop.gd" id="2_3566u"]
[sub_resource type="Resource" id="Resource_wi8aj"]
script = ExtResource("2_3566u")
source_id = &"cabinet_01"
event_id = &"game_started"
note = "Start Cabinet 1"
metadata/_custom_type_script = "uid://c5022gsswr487"
[sub_resource type="Resource" id="Resource_rn5ip"]
script = ExtResource("2_3566u")
time_offset_seconds = 2.0
source_id = &"cabinet_01"
event_id = &"game_won"
note = "Win cabinet 1"
metadata/_custom_type_script = "uid://c5022gsswr487"
[resource]
script = ExtResource("1_gosw1")
sequence_id = &"two_cabinet_rehearsal"
display_name = "Two Cabinet Rehearsal"
scenario_id = &"two_cabinet_test"
description = "Starts Cabinet 1, then wins Cabinet 1 and verifies the downstream Cabinet 2 chain."
steps = Array[ExtResource("2_3566u")]([SubResource("Resource_wi8aj"), SubResource("Resource_rn5ip")])
metadata/_custom_type_script = "uid://clbm4alwyibrd"