By knowing that, you can calculate the fastest turnspeed possible to aim where you want with only a maximal "margin of error" of 0.000023.
Using this I was able to make an automatic SR-50 with complex use of the test command that aims at the right angle for you.
It works like this: you straferun like you usually would and by pressing the sr50 key it will automatically aim and set the strafe speeds and stuff depending on your direction. It is also possible to change your strafing direction once you pressed it and it will still aim for you once you release it.
Here's the current configuration:
Code: Select all
set moves 0
set sr50ing 0
Code: Select all
//Under [Doom.ConsoleAliases]
Name=+newleft
Command=+moveleft;eval + $moves 1 moves;test = $sr50ing 1 "+left"
Name=-newleft
Command=-moveleft;eval - $moves 1 moves;test = $sr50ing 1 "-left"
Name=+newright
Command=+moveright;eval + $moves 2 moves;test = $sr50ing 1 "+right"
Name=-newright
Command=-moveright;eval - $moves 2 moves;test = $sr50ing 1 "-right"
Name=+sr50
Command=turnspeeds 382 382 382 382;test = $moves 2 "+left;wait;-left;+strafe;+right;turnspeeds 65536 65536 65536 65536" "test = $moves 1 \"+right;wait;-right;+strafe;+left;turnspeeds 65536 65536 65536 65536\" \"turnspeeds 0 0 0 0\"";set sr50ing 1
Name=-sr50
Command=wait;-strafe;turnspeeds 381 381 381 381;wait 2;turnspeeds 0 0 0 0;-left;-right;set sr50ing 0
You must put it directly in your config file because it uses multi-level test commands but you can still split it in multiple alias yourself if you want.
You will obviously have to bind +newleft/right to your left/right keys and +sr50 to whatever you want
Spoiler: Here's a little demonstration (WARNING: Heavy GIF) (Open)I might make it possible to use backward sr-50 if you really want it. (who does this anyway)
It is of course possible to use the same "auto-aiming" method to make 2 directional sr-50 keys if you have this kind of config.