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

[MDB Ignore] [IDB Ignore] [MDB IGNORE] [IDB IGNORE] Upstream Merge, filter created digitigrade clothing sprites, some other stuff #405

Merged
merged 10,000 commits into from
Jan 28, 2024

Conversation

MrMelbert
Copy link
Owner

Upstream merges to like, January 14th (the branch name is a lie)

Maybe the last one? Who knows. Playing it fast and loose from here on.

Big things include Bitrunners! Very cool wow
More heretic paths, doesn't really apply but can for antag gimmicks.
Food causes disease if left on the floor, probably need to tweak that.
Security mech.
New quirks?

See here: https://github.com/tgstation/tgstation/pulls?page=1&q=is%3Apr+is%3Amerged+closed%3A%3E%3D2023-06-01+sort%3Acomments-desc

In other news:

I deleted all the outdated digitigrade sprites and added a system to use displacement maps for digitigrade clothing sprites. It's not perfect, the filters could use some fine tuning, but since I'm the only one who uses them it's my cross to bear.

comfyorange and others added 30 commits January 7, 2024 20:05
## About The Pull Request

This PR adds a component ~~`<LazyList/>`~~ `<VirtualList />` that defers
rendering its children until they scroll into view. In cases where you
have very long lists (air alarms with dozens of scrubbers/vents, the r&d
console techweb view, or the all recipes view on techfabs), this
**significantly** increases the load speed of those interfaces on first
open, and prevents hangs (and, in some cases with especially stupid
atmos setups, crashes).

There's still a bit of tidying up here, but any other pointers would be
nice. I opted for a `setInterval` over binding to `scroll`,
`mousewheel`, and `resize`, because it seems that IE isn't too good at
handling those. I also need to do some more fiddling with the techfab
anchors. Otherwise, for the moment, this vastly improves the UI load
performance of air alarms and techfabs, and the R&D console.

## Why It's Good For The Game

open UI faster
## Changelog
:cl:
refactor: some very large tgui lists (air alarms, all recipes techfab
view, techweb view) are loaded on-demand as you scroll, making them not
lag so hard
/:cl:
…0 times a life tick or something (#80842)

Heretic's weeping painting causes everyone who sees it to hallucinate
everyone else as heretics. So it caused this hallucination every 5 life
ticks.

Which means every 5 life ticks it would call GFI for every mob in view. 
And like everyone on the station would get this effect. 

So everyone on the station is now hallucinating every mob in view is a
heretic and it's calling GFI every time.

So yeah we should probably cache this.
## About The Pull Request

Fixes tgstation/tgstation#79954

Turns out the cause of cameras breaking was something weird with how
Byond determined the CENTER location for screen_locs on secondary popup
maps like cameras and the spyglass. This can be remedied by manually
using the LEFT,TOP position for the plane relays. However LEFT,TOP
breaks the views for clients 1614 and below so I included a jank
solution that should allow any client up to this point have the screen
displayed correctly

### 515.1609 views working

![dreamseeker_nolb8BLgRb](https://github.com/tgstation/tgstation/assets/46236974/e155c9c3-12c0-4eb5-a4a6-4e3f09dc456d)

### 515.1623 views working

![dreamseeker_I37Z4X04Hf](https://github.com/tgstation/tgstation/assets/46236974/e91b3bd8-ea05-40e7-ab20-6c48810f9879)
## Why It's Good For The Game

Cameras working passed 1614 means you can update the server. At some
point I suspect Lummox will fix the CENTER position on secondary maps
and when that happens it will likely break the current fix.


## Changelog
:cl:
fix: popup screen locs will work on clients >1614. Security cameras and
Spyglass will work
/:cl:

---------

Co-authored-by: SyncIt21 <[email protected]>
Co-authored-by: LemonInTheDark <[email protected]>
## About The Pull Request

Namely this. 


![image](https://github.com/tgstation/tgstation/assets/51863163/c6171a4e-afd3-4c07-8a96-1952ef76a3df)

## Changelog

:cl: Melbert
fix: Carps now migrate slightly better, probably. 
fix: And Poly now talks better, probably. 
/:cl:
## About The Pull Request
Caused by #80784. Component is using localstate as a global. This should
eventually be refactored
## Why It's Good For The Game
Fixes #80854 
## Changelog
:cl:
fix: Medical records console should be useable again
/:cl:
juke refuses to compile dm if it thinks nothing changed.

juke doesn't have a way to bypass this and force a given target to
compile (this is a complaint for another repo)

There are dm files inside of this folder that are compiled in.
## About The Pull Request

THEY PRODUCE IMAGES ANYWAY WE CAN JUST COPY THE MA

AHHHHHHHHHHH
… the pilot (#80844)

## About The Pull Request
Moves parent call for mech bullet_act() to after the enclosed and
occupant check, so that the rest of the proc has a chance to send the
damage to the pilot
## Why It's Good For The Game
Bugfix.
## Changelog
:cl:
fix: Ripley MK-Is and Paddys now correctly make incoming projectiles hit
the pilot again.
/:cl:
## About The Pull Request

Fixes unencoded announcements doing nothing because everything's
indented one tab in.

## Changelog

:cl: LT3
fix: Unencoded server admin announcements will now actually broadcast
/:cl:
…856)

## About The Pull Request

Fixes #80851 
Fixes #73622

Thanks to iprice for bringing this to attention and Isratosh for
assistance on Sybil.

This PR removes some (hopefully) redundant
if(!SSticker.HasRoundStarted()) checks which prevented roundstart mobs
from getting added to the living players list and pre-roundstart
observers from being added to the observers list.

This affected the ability for midround antagonists with a minimum
population requirement to spawn when they should have been able to,
pre-roundstart observers could not get polled for ghost roles, and some
other silliness regarding antagonists which considered the living
station population.

Nobody is really sure why this check was here in the first place outside
of some sanity check with an unknown purpose. The only thing it would
impact at one point was regal rats, but you can't play as regal rats
pre-roundstart anymore, and even then they should be counted amongst the
living players of the round, no? Since players can spawn in before
roundstart only with admin goofiness now, hopefully removing these
checks won't break anything.

## Why It's Good For The Game

This was preventing pretty much any midround antagonist from being
picked to spawn outside of Sleeper Agents in most cases. Also,
pre-roundstart observers should have access to midround antags and other
observer-related activies.

## Changelog

:cl:
fix: Dynamic midround rolls will properly consider roundstart players as
part of the living population again, allowing antagonists with a minimum
population value to spawn when they should be able to.
fix: Players who observe before roundstart can be considered for
midround ghost roles again.
fix: Some antagonists which had elements that scale with living station
population now function properly again.
/:cl:
## About The Pull Request

Human heretic monsters (like the husked ones) can now drink the heretic
reagent and heal from it like heretics can, rather than dying.

## Why It's Good For The Game

I assume it is unintentional that a reagent for heretics kills heretic
allies, especially when they can already do so much like using their
knives and even abilities.
It's noob bait at best since people will assume that since they are also
heretics, they would heal from the same sources as heretics do.

## Changelog

:cl:
fix: Eldritch reagent (the one that heals heretics) now heal heretic
monsters rather than kill them.
/:cl:
…n the mag like that doesn't make much sense. (#80796)

## About The Pull Request
So, the misfiring proc (`blow_up`) can trigger even when the shot is
aimed at oneself, which is what the proc does. It also tries to loop
through every loaded projetile in the magazine when you only need the
chambered round, which is the one we're going to fire anyway. It's...
just plain dumb and can freeze your game for a fair bit.

## Why It's Good For The Game

![immagine](https://github.com/tgstation/tgstation/assets/42542238/f449e6ac-6fc5-4677-b409-c0e67ad3c137)

## Changelog

:cl:
fix: Fixed misfiring for firearms like tinkered detective revolvers.
/:cl:
## About The Pull Request
This fixes an issue caused by a class component and a pseudo hook called
useState.
The screen works now.

It's also terribly overdue for a refactor, which I'm working on after
looking at it. As a general rule I think tgui interfaces should keep it
under 500 lines. This one is 1203. I want to fix it before I do anything
else to it for file diff reasons.
## Why It's Good For The Game
Fixes #80850
## Changelog
:cl:
admin: Fixed the bluescreen in the centcom pod launcher.
/:cl:
## About The Pull Request

I don't know when this happened or why but this makes the PTech vending
machine sell regular PDAs now instead of Command ones.

## Why It's Good For The Game

PDA replacement should not be giving you all of Command's tablet apps.

## Changelog

:cl:
fix: The HoP's cartridge vending machine now sells regular PDAs instead
of base command ones.
/:cl:
I found these 2 foods in the mexican section that requires a bowl to
craft the food, but doesn't drop the bowl upon being eaten. This quickly
fixes that by making the bowl the trash item like every other instance
of this.
## About The Pull Request
Okay so turns out, the only thing stopping the exterior sm chamber from
being shut down by a grid check are the filters being marked as
critical. There's SUPPOSED to be an area based check, but that wasn't
being set up properly, so it only protected a single area, no subtypes.

Beyond fixing the very rare case that the sm room becomes vulnerable
when the filters are removed/replaced, the atmos engine and ai sat foyer
are also now protected. AI upload is NOT protected.

Also, I don't believe it has any impact now that the area check is
working, but I've made sure that the canister filters are also marked as
critical- They were already on all but northstar and birdshot.

Fixes #80852
## Why It's Good For The Game
fix bug, throw insect into sm
## Changelog
:cl:
fix: Certain areas are now properly protected against grid check. Namely
the supermatter should consistently be protected.
/:cl:
## About The Pull Request

Fixes tgstation/tgstation#78739, caused by
broken logic in
`/datum/heretic_knowledge/codex_cicatrix/recipe_snowflake_check`.

This is my fix at
Monkestation/Monkestation2.0#881 ported
upstream.

## Why It's Good For The Game

Because it's very inconvenient when the game says you can use X to craft
Y, when in reality it doesn't work due to a bug.

## Changelog
:cl:
fix: Fixed the Codex Cicatrix always requiring a dead body, despite the
description saying leather or a hide would work too.
/:cl:
## About The Pull Request

Fixes Lionhunter Rifle being inaccessible to all paths but Rust and
Blade.

Fixes certain key lock knowledges being inverted. 

## Changelog

:cl: Melbert
fix: Lionhunter Rifle is now available at the same point as Mawed
Crucible, making it available to all paths again.
fix: Lock knowledge now goes the correct order. Mark -> Ritual -> Unique
item, rather than backwards.
/:cl:
…r own module storage window (#80835)

<!-- 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
Adds a check against picking up objects with a `loc` of
`/obj/item/robot_model` (which is where inactive borg modules go). Also
adds a check against picking up nodrop items.

Also reorganizes the relevant proc to be IF > Early Return, rather than
IF/ELSE
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Why It's Good For The Game
Fixes #80074
Probably also fixes #77156
<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

## 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. -->

:cl:
fix: The various borg apparatuses can no longer pick up other internal
borg tools.
/:cl:

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: 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. -->
## About The Pull Request

Adds several very-long or obtuse typepaths into the fancytype menu. 

Including, but not limited to: 

- Jumpsuit, so you can type `spawn Jumpsuit`

![image](https://github.com/tgstation/tgstation/assets/51863163/9a38f788-b724-4e72-8754-471b15afc38d)

- Modsuit, so you can type `spawn Modsuit`

![image](https://github.com/tgstation/tgstation/assets/51863163/8a333ca0-991d-4953-b523-f7d47b33c467)

- And Medipens, so you can actually see what medipens you are spawning

![image](https://github.com/tgstation/tgstation/assets/51863163/f4a89353-b0ca-4fe6-805b-878c49dcbd9f)

## Changelog

:cl: Melbert
admin: Several types are now more accessible via the "spawn" verb (and
friends), meaning you can type 'Spawn" Modsuit' or 'Spawn "Jumpsuit' in
the command bar and it'll just give you a list of modsuits or jumpsuits
to pick from.
/:cl:
## About The Pull Request
No need to create a separate var called `contents_icon_state` when we
already have `base_icon_state`. Save some memory from creating an extra
var

## Changelog
:cl:
code: smart fridge content overlay now uses `base_icon_state` instead of
a separate var
/:cl:
…0824)

## About The Pull Request
- Fixes #80806

Was a problem with microwaves in general & not just with the wireless
version.


## Changelog
:cl:
fix: ejecting cells from microwaves via ctrl click now requires player
proximity.
/:cl:
@MrMelbert MrMelbert added the Upstream Merge That time of the month. Cry at the CI failures label Jan 26, 2024
@CRITAWAKETS
Copy link
Contributor

you forgot the biggest and baddest change out there, this also switches from 514 to 515, which is neat and has some implications for server performance.

@github-actions github-actions bot added the Merge Conflict Resolve it or perish label Jan 28, 2024
@MrMelbert MrMelbert removed the Merge Conflict Resolve it or perish label Jan 28, 2024
@MrMelbert MrMelbert merged commit 5ae5cb5 into master Jan 28, 2024
23 checks passed
@MrMelbert MrMelbert deleted the merge_to_dec_8_2023 branch January 28, 2024 02:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Upstream Merge That time of the month. Cry at the CI failures
Projects
None yet
Development

Successfully merging this pull request may close these issues.