Commit Graph

46 Commits

Author SHA1 Message Date
nevimer 6e9f2ccfc0 Merge remote-tracking branch 'tgstation/master' into upstream-12-15
# Conflicts:
#	.github/workflows/compile_all_maps.yml
#	.github/workflows/run_integration_tests.yml
#	_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm
#	code/_onclick/hud/credits.dm
#	code/controllers/subsystem/networks/id_access.dm
#	code/datums/diseases/advance/advance.dm
#	code/datums/diseases/advance/symptoms/heal.dm
#	code/game/machinery/doors/door.dm
#	code/game/objects/structures/crates_lockers/closets/secure/medical.dm
#	code/game/objects/structures/crates_lockers/closets/secure/security.dm
#	code/modules/antagonists/malf_ai/malf_ai_modules.dm
#	code/modules/jobs/job_types/_job.dm
#	code/modules/loadout/categories/accessories.dm
#	code/modules/loadout/loadout_helpers.dm
#	code/modules/loadout/loadout_items.dm
#	code/modules/loadout/loadout_preference.dm
#	code/modules/mob/living/silicon/robot/robot_defense.dm
#	code/modules/mod/mod_theme.dm
#	code/modules/projectiles/ammunition/energy/laser.dm
#	code/modules/reagents/reagent_containers/cups/drinks.dm
#	code/modules/shuttle/mobile_port/variants/supply.dm
#	code/modules/surgery/organs/internal/eyes/_eyes.dm
#	code/modules/unit_tests/screenshots/screenshot_antag_icons_heretic.png
#	icons/hud/screen_full.dmi
2025-12-15 18:12:29 -05:00
san7890 bbd0e070a3 Adds In-Game Link To Server Config (#94371)
## About The Pull Request

On the tin, just adds a link to
https://github.com/tgstation-operations/server-config to the game so
people are a little bit more aware of it.

Here's how it looks:

<img width="1386" height="275" alt="image"
src="https://github.com/user-attachments/assets/63d2d284-6d5f-4f41-ba80-abc33699f7c5"
/>

## Why It's Good For The Game

More visibility to a public resource, this wasn't feasible before the
present situation. It won't show up here unless the config variable is
set.
## Changelog
🆑
config: If you publicly host a copy of your server's config, you may now
link to the public URL in the 'CONFIGURL' setting in the server config.
It will show to players in the Escape Menu's Resources Carousel.
/🆑
2025-12-13 20:52:36 -05:00
Return 026c8327e7 Fixes various Skyrat/Bubbers runtimes (#4633)
## About The Pull Request
This PR fixes runtimes in various parts of Bubber/Skyrat code

Fixes the employment contract so that it doesn't return in the absence
of an employee or mind

The Akula mood event proc checks if an Akula is present

Operating tables no longer runtime if there is no table present

Nanotrasen Consultant no longer fails to set intern time threshold
because it has no department head

The Leave Body page of the escape menu no longer errors out when
selecting it

## Why It's Good For The Game
Less unnecessary runtimes in code, no player facing changes

## Proof Of Testing
It compiles. I've tested the Leave Body Page and Operating tables
changes to make sure they no longer runtime

## Changelog

🆑 ReturnToZender
/🆑
2025-09-12 09:11:28 -04:00
nevimer b348b617a3 Merge branch 'master' of https://github.com/tgstation/tgstation into pupstream-2025-09-07
# Conflicts:
#	README.md
#	code/__DEFINES/admin.dm
#	code/__DEFINES/melee.dm
#	code/_globalvars/traits/_traits.dm
#	code/controllers/subsystem/economy.dm
#	code/datums/components/crafting/crafting.dm
#	code/datums/elements/crusher_loot.dm
#	code/modules/antagonists/pirate/pirate_shuttle_equipment.dm
#	code/modules/clothing/suits/_suits.dm
#	code/modules/escape_menu/leave_body.dm
#	code/modules/jobs/job_types/_job.dm
#	code/modules/mining/equipment/mineral_scanner.dm
#	code/modules/mob/living/living.dm
#	code/modules/plumbing/plumbers/pill_press.dm
#	tgui/packages/tgui/interfaces/Vending.tsx
2025-09-07 00:37:52 -04:00
nevimer db5aa35b59 Fix build issues related to upstream pull 2025-09-03 20:27:07 -04:00
John Willard 417a14e878 Fixes esc menu for non widescreen users (#92670)
## About The Pull Request

I was originally gonna remove non-widescreen but decided against it, so
here's a fix for non-widescreen users to use the escape menu.


https://github.com/user-attachments/assets/ac92e346-efd0-4ac3-962b-667e8c8a0f54

## Why It's Good For The Game

This is for the players who play ss13 on their outdated library
computers.

## Changelog

🆑
fix: The escape menu now works for non-widescreen users.
/🆑
2025-08-24 23:23:01 +02:00
nevimer 99be7d565e Merge branch 'master' of https://github.com/tgstation/tgstation into pupstream-08-19
# Conflicts:
#	.github/CODEOWNERS
#	.github/CONTRIBUTING.md
#	.github/workflows/auto_changelog.yml
#	.github/workflows/compile_all_maps.yml
#	.github/workflows/compile_changelogs.yml
#	.github/workflows/gbp.yml
#	.github/workflows/gbp_collect.yml
#	.github/workflows/stale.yml
#	README.md
#	SQL/database_changelog.md
#	_maps/_basemap.dm
#	_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm
#	_maps/map_files/KiloStation/KiloStation.dmm
#	_maps/wawastation.json
#	code/__DEFINES/combat.dm
#	code/__DEFINES/icon_smoothing.dm
#	code/__DEFINES/inventory.dm
#	code/__DEFINES/mobs.dm
#	code/__DEFINES/subsystems.dm
#	code/__DEFINES/surgery.dm
#	code/__HELPERS/roundend.dm
#	code/_globalvars/bitfields.dm
#	code/_globalvars/lists/mobs.dm
#	code/_globalvars/traits/_traits.dm
#	code/_globalvars/traits/admin_tooling.dm
#	code/_onclick/hud/hud.dm
#	code/_onclick/hud/human.dm
#	code/_onclick/hud/screen_objects.dm
#	code/controllers/subsystem/processing/quirks.dm
#	code/controllers/subsystem/sprite_accessories.dm
#	code/controllers/subsystem/statpanel.dm
#	code/controllers/subsystem/ticker.dm
#	code/datums/brain_damage/creepy_trauma.dm
#	code/datums/browser.dm
#	code/datums/components/crafting/crafting.dm
#	code/datums/components/echolocation.dm
#	code/datums/components/leanable.dm
#	code/datums/dna/blocks/dna_features_block.dm
#	code/datums/dna/dna.dm
#	code/datums/emotes.dm
#	code/datums/map_config.dm
#	code/datums/mutations/_mutations.dm
#	code/datums/mutations/chameleon.dm
#	code/datums/quirks/negative_quirks/allergic.dm
#	code/datums/records/manifest.dm
#	code/datums/ruins/icemoon.dm
#	code/datums/station_traits/_station_trait.dm
#	code/datums/station_traits/job_traits.dm
#	code/datums/station_traits/neutral_traits.dm
#	code/datums/status_effects/debuffs/dna_transformation.dm
#	code/datums/storage/storage.dm
#	code/datums/storage/subtypes/bags.dm
#	code/datums/storage/subtypes/belts.dm
#	code/datums/storage/subtypes/others/misc.dm
#	code/datums/storage/subtypes/pockets.dm
#	code/datums/weather/weather.dm
#	code/datums/weather/weather_types/ash_storm.dm
#	code/game/data_huds.dm
#	code/game/gamemodes/objective.dm
#	code/game/machinery/computer/communications.dm
#	code/game/machinery/computer/dna_console.dm
#	code/game/machinery/computer/orders/order_computer/mining_order.dm
#	code/game/machinery/computer/records/medical.dm
#	code/game/machinery/dish_drive.dm
#	code/game/machinery/dna_infuser/organ_sets/fox_organs.dm
#	code/game/machinery/doors/airlock.dm
#	code/game/machinery/doors/firedoor.dm
#	code/game/machinery/requests_console.dm
#	code/game/objects/effects/decals/cleanable/blood.dm
#	code/game/objects/items/climbingrope.dm
#	code/game/objects/items/devices/scanners/health_analyzer.dm
#	code/game/objects/items/dualsaber.dm
#	code/game/objects/items/stacks/sheets/sheet_types.dm
#	code/game/objects/items/storage/backpack.dm
#	code/game/objects/items/storage/belt.dm
#	code/game/objects/items/storage/boxes/clothes_boxes.dm
#	code/game/objects/items/storage/dufflebags.dm
#	code/game/objects/items/storage/medkit.dm
#	code/game/objects/items/storage/toolboxes/weapons.dm
#	code/game/objects/items/surgery_tray.dm
#	code/game/objects/items/tools/painter/paintable_decals.dm
#	code/game/objects/structures/crates_lockers/closets/utility_closets.dm
#	code/game/objects/structures/girders.dm
#	code/game/objects/structures/kitchen_spike.dm
#	code/game/objects/structures/mirror.dm
#	code/game/objects/structures/tables_racks.dm
#	code/game/sound/sound.dm
#	code/game/world.dm
#	code/modules/admin/admin.dm
#	code/modules/admin/create_mob.dm
#	code/modules/admin/topic.dm
#	code/modules/admin/verbs/admingame.dm
#	code/modules/admin/verbs/ert.dm
#	code/modules/antagonists/brother/brother.dm
#	code/modules/antagonists/cult/cult_armor.dm
#	code/modules/antagonists/fugitive/hunters/hunter.dm
#	code/modules/antagonists/space_ninja/space_ninja.dm
#	code/modules/antagonists/wizard/equipment/spellbook_entries/summons.dm
#	code/modules/client/preferences.dm
#	code/modules/client/preferences/language.dm
#	code/modules/client/preferences/middleware/_middleware.dm
#	code/modules/client/preferences/species_features/moth.dm
#	code/modules/client/preferences/species_features/mushperson.dm
#	code/modules/client/preferences/species_features/pod.dm
#	code/modules/client/preferences_savefile.dm
#	code/modules/clothing/head/hat.dm
#	code/modules/clothing/shoes/boots.dm
#	code/modules/clothing/shoes/sneakers.dm
#	code/modules/clothing/suits/utility.dm
#	code/modules/clothing/under/color.dm
#	code/modules/clothing/under/jobs/security.dm
#	code/modules/escape_menu/leave_body.dm
#	code/modules/hydroponics/grown/replicapod.dm
#	code/modules/jobs/job_types/chaplain/chaplain_nullrod.dm
#	code/modules/jobs/job_types/cyborg.dm
#	code/modules/loadout/categories/pocket.dm
#	code/modules/mapfluff/ruins/spaceruin_code/hilbertshotel.dm
#	code/modules/mining/lavaland/mining_loot/megafauna/ash_drake.dm
#	code/modules/mob/dead/dead.dm
#	code/modules/mob/living/blood.dm
#	code/modules/mob/living/blood_types.dm
#	code/modules/mob/living/carbon/carbon.dm
#	code/modules/mob/living/carbon/examine.dm
#	code/modules/mob/living/carbon/human/_species.dm
#	code/modules/mob/living/carbon/human/dummy.dm
#	code/modules/mob/living/carbon/human/human.dm
#	code/modules/mob/living/carbon/human/human_defense.dm
#	code/modules/mob/living/carbon/human/human_update_icons.dm
#	code/modules/mob/living/carbon/human/inventory.dm
#	code/modules/mob/living/carbon/human/species_types/felinid.dm
#	code/modules/mob/living/carbon/human/species_types/mothmen.dm
#	code/modules/mob/living/carbon/human/species_types/mushpeople.dm
#	code/modules/mob/living/living.dm
#	code/modules/mob/living/living_item_handling.dm
#	code/modules/mob/living/silicon/ai/ai_say.dm
#	code/modules/mob/living/silicon/robot/examine.dm
#	code/modules/mob/living/silicon/robot/robot.dm
#	code/modules/mob/living/silicon/robot/robot_model.dm
#	code/modules/mob/mob_say.dm
#	code/modules/mod/mod_activation.dm
#	code/modules/mod/modules/_module.dm
#	code/modules/modular_computers/computers/item/computer.dm
#	code/modules/power/smes.dm
#	code/modules/projectiles/gun.dm
#	code/modules/reagents/chemistry/holder/mob_life.dm
#	code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm
#	code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.dm
#	code/modules/reagents/chemistry/reagents/medicine_reagents.dm
#	code/modules/religion/honorbound/honorbound_rites.dm
#	code/modules/shuttle/mobile_port/shuttle_move_callbacks.dm
#	code/modules/surgery/bodyparts/_bodyparts.dm
#	code/modules/surgery/bodyparts/head_hair_and_lips.dm
#	code/modules/surgery/organs/external/_visual_organs.dm
#	code/modules/surgery/organs/external/spines.dm
#	code/modules/surgery/organs/external/tails.dm
#	code/modules/surgery/organs/external/wings/moth_wings.dm
#	code/modules/surgery/organs/internal/ears/_ears.dm
#	code/modules/surgery/organs/internal/eyes/_eyes.dm
#	code/modules/surgery/surgery_step.dm
#	code/modules/tooltip/tooltip.html
#	code/modules/unit_tests/changeling.dm
#	code/modules/unit_tests/designs.dm
#	code/modules/unit_tests/screenshot_humanoids.dm
#	code/modules/unit_tests/screenshots/screenshot_airlocks_icons.png
#	code/modules/unit_tests/screenshots/screenshot_antag_icons_blobinfection.png
#	code/modules/unit_tests/screenshots/screenshot_antag_icons_bloodbrother.png
#	code/modules/unit_tests/screenshots/screenshot_antag_icons_obsessed.png
#	code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_human.png
#	code/modules/unit_tests/screenshots/screenshot_husk_body.png
#	code/modules/unit_tests/simple_animal_freeze.dm
#	code/modules/vending/medical.dm
#	code/modules/vending/sovietsoda.dm
#	config/dynamic.toml
#	config/maps.txt
#	config/spaceruinblacklist.txt
#	icons/map_icons/clothing/_clothing.dmi
#	icons/map_icons/clothing/head/_head.dmi
#	icons/map_icons/clothing/head/beret.dmi
#	icons/map_icons/clothing/mask.dmi
#	icons/map_icons/clothing/neck.dmi
#	icons/map_icons/clothing/shoes.dmi
#	icons/map_icons/clothing/suit/_suit.dmi
#	icons/map_icons/clothing/under/_under.dmi
#	icons/map_icons/clothing/under/costume.dmi
#	icons/map_icons/clothing/under/dress.dmi
#	icons/map_icons/items/_item.dmi
#	icons/map_icons/items/encryptionkey.dmi
#	icons/map_icons/items/pda.dmi
#	icons/map_icons/objects.dmi
#	interface/skin.dmf
#	modular_zubbers/code/modules/storyteller/event_defines/ghostset/alien_infestation.dm
#	modular_zubbers/code/modules/storyteller/event_defines/ghostset/changeling.dm
#	modular_zubbers/code/modules/storyteller/event_defines/ghostset/nightmare.dm
#	modular_zubbers/code/modules/storyteller/event_defines/ghostset/space_dragon.dm
#	modular_zubbers/code/modules/storyteller/event_defines/ghostset/space_ninja.dm
#	modular_zubbers/code/modules/storyteller/event_defines/ghostset/spider_infestation.dm
#	modular_zubbers/code/modules/storyteller/event_defines/major/abductor.dm
#	modular_zubbers/code/modules/storyteller/event_defines/major/blob.dm
#	modular_zubbers/code/modules/storyteller/event_defines/major/fugitives.dm
#	modular_zubbers/code/modules/storyteller/event_defines/major/morph.dm
#	modular_zubbers/code/modules/storyteller/event_defines/major/pirates.dm
#	modular_zubbers/code/modules/storyteller/event_defines/major/revenant.dm
#	modular_zubbers/code/modules/storyteller/event_defines/major/slaughter.dm
#	strings/pirates.json
#	strings/traumas.json
#	tgui/packages/tgfont/icons/nanotrasen_logo.svg
#	tgui/packages/tgfont/icons/syndicate_logo.svg
#	tgui/packages/tgui/index.tsx
#	tgui/packages/tgui/interfaces/AntagInfoBlob.tsx
#	tgui/packages/tgui/interfaces/AntagInfoGeneric.tsx
#	tgui/packages/tgui/interfaces/AntagInfoTraitor.tsx
#	tgui/packages/tgui/interfaces/Orbit/JobIcon.tsx
#	tgui/packages/tgui/interfaces/PersonalCrafting/constants.ts
#	tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/MainPage.tsx
#	tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/QuirksPage.tsx
#	tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/index.tsx
#	tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/loadout/ItemDisplay.tsx
#	tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/loadout/base.ts
#	tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/loadout/index.tsx
#	tgui/packages/tgui/interfaces/Vending.tsx
#	tgui/packages/tgui/interfaces/VotePanel.tsx
#	tgui/packages/tgui/styles/interfaces/NtosMessenger.scss
#	tgui/packages/tgui/styles/interfaces/PreferencesMenu.scss
#	tgui/packages/tgui/styles/main.scss
#	tools/ci/copy_build_output.sh
#	tools/maplint/lints/window_spawner.yml
#	tools/pull_request_hooks/autoChangelog.js
2025-08-19 23:36:21 -04:00
Roxy 0b1b461d85 Fix hard deletes related to escape menu (#92129)
## About The Pull Request

`resource_panels` is only emptied if the user collapses the panel by
clicking the expand button again, if they just close the escape menu
with it expanded then refs to all the buttons linger and hard delete

## Why It's Good For The Game

Fix for several hard deletes
```
RUNTIME: ## TESTING: GC: -- [0x2002d13] | /atom/movable/screen/escape_menu/lobby_button/small/collapsible was unable to be GC'd -- (ref count of 3)
RUNTIME: ## TESTING: GC: -- [0x2002259] | /atom/movable/screen/escape_menu/lobby_button/small/collapsible was unable to be GC'd -- (ref count of 3)
RUNTIME: ## TESTING: GC: -- [0x2002414] | /atom/movable/screen/escape_menu/lobby_button/small/collapsible was unable to be GC'd -- (ref count of 3)
RUNTIME: ## TESTING: GC: -- [0x2001e36] | /atom/movable/screen/escape_menu/lobby_button/small/collapsible was unable to be GC'd -- (ref count of 3)
RUNTIME: ## TESTING: GC: -- [0x2007b3b] | /atom/movable/screen/escape_menu/lobby_button/small/collapsible was unable to be GC'd -- (ref count of 3)
RUNTIME: ## TESTING: GC: -- [0x200216d] | /atom/movable/screen/escape_menu/lobby_button/small/collapsible was unable to be GC'd -- (ref count of 3)
```

## Changelog

N/A
2025-07-19 20:29:24 -04:00
Roxy c1ac3dcf8c Fix hard deletes related to escape menu (#92129)
## About The Pull Request

`resource_panels` is only emptied if the user collapses the panel by
clicking the expand button again, if they just close the escape menu
with it expanded then refs to all the buttons linger and hard delete

## Why It's Good For The Game

Fix for several hard deletes
```
RUNTIME: ## TESTING: GC: -- [0x2002d13] | /atom/movable/screen/escape_menu/lobby_button/small/collapsible was unable to be GC'd -- (ref count of 3)
RUNTIME: ## TESTING: GC: -- [0x2002259] | /atom/movable/screen/escape_menu/lobby_button/small/collapsible was unable to be GC'd -- (ref count of 3)
RUNTIME: ## TESTING: GC: -- [0x2002414] | /atom/movable/screen/escape_menu/lobby_button/small/collapsible was unable to be GC'd -- (ref count of 3)
RUNTIME: ## TESTING: GC: -- [0x2001e36] | /atom/movable/screen/escape_menu/lobby_button/small/collapsible was unable to be GC'd -- (ref count of 3)
RUNTIME: ## TESTING: GC: -- [0x2007b3b] | /atom/movable/screen/escape_menu/lobby_button/small/collapsible was unable to be GC'd -- (ref count of 3)
RUNTIME: ## TESTING: GC: -- [0x200216d] | /atom/movable/screen/escape_menu/lobby_button/small/collapsible was unable to be GC'd -- (ref count of 3)
```

## Changelog

N/A
2025-07-14 16:50:37 -06:00
SmArtKar 0712d9870c Planecube Optimizations and Job Security: Part One (#91696)
## About The Pull Request

This is an atomized revival of #82419, with this part containing the
simplest of its features:
- Fixes AO pref refreshing the wrong plane, thus not updating until you
swap bodies
- Removes supermatter's copypasted warp effect
- Culls distortion effects when they're not in use because its a chonky
filter
- Hides the escape menu when its, well, hidden
- Fixes hide_highest_offset not working upon parent's creation (we're so
good at our jobs hell yeah)
- Replaces runechat's AO dropshadow with an outline, because its barely
visible due to low opacity.

## Why It's Good For The Game

Our rendering performance is shit and we need to improve it, and the
first step in this task is optimizing planecube's simplest parts. The
next step is conditional culling, better non-multiz handling and
parallax rework/removal, but all of those need to be atomized as to
prevent the PR from sharing the fate of the original.

## Changelog
🆑
fix: Ambient Occlusion pref should now update immediately upon being
changed, instead of having to swap bodies or waiting for server restart
to get it updated.
code: Slightly improved rendering code/performance just a tiny bit.
/🆑
2025-06-21 22:21:57 -04:00
SmArtKar 1e0668802c Planecube Optimizations and Job Security: Part One (#91696)
## About The Pull Request

This is an atomized revival of #82419, with this part containing the
simplest of its features:
- Fixes AO pref refreshing the wrong plane, thus not updating until you
swap bodies
- Removes supermatter's copypasted warp effect
- Culls distortion effects when they're not in use because its a chonky
filter
- Hides the escape menu when its, well, hidden
- Fixes hide_highest_offset not working upon parent's creation (we're so
good at our jobs hell yeah)
- Replaces runechat's AO dropshadow with an outline, because its barely
visible due to low opacity.

## Why It's Good For The Game

Our rendering performance is shit and we need to improve it, and the
first step in this task is optimizing planecube's simplest parts. The
next step is conditional culling, better non-multiz handling and
parallax rework/removal, but all of those need to be atomized as to
prevent the PR from sharing the fate of the original.

## Changelog
🆑
fix: Ambient Occlusion pref should now update immediately upon being
changed, instead of having to swap bodies or waiting for server restart
to get it updated.
code: Slightly improved rendering code/performance just a tiny bit.
/🆑
2025-06-18 21:00:23 -07:00
John Willard 09fb7bf956 new escape menu UI (Again) (#91424)
## About The Pull Request

Currently in the escape menu we have
``/atom/movable/screen/escape_menu/home_button`` (not to be confused
with ``/atom/movable/screen/escape_menu/lobby_button`` which is an
entirely separate thing) which itself contains a
``/atom/movable/screen/escape_menu/home_button_text`` that holds the
maptext displayed to players.

This is a little confusing and convoluted for nothing, so let's simplify
it a bit
``/atom/movable/screen/escape_menu/text`` for text
``/atom/movable/screen/escape_menu/text/clickable`` for clickable text
``/atom/movable/screen/escape_menu/lobby_button`` for buttons

This also fixes issues with maptext height/width, which was causing me
issues when I was adding a player list button (not in this PR). This
hopes to make adding things to the escape menu easier in the future.

Slightly different offsets for UI buttons now, too


![image](https://github.com/user-attachments/assets/9e47aa92-3ab2-4b1a-a3a5-17e75441dd04)

## Why It's Good For The Game

Easier to understand code for escape menu, making it easier to
contribute to, and helps mitigate future issues with maptext.

## Changelog

🆑
code: The escape menu has a slightly different UI, again.
/🆑
2025-06-15 15:52:38 -04:00
John Willard 4d86398985 new escape menu UI (Again) (#91424)
## About The Pull Request

Currently in the escape menu we have
``/atom/movable/screen/escape_menu/home_button`` (not to be confused
with ``/atom/movable/screen/escape_menu/lobby_button`` which is an
entirely separate thing) which itself contains a
``/atom/movable/screen/escape_menu/home_button_text`` that holds the
maptext displayed to players.

This is a little confusing and convoluted for nothing, so let's simplify
it a bit
``/atom/movable/screen/escape_menu/text`` for text
``/atom/movable/screen/escape_menu/text/clickable`` for clickable text
``/atom/movable/screen/escape_menu/lobby_button`` for buttons

This also fixes issues with maptext height/width, which was causing me
issues when I was adding a player list button (not in this PR). This
hopes to make adding things to the escape menu easier in the future.

Slightly different offsets for UI buttons now, too


![image](https://github.com/user-attachments/assets/9e47aa92-3ab2-4b1a-a3a5-17e75441dd04)

## Why It's Good For The Game

Easier to understand code for escape menu, making it easier to
contribute to, and helps mitigate future issues with maptext.

## Changelog

🆑
code: The escape menu has a slightly different UI, again.
/🆑
2025-06-08 16:19:52 +00:00
John Willard ac94a14822 Escape menu improvements (#91397)
Removes the blur of the escape menu so players can sorta see what's
going on in their game while going through, so they can react in case
something's happening while they're in menu.
Changes the font of the escape menu so it's no longer the LISA font
Makes the title only show up on the home menu, so being on the suicide
panel wont show you "another day on space station 13".
Moves the 'back' button on the suicide menu to the top left.

![image](https://github.com/user-attachments/assets/4d527059-38ab-4330-9e8c-f373e0942777)

![image](https://github.com/user-attachments/assets/23f0f230-f901-480d-9426-9ca8f33493f9)

This hopes to make the escape menu a little more easy to go through,
removing some obstruction of your game's screen so you can see what's
happening around you, and give a little generic part of submenus in case
we add more (which I do have at least one planned).

🆑
qol: The escape menu no longer blurs the game in the background.
qol: The escape menu now has a more readable font, and the escape menu's
back button is now smaller and in the corner.
/🆑
2025-06-05 19:50:34 -04:00
John Willard c5d84a2b20 Moves info buttons to the Escape menu (#91234)
This is my second contribution to the move towards removing the stat
panel (first one being https://github.com/tgstation/tgstation/pull/90572
)

This moves the info buttons at the top right of the game's screen
(Changelog, Rules, Wiki, etc) to the Escape menu, except for Fullscreen
which is now a pref instead. This means you can set Fullscreen to be on
permanently and every launch will automatically fullscreen you (the
viewport will be a little off because it only fixes it once
initialization is complete). This follows through rounds and auto
updates if you set your game to fullscreen with the OOC button or F11,
so players will learn about the pref after playing a round with
fullscreen enabled.

What the game now looks like

be a newscaster

https://github.com/user-attachments/assets/7871a226-1e0b-410d-a690-88f3616bebb0

This is something I wanted to do since the Esc menu was added but just
never got around to it, but here it is.

These buttons don't warrant being in the player's face 24/7 and since
we've want to remove the stat panel and this has to be somewhere, I
thought it would be a better fit in the Escape menu. It helps make the
Esc menu the tool players use to access their OOC tools and overall I
think improves the appearance of the game's screen to something more
like an actual game would look like, especially when our comparison is
SS14.

🆑
qol: Info buttons previously at the top right of your screen (Changelog,
wiki, forums) is now in the Escape menu.
qol: Fullscreen is now a preferences and will follow you through rounds.
/🆑
2025-06-05 18:49:10 -04:00
John Willard 7d7f284d82 Escape menu improvements (#91397)
## About The Pull Request

Removes the blur of the escape menu so players can sorta see what's
going on in their game while going through, so they can react in case
something's happening while they're in menu.
Changes the font of the escape menu so it's no longer the LISA font
Makes the title only show up on the home menu, so being on the suicide
panel wont show you "another day on space station 13".
Moves the 'back' button on the suicide menu to the top left.


![image](https://github.com/user-attachments/assets/4d527059-38ab-4330-9e8c-f373e0942777)

![image](https://github.com/user-attachments/assets/23f0f230-f901-480d-9426-9ca8f33493f9)

## Why It's Good For The Game

This hopes to make the escape menu a little more easy to go through,
removing some obstruction of your game's screen so you can see what's
happening around you, and give a little generic part of submenus in case
we add more (which I do have at least one planned).

## Changelog

🆑
qol: The escape menu no longer blurs the game in the background.
qol: The escape menu now has a more readable font, and the escape menu's
back button is now smaller and in the corner.
/🆑
2025-05-31 19:12:05 -07:00
John Willard 793853a2d4 Moves info buttons to the Escape menu (#91234)
## About The Pull Request

This is my second contribution to the move towards removing the stat
panel (first one being https://github.com/tgstation/tgstation/pull/90572
)

This moves the info buttons at the top right of the game's screen
(Changelog, Rules, Wiki, etc) to the Escape menu, except for Fullscreen
which is now a pref instead. This means you can set Fullscreen to be on
permanently and every launch will automatically fullscreen you (the
viewport will be a little off because it only fixes it once
initialization is complete). This follows through rounds and auto
updates if you set your game to fullscreen with the OOC button or F11,
so players will learn about the pref after playing a round with
fullscreen enabled.

What the game now looks like

##### Alt ideas for sprites: Changelog can be a newspaper and Forums can
be a newscaster


https://github.com/user-attachments/assets/7871a226-1e0b-410d-a690-88f3616bebb0

This is something I wanted to do since the Esc menu was added but just
never got around to it, but here it is.

## Why It's Good For The Game

These buttons don't warrant being in the player's face 24/7 and since
we've want to remove the stat panel and this has to be somewhere, I
thought it would be a better fit in the Escape menu. It helps make the
Esc menu the tool players use to access their OOC tools and overall I
think improves the appearance of the game's screen to something more
like an actual game would look like, especially when our comparison is
SS14.

## Changelog

🆑
qol: Info buttons previously at the top right of your screen (Changelog,
wiki, forums) is now in the Escape menu.
qol: Fullscreen is now a preferences and will follow you through rounds.
/🆑
2025-05-29 18:25:33 -07:00
John Willard ea28a87ca8 Adds map feedback thread support (AI stat panel buff) (#90506)
This PR started with the idea of adding support for map feedback
threads, which I added to the roundend report, escape menu, and stat
panel. To do this though I had to make pretty annoying changes to the
stat panel and had to touch every single time something to the stat
panel was added, so since we now have a way to have links in the stat
panel I thought of taking full advantage of it and add some QOL.

AIs can now track their borgs by clicking their status on the stat panel

https://github.com/user-attachments/assets/1789dc46-5d12-48e9-bb8d-d3278aa19639

With Melbert's comment, I added another stat panel entry that directs
you to the Webmap page, which currently seems to be a little messed up
(https://github.com/AffectedArc07/SS13WebMap/issues/41 &
https://github.com/AffectedArc07/SS13WebMap/issues/42) but if they get
fixed this would be a swag asf feature

Feedback threads was a suggestion from a player and is fully in control
of admins as an optional thing, and while we still have stat panel I
think it's nice to be able to take advantage of its features.

🆑
admin: Admins can now link a URL for maps, used to give feedback on said
maps. Accessible through the roundend report, escape menu, and stat
panel.
qol: AIs can track their borgs by clicking on them in the stat panel.
qol: You can now directly go to the webmap of maps from the stat panel
(assuming it's set in config).
/🆑
2025-04-29 18:21:47 -06:00
John Willard 380c143431 Adds map feedback thread support (AI stat panel buff) (#90506)
## About The Pull Request

This PR started with the idea of adding support for map feedback
threads, which I added to the roundend report, escape menu, and stat
panel. To do this though I had to make pretty annoying changes to the
stat panel and had to touch every single time something to the stat
panel was added, so since we now have a way to have links in the stat
panel I thought of taking full advantage of it and add some QOL.

AIs can now track their borgs by clicking their status on the stat panel


https://github.com/user-attachments/assets/1789dc46-5d12-48e9-bb8d-d3278aa19639

With Melbert's comment, I added another stat panel entry that directs
you to the Webmap page, which currently seems to be a little messed up
(https://github.com/AffectedArc07/SS13WebMap/issues/41 &
https://github.com/AffectedArc07/SS13WebMap/issues/42) but if they get
fixed this would be a swag asf feature

##### Code bounty for Ezel/Improvedname

## Why It's Good For The Game

Feedback threads was a suggestion from a player and is fully in control
of admins as an optional thing, and while we still have stat panel I
think it's nice to be able to take advantage of its features.

## Changelog

🆑
admin: Admins can now link a URL for maps, used to give feedback on said
maps. Accessible through the roundend report, escape menu, and stat
panel.
qol: AIs can track their borgs by clicking on them in the stat panel.
qol: You can now directly go to the webmap of maps from the stat panel
(assuming it's set in config).
/🆑
2025-04-21 17:20:41 -07:00
Waterpig 753d8e5ba4 Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-25-04a 2025-04-08 18:58:45 +02:00
MichiRecRoom a9a3186a24 Escape menu buttons now actually take a hud_owner (#89878) 2025-03-12 04:55:34 -04:00
Majkl-J b6b8306fda Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-25-02a 2025-02-20 00:00:19 -08:00
SmArtKar 112a27066e Shifts the escape menu stat panel down a bit (#88319)
## About The Pull Request

![image](https://github.com/user-attachments/assets/e90e5fda-5305-430b-89a8-d92e3b82b599)

Escape menu details no longer hug the top border of the screen.

## Why It's Good For The Game

This has been triggering my OCD for months.

## Changelog
🆑
qol: Shifted the escape menu stat panel down a bit
/🆑
2024-12-04 01:33:27 +01:00
SmArtKar c46533f3cd Fixes "Leave Body" escape menu tab runtiming (#88307)
## About The Pull Request
Improper tags were being passed around which left a blank menu on
player's side and a bunch of runtimes on server's side

## Changelog
🆑
fix: Fixed "Leave Body" escape menu tab runtiming
/🆑
2024-12-02 22:20:58 +01:00
Cyan b46c012970 Adds sounds to the Escape Menu (#87831)
## About The Pull Request

https://github.com/user-attachments/assets/3e07530e-c8f1-4c21-b59b-b814831fdb2d

## Why It's Good For The Game
The aforementioned escape menu felt lacking on the sound side so with
the assistance of @Sadboysuss I've added these,
they also sound pretty neat.
 
## Changelog
🆑
sound: Added sounds for the escape menu opening/closing/being open
/🆑
2024-11-17 02:39:35 +01:00
Majkl-J e59d8ba64b Merge commit '179a607a90ad7ec62bdaff4e6fe72af60ee56442' of https://github.com/tgstation/tgstation into upstream-24-10b 2024-10-23 23:27:16 -07:00
Zephyr 0ef5c3d049 Persistent Map Vote Tallies (#86788)
## About The Pull Request

Changes map votes to be based on a persistent tally count.
Tallies for maps are cached between rounds and are added to by map
votes.
When a map is chosen, and it wasn't the only valid one, the tallies for
said chosen map will be reset.

Refactors map vote handling and moves it from SSmapping to SSmap_vote.
Rock the Vote has been removed as a result of this refactor.

## Why It's Good For The Game

Makes it more likely that all maps will be played over the course of a
server instead of always being truly random.
Removes some clutter off of SSmapping.

🆑
refactor: Map Votes are now carried over between rounds. When a map vote
is actually a contest, the winning map will have its votes reset.
/🆑
2024-09-30 13:09:08 +13:00
SkyratBot 6c684a63a2 [MIRROR] Spellchecks charater->character (#28362)
* Spellchecks charater->character (#84251)

## About The Pull Request

Quick spellcheck PR, this caught my eye reviewing a recent PR and it
bothered me.

## Changelog

Nothing player facing, these are just comments and proc names.

* Spellchecks charater->character

---------

Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2024-06-25 16:20:17 +05:30
Bloop 60ab1502b1 Spellchecks charater->character (#84251)
## About The Pull Request

Quick spellcheck PR, this caught my eye reviewing a recent PR and it
bothered me.

## Changelog

Nothing player facing, these are just comments and proc names.
2024-06-24 16:20:56 -05:00
SkyratBot ba10ab5234 [MIRROR] Adds the actual game settings menu to the escape menu in addition to the character settings menu. (#28318)
* Adds the actual game settings menu to the escape menu in addition to the character settings menu. (#84213)

🆑 ShizCalev
add: The game settings menu can now actually be accessed through the
escape menu.
/🆑

* Adds the actual game settings menu to the escape menu in addition to the character settings menu.

---------

Co-authored-by: Afevis <ShizCalev@users.noreply.github.com>
2024-06-23 10:32:39 +05:30
Afevis 67c54146d5 Adds the actual game settings menu to the escape menu in addition to the character settings menu. (#84213)
🆑 ShizCalev
add: The game settings menu can now actually be accessed through the
escape menu.
/🆑
2024-06-22 19:34:04 -07:00
SkyratBot 83f3b7fe95 [MIRROR] Fixes escape menu spacing (#27484)
* Fixes escape menu spacing (#82875)

## About The Pull Request
Long station names clip into the start menu buttons
![Screenshot 2024-04-24
193230](https://github.com/tgstation/tgstation/assets/42397676/a62c3f27-ffa8-471b-9ad5-526003fc33cd)

This fixes it
![Screenshot 2024-04-24
193818](https://github.com/tgstation/tgstation/assets/42397676/728c4edb-ad53-4263-a40b-9a598ad7203f)
## Why It's Good For The Game
UI bug
## Changelog
🆑
fix: Fixes clipping in the ESC menu between buttons and long station
names.
/🆑

* Fixes escape menu spacing

---------

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
2024-04-27 19:37:46 +02:00
Jeremiah c84be82361 Fixes escape menu spacing (#82875)
## About The Pull Request
Long station names clip into the start menu buttons
![Screenshot 2024-04-24
193230](https://github.com/tgstation/tgstation/assets/42397676/a62c3f27-ffa8-471b-9ad5-526003fc33cd)

This fixes it
![Screenshot 2024-04-24
193818](https://github.com/tgstation/tgstation/assets/42397676/728c4edb-ad53-4263-a40b-9a598ad7203f)
## Why It's Good For The Game
UI bug
## Changelog
🆑
fix: Fixes clipping in the ESC menu between buttons and long station
names.
/🆑
2024-04-26 21:51:18 -06:00
SkyratBot 8eeca186df [MIRROR] Cleans up some extra args in Destroy() [MDB IGNORE] (#25907)
* 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.

* Cleans up some extra args in Destroy()

---------

Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com>
2023-12-30 01:21:26 -05: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
SkyratBot c529b754fb [MIRROR] Fixes a bunch of callbacks that were being qdeleted, and code cleanup [MDB IGNORE] (#23319)
* Fixes a bunch of callbacks that were being qdeleted, and code cleanup (#77904)

## About The Pull Request

![image](https://github.com/tgstation/tgstation/assets/13398309/559eb50a-461c-4220-b628-55412baaffc3)

Continuing the work of
https://github.com/tgstation/tgstation/pull/77850.

it started with finding one that was being missed and causing a
runtime...then I noticed a whole lot more. While I was doing this I
found callbacks that weren't being nulled in `Destroy()`, so I added
that wherever I found these spots as well as some general code cleanup.

There were a lot more of these than I initially hoped to encounter so
I'm labeling it as a refactor.

## Why It's Good For The Game

Fixes lots of runtimes, improves code resiliency.

## Changelog

🆑
refactor: fixed a bunch of instances of callbacks being qdeleted and
cleaned up related code
/🆑

* Fixes a bunch of callbacks that were being qdeleted, and code cleanup

---------

Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-08-25 19:06:07 -04:00
Bloop 4c870f71ca Fixes a bunch of callbacks that were being qdeleted, and code cleanup (#77904)
## About The Pull Request


![image](https://github.com/tgstation/tgstation/assets/13398309/559eb50a-461c-4220-b628-55412baaffc3)

Continuing the work of
https://github.com/tgstation/tgstation/pull/77850.

it started with finding one that was being missed and causing a
runtime...then I noticed a whole lot more. While I was doing this I
found callbacks that weren't being nulled in `Destroy()`, so I added
that wherever I found these spots as well as some general code cleanup.

There were a lot more of these than I initially hoped to encounter so
I'm labeling it as a refactor.

## Why It's Good For The Game

Fixes lots of runtimes, improves code resiliency.

## Changelog

🆑
refactor: fixed a bunch of instances of callbacks being qdeleted and
cleaned up related code
/🆑
2023-08-25 16:03:27 -06:00
SkyratBot daba1d93ae [MIRROR] Hud screens now set hud owner in Initialize. [MDB IGNORE] (#22501)
* Hud screens now set hud owner in Initialize.

* Merge conflicts

* modular adjustments

* Missed one

* Make this easier to spot

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
2023-07-18 16:41:01 -04:00
John Willard 06ca7a4481 Hud screens now set hud owner in Initialize. (#76772)
## About The Pull Request

Adds an arg in huds' screens to add the hud owner in the Initialize,
instead of manually setting it every time we need to.
This is already done in ``New()`` for lobby screens, which I left intact
as lobby screens are used for new players, and are given out before
atoms are Initialized. Everything else, however, uses Initialize, so it
does not mess with any other args in their own Initializes (like the
Escape menu).
This also allows us to set the screens' HUDs as a private var, to ensure
this won't be messed with in the future.
Lastly I replaced instances of ``client`` with ``cannon_client`` to be
consistent with a lot of other parts of hud code.

## Why It's Good For The Game

Huds are easy to break when they do not have a hud owner, and for
something as important as that I believe it should be something you
opt-out of when you don't want it, rather than something you opt-into by
manually setting hud owner every time.
This cuts down on a lot of copy paste in hud code for humans, aliens,
etc.

## Changelog

🆑
refactor: Huds now have their hud owner set in Initialize
/🆑
2023-07-16 21:00:22 +02:00
SkyratBot 6dfe17306c [MIRROR] Pulls apart the vestiges of components still hanging onto signals [MDB IGNORE] (#21738)
* Pulls apart the vestiges of components still hanging onto signals

* update modular

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2023-06-18 13:18:23 +00:00
LemonInTheDark ae5a4f955d Pulls apart the vestiges of components still hanging onto signals (#75914)
## About The Pull Request

Signals were initially only usable with component listeners, which while
no longer the case has lead to outdated documentation, names, and a
similar location in code.

This pr pulls the two apart. Partially because mso thinks we should, but
also because they really aren't directly linked anymore, and having them
in this midstate just confuses people.

[Renames comp_lookup to listen_lookup, since that's what it
does](https://github.com/tgstation/tgstation/commit/102b79694fa8eb57ecf7b36032616a9e368ccced)

[Moves signal procs over to their own
file](https://github.com/tgstation/tgstation/commit/33d07d01fd336726b4f6f6f1b61bb0b3f11a00dc)

[Renames the PREQDELETING and QDELETING comsigs to drop the parent bit
since they can hook to more then just comps
now](https://github.com/tgstation/tgstation/commit/335ea4ad081ec63c42cfa05856e582cca833af6e)

[Does something similar to the attackby comsigs (PARENT ->
ATOM)](https://github.com/tgstation/tgstation/commit/210e57051df63f88dac3dd83321236da825aae5e)

[And finally passes over the examine
signals](https://github.com/tgstation/tgstation/commit/65917658fb8a1e7d28ae23c9437a583d646f0302)

## Why It's Good For The Game

Code makes more sense, things are better teased apart, s just good imo

## Changelog
🆑
refactor: Pulled apart the last vestiges of names/docs directly linking
signals to components
/🆑
2023-06-09 06:14:31 +00:00
SkyratBot 9a594755f3 [MIRROR] Renames delta time to be a more obvious name [MDB IGNORE] (#20507)
* Renames delta time to be a more obvious name

* updates to our code

---------

Co-authored-by: oranges <email@oranges.net.nz>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-04-12 20:45:43 +01:00
oranges 4c48966ff8 Renames delta time to be a more obvious name (#74654)
This tracks the seconds per tick of a subsystem, however note that it is
not completely accurate, as subsystems can be delayed, however it's
useful to have this number as a multiplier or ratio, so that if in
future someone changes the subsystem wait time code correctly adjusts
how fast it applies effects

regexes used

git grep --files-with-matches --name-only 'DT_PROB' | xargs -l sed -i
's/DT_PROB/SPT_PROB/g'
git grep --files-with-matches --name-only 'delta_time' | xargs -l sed -i
's/delta_time/seconds_per_tick/g'
2023-04-11 21:31:07 -07:00
lessthanthree b95e81a2b7 [SEMI-MODULAR] SR specific escape menu options (#19291)
* add SR items to escape menu

* Delete leave_body.dm

* Update code/modules/escape_menu/escape_menu.dm

Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>

* restore leave_body.dm

* let's get modular, modularrr

* respawn

* tick leave body

* remove suicide proc again

---------

Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2023-03-14 01:05:20 +00:00
lessthanthree 12d989be4c [MANUAL MIRROR] Adds an Escape Menu (#19217)
* Adds an Escape Menu (#72906)

* suicide

---------

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2023-02-08 02:20:09 +00:00
Mothblocks 9d0cdfe909 Adds an Escape Menu (#72906) 2023-01-26 00:25:16 -08:00