Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port TGUI react migration and fixes, Part 1 #342

Merged
merged 61 commits into from
Aug 5, 2024

Conversation

Doubleumc
Copy link
Contributor

@Doubleumc Doubleumc commented Jul 24, 2024

About the pull request

Ports various commits related to main CM's upgrade of TGUI:

Additionally several misc commits that TGUI upgrades depended on:

It boots, nothing looks obviously wrong. Beyond that, will need some serious testing. Changes that rely on changes that rely on changes that rely on changes -- I traced them back as best I could, but there's always a chance that some code change required to make these changes work got missed.

Assuming that all goes well, would check for any differences in TGUI files to ensure everything up-to-date with PvP.

Explain why it's good for the game

React is a much better supported framework than Inferno. Modern TGUI has performance and functionality improvements.

Testing Photographs and Procedure

Its too big. Gonna have to be testmerged.

Changelog

🆑
refactor: complete overhaul of just about every TGUI interface
add: added parachutes
add: added holocards to the squad hud
add: falling out a dropship throws you to the surface
/:cl:

mullenpaul and others added 12 commits July 23, 2024 22:33
# About the pull request

First round of refactors for TGUI-5 migration. Here all TGUI interfaces
and components have been changed from .js to .jsx. This is to closer
align us to the standards of tgstation. Within the components themselves
there are no functional changes.

Files of interest:

- tgui/webpack.config.js
- tgui/packages/tgui/routes.jsx
- tgui/packages/tgui/interfaces/Filteriffic.jsx
- tgui/packages/tgui/debug/KitchenSink.jsx

The rest of the file changes should just be .js -> .jsx

<!-- Remove this text and explain what the purpose of your PR is.

Mention if you have tested your changes. If you changed a map, make sure
you used the mapmerge tool.
If this is an Issue Correction, you can type "Fixes Issue #169420" to
link the PR to the corresponding Issue number #169420.

Remember: something that is self-evident to you might not be to others.
Explain your rationale fully, even if you feel it goes without saying.
-->

# Explain why it's good for the game

Groundwork prep for TGUI 5
# Testing Photographs and Procedure
<details>
<summary>Screenshots & Videos</summary>

Put screenshots and videos here with an empty line between the
screenshots and the `<details>` tags.

</details>


# Changelog
:cl:
refactor: tgui js components now jsx
/:cl:
<!-- Remove this text and explain what the purpose of your PR is.

Mention if you have tested your changes. If you changed a map, make sure
you used the mapmerge tool.
If this is an Issue Correction, you can type "Fixes Issue #169420" to
link the PR to the corresponding Issue number #169420.

Remember: something that is self-evident to you might not be to others.
Explain your rationale fully, even if you feel it goes without saying.
-->

Round of upgrades and changes to support migration to React for tgui. By
doing more smaller changes I hope it's easier to review and test.

We want to migrate from infernojs to react.

<details>
<summary>Screenshots & Videos</summary>

Put screenshots and videos here with an empty line between the
screenshots and the `<details>` tags.

</details>

:cl:
refactor: upgraded root tgui files to typescript to closer align with tg
refactor: upgraded typescript to 4.9.4
refactor: upgraded yarn to 3.3.1
refactor: upgraded a bunch of tgui tooling
/:cl:
<!-- Remove this text and explain what the purpose of your PR is.

Mention if you have tested your changes. If you changed a map, make sure
you used the mapmerge tool.
If this is an Issue Correction, you can type "Fixes Issue #169420" to
link the PR to the corresponding Issue number #169420.

Remember: something that is self-evident to you might not be to others.
Explain your rationale fully, even if you feel it goes without saying.
-->

Switches TGUI from Inferno to React.

Part 2 of the PR cmss13-devs/cmss13#5435

Based heavily on the work from:
https://github.com/tgstation/tgstation/pull/80044/files

React is a more suitable framework

<details>
<summary>Screenshots & Videos</summary>

Put screenshots and videos here with an empty line between the
screenshots and the `<details>` tags.

</details>

:cl:
refactor: switched from infernojs to react
/:cl:
# About the pull request

Fixes `.jsx` files not triggering a TGUI recompile in build.bat when
they've been edited.
Currently you need to manually run `yarn tgui:build` (or equivalent) to
make any changes appear in-game.

I double checked TG's version of this just to make sure I didn't miss
something obvious, and it looks like they've only recently fixed this
themselves: tgstation/tgstation#80630

# Explain why it's good for the game

Editing a TGUI file should trigger a rebuild.

# Testing Photographs and Procedure
<details>
<summary>Screenshots & Videos</summary>

Put screenshots and videos here with an empty line between the
screenshots and the `<details>` tags.

</details>


# Changelog
Nothing player-facing.
# About the pull request

<!-- Remove this text and explain what the purpose of your PR is.

Mention if you have tested your changes. If you changed a map, make sure
you used the mapmerge tool.
If this is an Issue Correction, you can type "Fixes Issue #169420" to
link the PR to the corresponding Issue number #169420.

Remember: something that is self-evident to you might not be to others.
Explain your rationale fully, even if you feel it goes without saying.
-->

Fixed the issue for STUI locally. The issue appears have happened
because infernojs and react deal with key management on iterators
differently. By using the index for the iterator, rather than the entire
log message, this seems to have resolved it.

# Explain why it's good for the game
Resolves cmss13-devs/cmss13#5557

# Testing Photographs and Procedure
<details>
<summary>Screenshots & Videos</summary>

Put screenshots and videos here with an empty line between the
screenshots and the `<details>` tags.

</details>


# Changelog
:cl:
code: fixes sticky messages in STUI
refactor: STUI is now a TSX component
/:cl:
# About the pull request

This PR is a followup to #5633 adding another guard to a handling of
numbers this time in TGUI number input.

# Explain why it's good for the game

Numbers should be numbers.

# Testing Photographs and Procedure
<details>
<summary>Screenshots & Videos</summary>


![image](https://github.com/cmss13-devs/cmss13/assets/76988376/4feb0794-1101-49ef-94ca-501e95380fa1)

</details>


# Changelog
No player facing changes.
# About the pull request

<!-- Remove this text and explain what the purpose of your PR is.

Mention if you have tested your changes. If you changed a map, make sure
you used the mapmerge tool.
If this is an Issue Correction, you can type "Fixes Issue #169420" to
link the PR to the corresponding Issue number #169420.

Remember: something that is self-evident to you might not be to others.
Explain your rationale fully, even if you feel it goes without saying.
-->

Should fix bug in restricted input TGUI component. The number was being
clamped on every input, which meant that applying a number of 30 into a
range of 19-90, 3 would be bounded to 19 and then the 0 would make the
value 190, being bounded to 90.

This change performs the check on blur.

# Explain why it's good for the game
Fixes cmss13-devs/cmss13#5610

# Testing Photographs and Procedure
<details>
<summary>Screenshots & Videos</summary>

Put screenshots and videos here with an empty line between the
screenshots and the `<details>` tags.

</details>


# Changelog
:cl:
code: rework logic of restrictedinput component to reduce checks
/:cl:
# About the pull request

This PR is a follow up to #5493 fixing the Medals Panel. Some reason
Fragment is busted if you don't use a key?

# Explain why it's good for the game

Fixes 

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/c811b7ef-c9b5-45e3-b95b-bad416e8ab7a)

# Testing Photographs and Procedure
<details>
<summary>Screenshots & Videos</summary>


![image](https://github.com/cmss13-devs/cmss13/assets/76988376/41a05979-eda5-4a1f-ae7d-1f8ddaf50129)

</details>


# Changelog
:cl: Drathek
ui: Fix broken admin Medals Panel
/:cl:

fixes #5768
# About the pull request

Fixes the search function of `tgui_input_list`, and also makes the
search bar automatically focus when toggled.
This was caused by the same issue as #5581.

# Explain why it's good for the game

Bugfix, and a little QOL thing.

# Testing Photographs and Procedure
<details>
<summary>Screenshots & Videos</summary>

('Teleport to Area' menu as an example, but it's the same on any
others.)
**Before:**


https://github.com/cmss13-devs/cmss13/assets/57483089/8450adef-38f4-4ae4-963a-11533a328841

**After:**


https://github.com/cmss13-devs/cmss13/assets/57483089/ede80ffa-7ce6-47c9-9711-a5f29560d1bd

</details>


# Changelog
:cl:
fix: Fixed the search function of TGUI input lists.
qol: Made the TGUI input list search bar automatically focus when
toggled.
/:cl:
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->

Replaces tgui build tools with faster alternatives.

There were some issues in build of components using hooks which do not
exist, which I removed as well. This is not a required part of the PR
but React does not use these

Based on two PRs:
[Esbuild](tgstation/tgstation#79916)
[SWC](tgstation/tgstation#80310)

<!-- Remove this text and explain what the purpose of your PR is.

Mention if you have tested your changes. If you changed a map, make sure
you used the mapmerge tool.
If this is an Issue Correction, you can type "Fixes Issue #169420" to
link the PR to the corresponding Issue number #169420.

Remember: something that is self-evident to you might not be to others.
Explain your rationale fully, even if you feel it goes without saying.
-->

Faster build times
<!-- Please add a short description of why you think these changes would
benefit the game. If you can't justify it in words, it might not be
worth adding, and may discourage maintainers from reviewing or merging
your PR. This section is not strictly required for (non-controversial)
fix PRs or backend PRs. -->

<!-- Include any screenshots/videos/debugging steps of the modified code
functioning successfully, ideally including edge cases. -->

<!-- !! If you are modifying sprites, you **must** include one or more
in-game screenshots or videos of the new sprites. !! -->

<details>
<summary>Screenshots & Videos</summary>

Before
![Screenshot 2024-04-26
155554](https://github.com/cmss13-devs/cmss13/assets/42397676/5a48687e-dc6e-43d7-98d9-354bd3848ff6)

After
![Screenshot 2024-04-26
160516](https://github.com/cmss13-devs/cmss13/assets/42397676/b106ad86-25db-4403-b80a-29f4cd1ca38d)

</details>
correcting mistakes in the merging process
@github-actions github-actions bot added the UI label Jul 24, 2024
@Doubleumc Doubleumc added do not merge needs tested testmerge this to see what breaks labels Jul 24, 2024
Contrabang and others added 9 commits July 24, 2024 22:00
…at the ground, instead of deleting it. (#5584)

<!-- Remove this text and explain what the purpose of your PR is.

Mention if you have tested your changes. If you changed a map, make sure
you used the mapmerge tool.
If this is an Issue Correction, you can type "Fixes Issue #169420" to
link the PR to the corresponding Issue number #169420.

Remember: something that is self-evident to you might not be to others.
Explain your rationale fully, even if you feel it goes without saying.
-->

Jumping out of a dropship heading towards an LZ now throws your body at
the ground, instead of deleting it. This does around 500 damage, and
permanently kills you.

![image](https://github.com/cmss13-devs/cmss13/assets/91113370/6bbd7926-1f8b-4078-a1ea-2dc583725ece)

These people falling out of the sky, can land anywhere where there is no
ceiling (or a glass one). Basically anywhere you can mortar, medevac, or
laze something.

This only works if the dropship is heading towards one of the LZs, if
not, then they're deleted like normal.

I also fixed the throwing, so it doesn't appear like you're just
standing in space for 0.5 seconds before being disappeared.

I also removed some unused arguments in `take_overall_damage` and
`take_overall_armored_damage`.

It adds a bit of depth to the game, instead of your character being just
outright deleted, their body actually ends up somewhere.

<details>
<summary>Screenshots & Videos</summary>

https://github.com/cmss13-devs/cmss13/assets/91113370/a6df19dc-7f9f-4c8d-8169-2db1497b6c54

(It does play sounds when you land, you just cant really hear them in
this clip because they died.)

![image](https://github.com/cmss13-devs/cmss13/assets/91113370/b7f1bf66-fdce-4082-97c2-3fa841e168eb)

![image](https://github.com/cmss13-devs/cmss13/assets/91113370/f0819fea-4ac8-47b5-a012-f8ea12f08799)

https://github.com/cmss13-devs/cmss13/assets/91113370/f727b8f7-1df3-4725-bb82-f16dc8294eea

(Items do a little bounce when they land too)

</details>

:cl:
add: Falling out of a Dropship en route to an LZ, now lets your corpse
plummet to the ground instead of being deleted.
/:cl:

---------

Co-authored-by: private-tristan <[email protected]>
never used, removal is a whole PR tangle of its own
…nsport (#5158)

huh? how'd this not get reported?

:cl:
fix: xenos can construct in dropships during transport again
/:cl:
Updates most of mapping backend to /tg/ current:
* Replaces completely map reader which now has explicit TGM support
* Replaces completely reservations backend, they now have a builtin
"cordon" area around them
* Grafts and updates some missing procs in SSmapping and Shuttles,
notably for reservations
* Updates nightmare, map templates, interiors, etc, to match new
mapper/reservations code
* Minor Turf/Atoms stuff such as global init, turf_flags rename, and
AfterChange()

This shouldn't change much to the game as is, but is meant as a stepping
stone toward new features such as planecube that depend on updated
mapping code, rather than having to messily strap them to old.

Very Testmerge-worth

 - [x] General map loading of Ship & Ground
 - [x] Dropship loading and flight
 - [x] Fultons reservation launching
 - [x] Lifeboats launching
 - [x] Vehicle Interiors instanciation
 - [x] Interior reservations freeing
 - [x] Tents templates placement
 - [x] Nightmare inserts loading
 - [x] Other maps than LV-624
 - [x] Maploading admin verbs
 - [x] Mass screenshot verb
 - [x] Runtime Trijent elevators working

- [x] Find a better cordon turf than outer almayer hull, it looks ugly
with eg fultons

:cl:
code: Updated mapping backend from /tg/ upstream.
/:cl:

---------

Co-authored-by: harryob <[email protected]>
Co-authored-by: harryob <[email protected]>
# About the pull request

Removes trimming from VV edits for strings.
As a byproduct you can now provide the argument of `trim = FALSE` to
`tgui_input_text()` to return untrimmed input.

# Explain why it's good for the game

VV editors shouldn't have the input box arbitrarily trim their leading
or trailing whitespace from editing variables.

# Testing Photographs and Procedure
<details>
<summary>Screenshots & Videos</summary>

Put screenshots and videos here with an empty line between the
screenshots and the `<details>` tags.

</details>


# Changelog
:cl:
code: Changing a string in VV no longer trims whitespace.
/:cl:
This PR is a follow up to #5493 and ultimately is aimed at bringing us
back into parity with TG's version of the TGUI components again. For the
most part this PR is done via diffing TG's TGUI folder with ours. The
PRs listed below are what I found in blames and I double checked to see
what files if any they affected outside the TGUI folder.

**It is recommended to close VSC and run bin/clean.cmd and then
bin/build.cmd if you try out this branch**. You will be using the wrong
node & prettier version otherwise.

This at least partially ports these PRs (and likely many others - but
these I explicitly checked for how they affected other files):
- tgstation/tgstation#67935
- tgstation/tgstation#74638
- tgstation/tgstation#75029
- tgstation/tgstation#75431
- tgstation/tgstation#75463
- tgstation/tgstation#75534
- tgstation/tgstation#78879
- tgstation/tgstation#79322
- tgstation/tgstation#79895
- tgstation/tgstation#79898
- tgstation/tgstation#79974
- tgstation/tgstation#79991
- tgstation/tgstation#80044
- tgstation/tgstation#80057
- tgstation/tgstation#80189
- tgstation/tgstation#80304
- tgstation/tgstation#80430
- tgstation/tgstation#80453
- tgstation/tgstation#80454
- tgstation/tgstation#80920
- tgstation/tgstation#81354
- tgstation/tgstation#81381
- tgstation/tgstation#81495
- tgstation/tgstation#82334
- tgstation/tgstation#82377
- tgstation/tgstation#82385
- tgstation/tgstation#82417
- tgstation/tgstation#82420
- tgstation/tgstation#82527
- tgstation/tgstation#82571
- tgstation/tgstation#82792
- tgstation/tgstation#82854
- tgstation/tgstation#83098
- tgstation/tgstation#83096
- tgstation/tgstation#83218

Additionally it ports the new base components from:
- tgstation/tgstation#71531
- tgstation/tgstation#71847
- tgstation/tgstation#74544
- tgstation/tgstation#74704 (just a fix to
above)
- tgstation/tgstation#80743
- tgstation/tgstation#82181 (just a fix to
above)
- tgstation/tgstation#82533
- tgstation/tgstation#83179 (just a fix to
above)

But these are missing documentation in the components readme, and we do
not have any interface that utilizes them yet. I wanted to explicitly
mention them separately so people can see what they can do.

Changes I still intend to do in this PR or investigate:
- [X] Fix Button.Confirm not properly handling clicks (Sort of stumped
on this atm)
- [X] Fix Relay Viewer buttons not always updating
- [X] Port TGSay 1.1 & TextArea changes
(tgstation/tgstation#75431)
- [X] Fix ByondUI in Drop pod panel
- [X] Check parity with TG again and port anything else that may have
been done during the creation of this PR
- [X] Find a way to prevent TGSay passthrough when hotkeying InputList
(and maybe others)? tgstation/tgstation#75463

Other notable changes not directly related to the above ports, but done
as I was fixing other problems:
- Strip panel is now larger with sprites at 64x64 instead of 48 because
as an Image component now they didn't alias the same.
- VOX panel's second tab now doesn't overlap the other buttons
- Wiring panel from cmss13-devs/cmss13#1623 is
now restored to use circular indicators again instead of the regression
to ColorBox in cmss13-devs/cmss13#2641
- Smart fridge interface is more in line with sorted inventories as far
as layout & tooltips
- Tacmap drawing interface is tweaked a little to deal with the changes
to dropdowns + clicking the tab is now disabled again until the tacmap
is ready (It needs minimap subsystem to fire to have icons when
flattening the map to be up to date)
- Fixes runtimes when quickly switching between tgsay categories
- Basically reverts cmss13-devs/cmss13#5651 in
favor of how TG ended up solving it via
tgstation/tgstation#81495
- Rolls back SWC to the version TG is currently using because of
cmss13-devs/cmss13#6196 (comment)
- Adds these commands from
tgstation/tgstation#81381 though I also have it
check jsx files that somereason TG doesn't do (needs to have been built
once to function - just run build.bat):

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/ed107278-93ee-4a2a-bbf2-b38e60417099)
- Chat: Adds a clear chat button clearing the current tab, mute button
to disable unread notifications for a tab, and updates the word
highlight regex for case sensitivity. I left out one of the Cyrillic
fixes since we shouldn't normally be handling Cyrillic anyways.
- Ship manipulator window can now replace any existing shuttle and
generally is polished up more than it was.
- Ports TGSay 1.1 though I discarded basically all the layout changes
they did.
- TGUI modals can now accept a ui_state in case you want an alert for
say a mob that might qdel while it is open.
- Finishes porting the reservation changes to shuttles.dm from
tgstation/tgstation#73261 that some reason were
absent from cmss13-devs/cmss13#5165
- Fixes F5 refreshing a window if default is prevented (e.g. when the
hotkey interface is waiting for a key press).
- All depreciated useLocalState is now removed. In almost all situations
I could useState, but a few things for MFD on CAS I needed to use
sharedState.

Prepares us for 516 (though still more changes will be necessary) and
finalizes the react port.

<details>
<summary>Screenshots & Videos</summary>

New list modal w/ duplicate key handling:

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/b84e2db6-4e42-42d3-9b6d-4ae418f63c60)

Fixed VOX panel (sound files used to overlap type select):

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/a3cde1ea-1816-4187-b7a4-040803e52d4e)

Updated shuttle manipulator window:

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/f978c2e2-9174-4635-9da7-6d2768f9fbff)

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/607a0b91-5c64-4ca0-9256-d981c7073fb9)

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/9b69cfb2-d4c2-4caf-846d-1d32f965cff0)

With replace any shuttle support:

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/ace7f58a-0991-4147-b13f-d2be2d012b21)

Erase current tab chat history:

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/9554ccfe-43da-4eee-b9ae-ad5cbec0523b)

Working case sensitivity highlights:

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/182971ac-a0f2-42de-ad41-fa12991d760c)

Unread counter toggle per tab:

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/9de5b9ae-5cb2-4905-9592-556e9cf45ad2)

Larger strip panel:

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/2229c7d4-935a-427e-9699-942acae1cfbf)

Tacmap panel polish (button positioning + dropdown text color when
highlighted):

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/dcdf86fa-ba48-4d6f-bd42-bb8f3c1dd2bf)

Minor tweak to camera panel:

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/930d64b8-1c36-4cc4-a24d-900d57c642b0)

Dropdowns will now display above if too little space below:

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/3f4916d9-f020-489d-8494-277bde9cd741)

Kitchen sink works again (F12 w/ tgui-dev):

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/aa3bd2c7-b320-4158-ae8f-cea4896f0a9c)

Layout mode works again (F11 w/ tgui-dev):

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/cb683cd2-e62b-4cdf-bb38-10e7e1902030)

New checkbox modal (with theme support):

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/ddc2da93-8987-44f2-be3f-1c2694d9489e)

![checkbox](https://github.com/cmss13-devs/cmss13/assets/76988376/6a6ddab9-25b6-47cb-b833-295b3b7bf6c2)

New handling for button sizes in alert modals (stacked list since
options wanted to use more horizontal space than limit):

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/976a2a86-c1c6-421a-bb7a-80f20cc8f22d)

Polished smart fridge + restore wiring panel:
![smart
fridge](https://github.com/cmss13-devs/cmss13/assets/76988376/5524132f-c657-45d2-a7bc-aa09e00eb45b)

Fixed byondui in supply pod menu:

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/18555668-34fe-4aa7-83aa-c1045bc54dd0)

TG Say:

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/cc66a143-22ba-4f90-865a-0c00e7dd8bfa)

Some unchanged panels (to just show working):

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/adb8e0cb-64a4-45c4-9bac-1cecc6791667)

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/d330bd51-995b-48f4-8f18-5aedd0e2adaf)

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/cb5edc05-949d-4564-9548-f255971bb0f8)

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/0559cd17-8b5e-4585-8152-d8ac67a82f35)

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/31bf0233-dd05-408c-b2c6-5ebee9b2381c)

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/314fdec8-cc5c-4815-9ca9-b85422880a29)

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/36bf1d5e-91fd-4cb0-8ce5-07ce4746902f)

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/b63ee6aa-e80c-4928-9295-05d0e6314a16)

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/9b93df2e-a92d-4eeb-a5d4-07018c848c54)

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/7b45ba04-30c7-405c-90c2-d52ca99d7890)

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/f3ae0b6d-ca77-4dd8-bfc7-8616018211d1)

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/9aa28a52-e86d-4bb0-be23-a9ee1b39d97c)

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/8108494f-9ce9-44dd-b94b-5306c9ef7e09)

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/996b5dd3-89fa-4d19-bebc-de52774de23b)

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/2bccace6-2a68-4f8f-ada6-c231aab836f9)

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/8362f2ff-b38f-4682-a5c7-b26934e5972e)

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/8584e849-8d8d-4ff2-9ff8-932749ea6da5)

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/813b21e2-9705-4b5f-8710-e452384c56d9)

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/dcd933c5-65bd-41a2-b8c9-e1dcba446231)

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/1d81b490-168c-4f88-9d88-099f768cd665)

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/1dbe39d6-08fc-4734-bdf6-afc71fef6e6f)

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/f7fc5461-5138-4427-ab1a-89627baefb4b)

![image](https://github.com/cmss13-devs/cmss13/assets/76988376/032cc12c-802e-4d0a-b8d3-568a48f7d469)

![dropship](https://github.com/cmss13-devs/cmss13/assets/76988376/c85a4ed3-b4a9-4c44-a34b-1990f7ac7d31)

</details>

:cl: Drathek, mullenpaul
ui: Finalizes the TGUI React port and brings us back into parity again
with TG's interface components
ui: Strip panel is now larger with sprites at 64x64 instead of 48
because as an Image component now they didn't alias the same.
ui: VOX panel's second tab now doesn't overlap the other buttons
ui: Wiring panel for some machines is now restored to use circular
indicators again
ui: Smart fridge interface is more in line with sorted inventories as
far as layout & tooltips
ui: Tacmap drawing interface is tweaked a little to deal with the
changes to dropdowns + clicking the tab is now disabled again until the
tacmap is ready (It needs minimap subsystem to fire to have icons when
flattening the map to be up to date)
ui: Reworks RestrictedInput number handling
ui: Adds the DMIcon, VirtualList (deferred lazy list), Dialogue,
MenuBar, StyleableSection, and Checkbox TGUI components (but nothing
uses them yet)
ui: Chat: Adds a clear chat button clearing the current tab, mute button
to disable unread notifications for a tab, and updates the word
highlight regex for case sensitivity
ui: Updates the ship manipulator window to allow replacing any Shuttle
ui: Fixes the supply pod panel not displaying its byondui map correctly
ui: Fixes the research terminal duplicating papers in display old mode.
ui: Updates the tgui_input_list to for new features like hotkey
selection, duplicate key handling, etc
fix: Fixes thinking runtimes when quickly switching between tgsay
categories
code: Shuttle subsystem now is less aggressive with reservations
(skipping deletion if below a threshold, delaying reservation if above a
threshold)
fix: Fixes F5 key still refreshing a TGUI window even if default was set
to be prevented (e.g. Hotkey interface)
/:cl:

---------

Co-authored-by: Jerm <[email protected]>
cas interface upgrade is a whole other can of worms
required to be found by route now
@Doubleumc Doubleumc requested a review from fira as a code owner July 25, 2024 04:13
stop poddoor filler from pretending its a real door
convert to the new version
convert to the new version
Drulikar and others added 5 commits July 25, 2024 23:30
…SS13 into port-tgui-part1

# Conflicts:
#	tgui/packages/tgui/interfaces/DemoSim.tsx
# About the pull request

This PR is a followup to #5968 which made holocards more prominent. Now
the holocards are tied to the squad hud.

Changes to sprites are just to move the holocards into the dmi with the
rest of the squad hud icons.

# Explain why it's good for the game

It is not super important that this overlay *always* be displayed, and
especially not to xenos. Now it is as if your squad visor is identifying
the person you are looking at.

# Testing Photographs and Procedure
<details>
<summary>Screenshots & Videos</summary>

https://github.com/cmss13-devs/cmss13/assets/76988376/b4f0e369-a269-4678-9f17-69dafffe0848

</details>

# Changelog
:cl: Drathek
add: Moved holocards to the squad hud
/:cl:

(cherry picked from commit ad5daf7)
Copy link
Contributor

@Drulikar Drulikar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changelog could be updated since there should be many player facing changes. Past that as far as I can tell things are working, and parity with the tgui folder looks fine minus the PRs I mentioned that I will see about porting after this PR.

code/modules/shuttle/shuttles/trijent_elevator.dm Outdated Show resolved Hide resolved
fixed obscured space tiles to noop, was preventing rear hatch from opening
were overflowing the window
filter out the filler_object directly
missing parenthesis
Drulikar
Drulikar previously approved these changes Jul 27, 2024
Copy link
Contributor

@Drulikar Drulikar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Of note, a bulk of this is my own code so take my approval with a grain of salt. Feel free to let me know if you find anything that needs tweaking though. I will port most other tgui changes I think will be useful here once this is merged so don't be scared with a big PR influx.

paradrop system is now multi-use with rappels & extraction rappels
Copy link
Contributor

@Drulikar Drulikar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dropship equipment is not rendering correctly and as such is not interactable. Paradrop equipment for example would need to be accessed here to be used, but it cannot because the mount point is null.

image
image
image

@Drulikar Drulikar marked this pull request as draft August 1, 2024 19:54
some backend changes to normandy/alamo weren't added to PvE shuttles
@Doubleumc
Copy link
Contributor Author

Good catch. Tested and fixed for all PvE dropships.

@Doubleumc Doubleumc marked this pull request as ready for review August 1, 2024 23:12
our GM's virtual phone stuff was just different enough from PvP's implementation to cause issues
Copy link
Contributor

@Drulikar Drulikar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All hardpoints look fixed and cas firing is fine.

Paradropping does not transition the person to the map however. It seems /turf/open/space/transit/proc/handle_crosser(atom/movable/crosser) is triggered but not /turf/open/space/transit/dropship/handle_crosser(atom/movable/crosser) so maybe the shuttles need further mapping changes to be more like pvp?

para

…at the ground, instead of deleting it. (#5584)

<!-- Remove this text and explain what the purpose of your PR is.

Mention if you have tested your changes. If you changed a map, make sure
you used the mapmerge tool.
If this is an Issue Correction, you can type "Fixes Issue #169420" to
link the PR to the corresponding Issue number #169420.

Remember: something that is self-evident to you might not be to others.
Explain your rationale fully, even if you feel it goes without saying.
-->

Jumping out of a dropship heading towards an LZ now throws your body at
the ground, instead of deleting it. This does around 500 damage, and
permanently kills you.

![image](https://github.com/cmss13-devs/cmss13/assets/91113370/6bbd7926-1f8b-4078-a1ea-2dc583725ece)

These people falling out of the sky, can land anywhere where there is no
ceiling (or a glass one). Basically anywhere you can mortar, medevac, or
laze something.

This only works if the dropship is heading towards one of the LZs, if
not, then they're deleted like normal.

I also fixed the throwing, so it doesn't appear like you're just
standing in space for 0.5 seconds before being disappeared.

I also removed some unused arguments in `take_overall_damage` and
`take_overall_armored_damage`.

It adds a bit of depth to the game, instead of your character being just
outright deleted, their body actually ends up somewhere.

<details>
<summary>Screenshots & Videos</summary>

https://github.com/cmss13-devs/cmss13/assets/91113370/a6df19dc-7f9f-4c8d-8169-2db1497b6c54

(It does play sounds when you land, you just cant really hear them in
this clip because they died.)

![image](https://github.com/cmss13-devs/cmss13/assets/91113370/b7f1bf66-fdce-4082-97c2-3fa841e168eb)

![image](https://github.com/cmss13-devs/cmss13/assets/91113370/f0819fea-4ac8-47b5-a012-f8ea12f08799)

https://github.com/cmss13-devs/cmss13/assets/91113370/f727b8f7-1df3-4725-bb82-f16dc8294eea

(Items do a little bounce when they land too)

</details>

:cl:
add: Falling out of a Dropship en route to an LZ, now lets your corpse
plummet to the ground instead of being deleted.
/:cl:

---------

Co-authored-by: private-tristan <[email protected]>
@Doubleumc
Copy link
Contributor Author

Good catch, and fixed!
image

Copy link
Contributor

@Drulikar Drulikar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let me know if anything else comes up and or you feel its been tested enough.

@Doubleumc
Copy link
Contributor Author

One full mission without any issues being noticed and I'll be satisfied.

@Doubleumc
Copy link
Contributor Author

Doubleumc commented Aug 4, 2024

I'm satisfied.

Those additional ports you mentioned earlier, did you intend to add those before or after this gets merged?

@Drulikar
Copy link
Contributor

Drulikar commented Aug 5, 2024

I'm satisfied.

Those additional ports you mentioned earlier, did you intend to add those before or after this gets merged?

Yes though some things have come up with my family and I need to move so I don't currently have time to do it this month or probably the next. If you want to take a stab at what I listed feel free, but those were the PRs that stood out to me that pve lacked and could use when diffing pve tgui folder against pvp's tgui folder.

@Drulikar Drulikar merged commit 90ef5a2 into cmss13-devs:master Aug 5, 2024
35 checks passed
cm13-github added a commit that referenced this pull request Aug 5, 2024
@Doubleumc Doubleumc deleted the port-tgui-part1 branch August 5, 2024 06:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs tested testmerge this to see what breaks UI
Projects
None yet
Development

Successfully merging this pull request may close these issues.