Commit Graph

28 Commits

Author SHA1 Message Date
John Willard 2ef5704c30 Adds a keybind for 'precise' dropping (like SS14) (#93790)
## About The Pull Request


https://github.com/user-attachments/assets/531f1456-72a1-4215-ae9e-4f4bf143b8c5

<img width="429" height="93" alt="image"
src="https://github.com/user-attachments/assets/1440fb60-a6b8-46c3-9bee-5a30017e2265"
/>

## Why It's Good For The Game

There's been SS14 players moving to SS13 and finding dropping in 14 is
better, which I kinda agree as it allows you to be more precise with x/y
dropping.

## Changelog

🆑
qol: There's a keybind (default is Ctrl+X, rebindable) for the drop
hotkey to drop where your mouse is (similar to SS14).
/🆑
2025-11-18 17:39:20 -07:00
TiviPlus d16c911e1a Fix mousepos runtime with esc (#91237)
## About The Pull Request
esc manually calls keyup without mousepos

## Changelog
🆑
fix: fixed a runtime error with the escape menu
/🆑

---------

Co-authored-by: TiviPlus <572233640+TiviPlus@users.noreply.com>
2025-05-26 13:25:47 +00:00
LemonInTheDark fed87bd5c9 Removes clickturf debug code (#91191)
Tiviiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii's pr had debug
code left in it, this removes that. what I get for not fine toothing
this shit #90480
2025-05-16 23:08:55 -07:00
TiviPlus d53fb89b86 Keyboard presses (and thus keybindings) will now report the turf the mouse was over when a player presses or releases a key (#90480)
## About The Pull Request

Semi WIP cus I need to probably make an issue report for lummox, but
apart from that ready for review

Uses the new mouse-pos so we can combine it with screen size and size to
estimate very accurately the mouse position in turf terms. In future
also will need to add a way to continously poll the users mouse pos but
this alone is very useful

## Why It's Good For The Game

This isnt used yet, but the benefits are pretty damn obvious (hitting E
and dashing towards where your mouse??? 1990s features?????)

## Changelog
🆑
refactor: Added the possibility for keybindings to report the turf they
clicked on.
/🆑

---------

Co-authored-by: TiviPlus <572233640+TiviPlus@users.noreply.com>
2025-05-16 22:03:01 -07:00
jimmyl 683e2ecfbf bindable action buttons (#81371)
## About The Pull Request
### work started 12/12/2023


you may alt-click action buttons to bind them to a key
these are subject to click cooldown and if an action successfully
triggers click cooldown is triggered so you cant instantly do multiple
alt-click again to unbind
## Why It's Good For The Game

moving your mouse to the top left corner to do combat is not good
gameplay

## Changelog
🆑
qol: you may altclick action buttons to bind them to a key
/🆑

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-02-16 23:10:15 +01:00
LemonInTheDark 89073444db Micro-Optimize keyLoop's self time (#81464)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request

This is a REALLY hot proc, takes up to like 2% of total cpu at highpop 
Let's micro it then

First, clients do not go null at random. It's not predictable per say
but it is consistent.
We can use this understanding to remove a bunch of null checks here

For loops are expensive. So rather then doing one each keyLoop, let's
cache the client's intended move direction on the client. Simplifies
some other code too

There is no sense running a turn call if it would have no effect, let's
be more intelligent about this

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑
refactor: Fucks with how movement keys are handled. Please report any
bugs
/🆑

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
2024-02-14 18:28:34 -08:00
ShizCalev b93146760a Adds message clarifying that you've been KICKED from the game when the keysend flood autokick triggers. (#72083)
There is now a message clarifying that you've been KICKED from the game when the keysend flood autokick triggers.
2022-12-22 12:54:13 -06:00
Mothblocks 5a4c87a9fc tgui Preferences Menu + total rewrite of the preferences backend (#61313)
About The Pull Request

Rewrites the entire preferences menu in tgui. Rewrites the entire backend to be built upon datumized preferences, rather than constant additions to the preferences base datum.

Splits game preferences into its own window.

Antagonists are now split into their individual rulesets. You can now be a roundstart heretic without signing up for latejoin heretic, as an example.

This iteration matches parity, and provides very little new functionality, but adding anything new will be much easier.

Fixes #60823
Fixes #28907
Fixes #44887
Fixes #59912
Fixes #58458
Fixes #59181
Major TODOs

Quirk icons, from @Fikou (with some slight adjustments from me)
Lore text, from @EOBGames (4/6, need moths and then ethereal lore from @AMonkeyThatCodes)
Heavy documentation on how one would add new preferences, species, jobs, etc

    A lot of specialized testing so that people's real data don't get corrupted

Changelog

cl Mothblocks, Floyd on lots of the design
refactor: The preferences menu has been completely rewritten in tgui.
refactor: The "Stop Sounds" verb has been moved to OOC.
/cl
2021-09-15 10:11:11 +12:00
Watermelon914 375a20e49b Refactors most spans into span procs (#59645)
Converts most spans into span procs. Mostly used regex for this and sorted out any compile time errors afterwards so there could be some bugs.
Was initially going to do defines, but ninja said to make it into a proc, and if there's any overhead, they can easily be changed to defines.

Makes it easier to control the formatting and prevents typos when creating spans as it'll runtime if you misspell instead of silently failing.
Reduces the code you need to write when writing spans, as you don't need to close the span as that's automatically handled by the proc.

(Note from Lemon: This should be converted to defines once we update the minimum version to 514. Didn't do it now because byond pain and such)
2021-06-14 13:03:53 -07:00
Watermelon914 7636caadc9 Removed proc overhead from the Input subsystem (#59339)
Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
2021-05-27 16:16:56 -07:00
Qustinnus c796a7eb0b changes your cursor to an eye when you are holding shift to indicate you will examine (#54083) 2020-10-02 16:09:57 -07:00
Rohesie b3eb90b5e9 Fixes cases of held keys getting stuck (#53988) 2020-09-29 01:20:11 -07:00
Couls 212974a3ab remove obsolete face-dir keybinds (#53925) 2020-09-25 11:04:43 -03:00
Rohesie 8b224ef13e Refactors the keys_held rolling buffer (#53773)
* rolling key rip

* category

* comment

* oops
2020-09-20 15:01:21 -07:00
Qustinnus fc75f2cb51 Makes locking movement a hotkey (#53771)
* kinda done

* Update code/datums/keybinding/mob.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/datums/keybinding/mob.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/datums/keybinding/mob.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/datums/keybinding/mob.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-09-18 22:15:02 -04:00
ShizCalev f2a61be00a Fixes keybind up() not checking for can_use() (#52475) 2020-07-26 13:44:13 -04:00
AnturK 33e3622f27 Add basic sanity to keybindings (#49116)
Not a fan adding another wrapper here but alternative is copypasta 
everyone will forget.
2020-02-02 19:51:39 -08:00
oranges 70bb8fde34 Some changes suggested by lummox 2020-01-05 05:12:06 +00:00
Couls 26a61a489c ports TGMCs click hack for non-hotkey players ports classic keybinds from TGMC (#47670)
About The Pull Request

Ports tgstation/TerraGov-Marine-Corps#2977, overrides click proc to return focus back to chat bar using winsets also ports tgstation/TerraGov-Marine-Corps#1904 which has two sets of defaults for hotkey and classic mode
fixes #47672 fixes #47659

much credit to @Rohesie and the TGMC team for a bunch of these improvements
Why It's Good For The Game

lets the non-hotkey players walk and talk again
Changelog

cl
add: Custom keybinds will now check what style (classic / hotkey) you prefer when resetting if you use classic mode make sure to reset your keybinds to default!
add: multiple keybind support
tweak: non-hotkey mode keeps focus on chat
fix: pressing 4 as cyborg now properly cycles
fix: AI location hotkeys now work again
/cl
2019-11-14 09:22:33 +13:00
Couls 971ef6a416 Custom movement hotkeys and restore macros for T, O and M (#47626)
* Custom movement hotkeys and restore macros for T, O and M

* stray comma

* update movement keys on SSinput initialize

* use cardinals
2019-11-07 18:07:17 -05:00
Couls 65ce56587c fixes modifier hotkeys and adds alternative move intent toggle (#47569)
* fixes modifier hotkeys and adds alternative move intent toggle

* Fixes pulling keybind

* make the wrappers look more like the old popup windows

* it was the freaking save file

* bump up save file version

* reset keybindings to default
2019-11-06 04:20:30 -08:00
Couls 070bb5e69c Port Custom hotkeys from TGMC (#47003)
* custom keybindings

* Update _lists.dm

* Update robot.dm

* modify weights and clean up some vars

* Update say.dm

* Apply suggestions from code review

Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>

* some review changes

* formatting

* include focus hack, remove me_wrapper, give default keybinds to new characters, misc fixes

* revert hack and more reviews

* remove another focus hack

this was causing issues with the keydown proc returning early
2019-11-03 01:35:30 -07:00
Rob Bailey 85adb0c031 input checking (#46425)
Sanity checks + flood checking.

Changes keys_held to a rolling buffer instead of a list of arbitrary size. This limits held keys to 15, I recommend not holding keys with your toes personally.
2019-09-16 16:37:14 +12:00
oranges 06c3e69cbb keyloop no longer runtimes if the client is mobless 2019-07-24 23:52:44 +00:00
Emmett Gaines bf1706e3a6 fixes changing direction with control moving you in that direction (#35051) 2018-01-29 03:57:34 -05:00
Emmett Gaines d040afd6d0 Moves GLOB.movement_keys into SSinput and adds movement direction badminry (#34123)
* badmin flip dirs

* moves movement_keys into SSinput from GLOB
2018-01-14 20:37:59 +01:00
ninjanomnom a347ec2837 fixes f1 ahelp 2018-01-03 16:30:27 -05:00
ninjanomnom 7b7b67edd8 In-code key handling system 2017-11-30 07:40:27 -05:00