Commit Graph

5 Commits

Author SHA1 Message Date
Ghom
0ebeaf1907 Fixes tgui text input trimming the last char if the input hits the max length (#81869)
## About The Pull Request
There's a one character discrepancy between the maximum length in the
tgui input panel and that of the copied text, that's because
`copytext("123456", 6)` will actually return `"12345"`, cutting off the
last digit, so we need to increment the `max_length` by one if we want
the right amount of characters to be return. This is also somewhat
detailed in the DM lang "bluebook", and is in line with how
`list.Copy()` also works.


## Why It's Good For The Game
This fixes the museum password pad, which trimmed the last character of
the input because of this oversight.

## Changelog

🆑
fix: Fixed the tgui text input trimming the last character of the input
if it hits the maximum length.
fix: This also fixes the PIN pad leading to the right wing of the museum
away mission.
/🆑
2024-03-07 21:20:58 -07:00
Bloop
f34174414d Cleans up some extra args in Destroy() (#80642)
## About The Pull Request

After https://github.com/tgstation/tgstation/pull/80628, these shouldn't
be needed anymore right?

## Why It's Good For The Game

Cleans up some vestigial code

## Changelog
EDIT: Not player-facing.
2023-12-30 03:54:07 +01:00
san7890
89ce531194 Nullchecks Client on tgui_alert() and siblings (#79322)
## About The Pull Request

Fixes #79321

```dm
/datum/tgui/proc/open()
	if(!user.client)
		return FALSE
```
The TGUI window won't even `open()` and do any work if we don't have a
client, so let's just explicitly get the hell out of dodge if we don't
have a client associated with a mob in these procs. Adding a `?` to
handle the runtime in the linked issue only obfuscates the deeper issue
because of the aforementioned code snippet.

## Why It's Good For The Game

Clientless monkeys will still somehow be able to interact with stuff
through their random behavior, and this is still plausible enough to
show up on live servers every so often, so let's just patch it out
early. These alerts are meant for player user input, so if we don't have
a player, let's bounce.
## Changelog
A player would never ever notice this.
2023-10-31 17:01:38 -07:00
nikothedude
7cd1c47e67 Allows TGUI input datums to accept a ui_state as an argument (#75029)
## About The Pull Request

Title. Adds a new argument to the factory proc, the New(), adds a
variable, and changes ui_state() to return that variable. The variable
is always_state by default.

## Why It's Good For The Game
It allows custom behavior to be injected into the ui_state logic of the
basic input datums. This is good because there are circumstances where
always_state isn't acceptable. Ex. you open tgui_input_list(mob/user),
and the mob dies or is deleted. The list stays open, the contents can be
picked, despite this not being what the author wants. With this PR, you
can make sure the list closes and inputs are invalid in circumstances of
your choosing without having to completely re-make the input procs via
copypasting.
## Changelog
🆑
code: TGUI input datums can now accept custom ui_states
/🆑
2023-05-01 15:05:26 -07:00
Jeremiah
acfa5e4fdd TGUI Say: Upgrades chat input with modern features (#67116)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: AnturK <AnturK@users.noreply.github.com>
Co-authored-by: iamgoofball <iamgoofball@gmail.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
Co-authored-by: KubeRoot <6917698+KubeRoot@users.noreply.github.com>
Co-authored-by: Kapu1178 <75460809+Kapu1178@users.noreply.github.com>
Co-authored-by: Iamgoofball <4081722+Iamgoofball@users.noreply.github.com>
Co-authored-by: DomitiusKnack <56321744+DomitiusKnack@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Wallem <66052067+Wallemations@users.noreply.github.com>
2022-06-16 17:21:21 -07:00