From c8fadc3b965f36cc9915398e95bb81f003d0472d Mon Sep 17 00:00:00 2001 From: Spencer Brown Date: Sun, 15 Feb 2026 14:43:49 +1000 Subject: [PATCH 1/2] feat: Customisable floor buttons --- fgd/bases/BasePortButton.fgd | 3 +++ fgd/point/prop/prop_floor_button.fgd | 1 + fgd/point/prop/prop_under_floor_button.fgd | 1 + 3 files changed, 5 insertions(+) diff --git a/fgd/bases/BasePortButton.fgd b/fgd/bases/BasePortButton.fgd index 0ddf49f9a..355f680bf 100644 --- a/fgd/bases/BasePortButton.fgd +++ b/fgd/bases/BasePortButton.fgd @@ -7,6 +7,7 @@ 0 : "Solid" 1 : "Non-Solid" ] + filtername(filterclass) : "Filter Name" : : "A filter entity that restricts which things can press the button, beyond the builtin filter." // Inputs input PressIn(void) : "Activate the button as if it was pressed, sending it to the bottom position." @@ -15,4 +16,6 @@ // Outputs output OnPressed(void) : "Called when the button has been pressed." output OnUnPressed(void) : "Called when the button has been released." + output OnPressedPlayer[engine](void) : "Called when the button is pressed by a player - useless on cube/sphere buttons." + output OnPressedCube(void) : "Called when the button is pressed by a cube (specifically a non-player)." ] diff --git a/fgd/point/prop/prop_floor_button.fgd b/fgd/point/prop/prop_floor_button.fgd index d752d1407..4e8461285 100644 --- a/fgd/point/prop/prop_floor_button.fgd +++ b/fgd/point/prop/prop_floor_button.fgd @@ -12,6 +12,7 @@ ] // Outputs + output OnPressedPlayer(void) : "Called when the button has been pressed by any player." output OnPressedBlue(void) : "Called in Coop when the button has been pressed by ATLAS." output OnPressedOrange(void) : "Called in Coop when the button has been pressed by P-Body." ] diff --git a/fgd/point/prop/prop_under_floor_button.fgd b/fgd/point/prop/prop_under_floor_button.fgd index e58e88814..ed8ea3286 100644 --- a/fgd/point/prop/prop_under_floor_button.fgd +++ b/fgd/point/prop/prop_under_floor_button.fgd @@ -8,6 +8,7 @@ model(studio) : "Button model" : "models/props_underground/underground_floor_button.mdl" : "The model to be used in game" // Outputs + output OnPressedPlayer(void) : "Called when the button has been pressed by any player." output OnPressedBlue(void) : "Called in Coop when the button has been pressed by ATLAS." output OnPressedOrange(void) : "Called in Coop when the button has been pressed by P-Body." ] From 0c7428ea71fde0b08039bd7615b0b868ff85f107 Mon Sep 17 00:00:00 2001 From: Spencer Brown Date: Tue, 17 Feb 2026 08:56:34 +1000 Subject: [PATCH 2/2] Change this behaviour --- fgd/bases/BasePortButton.fgd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fgd/bases/BasePortButton.fgd b/fgd/bases/BasePortButton.fgd index 355f680bf..226bc85ea 100644 --- a/fgd/bases/BasePortButton.fgd +++ b/fgd/bases/BasePortButton.fgd @@ -7,7 +7,7 @@ 0 : "Solid" 1 : "Non-Solid" ] - filtername(filterclass) : "Filter Name" : : "A filter entity that restricts which things can press the button, beyond the builtin filter." + filtername(filterclass) : "Filter Name" : : "A filter entity that restricts which things can press the button. If set, the builtin filtering is disabled." // Inputs input PressIn(void) : "Activate the button as if it was pressed, sending it to the bottom position."