game icon indicating copy to clipboard operation
game copied to clipboard

Weirdness within alias handling of +attack

Open Arkanoid0 opened this issue 2 years ago • 1 comments

Describe the bug

When using alias commands in more advanced ways, certain engine +commands have odd hysteresis when they shouldn't, resulting in very strange behaviors.

recording of bug: https://gfycat.com/diligentfrailcatbird

How To Reproduce

using the attached script, push m1 followed by m2. The debug say commands print the pressed buttons to the chat window.

bind mouse1 tc0
bind mouse2 tc

alias "+tc" "+attack; say plus"
alias "-tc" "-attack; say minus"

alias tc0 tc3
alias tc3 "+tc; alias tc0 tc4; alias tc tc2; say m1"
alias tc4 "-tc; alias tc0 tc3; alias tc tc1; say m1"

alias tc tc1
alias tc1 "+tc; alias tc tc2; alias tc0 tc4; say m2"
alias tc2 "-tc; alias tc tc1; alias tc0 tc3; say m2"

Issue Map

any

Expected Behavior

using the attached script, -attack should be properly called when pushing one bound key then the other.

Operating System

Win10

Renderer

DX11 (default)

Arkanoid0 avatar Feb 17 '23 03:02 Arkanoid0

from scell:

this is intended behaviour, button which initiated alias is propagated to all commands that it invokes,
it replaced the system that other source game use that silently pass a key number after +/- command
when you run such command. This is to simplify alias handling, +/- command chaining and some odd
behaviour when you have a non +/- command at end of alias randomly getting the hidden number
key passed in instead. This also prevents - commands from clearing (possibly) both pressed buttons.
As you can see from the issue you created, mouse1 presses attack, but mouse2 is released,
and since game doesn't consider +attack being pressed by mouse2, it ignores it

hexaflexahexagon avatar Feb 17 '23 22:02 hexaflexahexagon