Skip to content
This repository has been archived by the owner on May 14, 2024. It is now read-only.

Commit

Permalink
Merge branch 'master' of https://github.com/tgstation/tgstation
Browse files Browse the repository at this point in the history
  • Loading branch information
RigglePrime committed Sep 20, 2023
2 parents 448f87a + e97220c commit da0700d
Show file tree
Hide file tree
Showing 8,616 changed files with 1,597,566 additions and 849,866 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
1 change: 0 additions & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ root = true

[*]
indent_style = tab
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
Expand Down
2 changes: 2 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,5 @@
931da9e7ef8c0f52a768eed7998e7e62ccdefcdc
# Remove hideous inline tab indentation, and bans it in contributing guidelines
0f435d5dff0a7957e8cba60a41a7fc10439064c3
# Remove one errant disposals pipe
cc78227c693a3246e8d4d2930ee97242f6546246
122 changes: 90 additions & 32 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -6,46 +6,68 @@

# MAINTAINERS

# Dominion/Cyberboss

/.github/workflows/update_tgs_dmapi.yml @Cyberboss
/.tgs.yml @Cyberboss
/code/world.dm @Cyberboss
/code/__DEFINES/tgs.config.dm @Cyberboss
/code/__DEFINES/tgs.dm @Cyberboss
/code/__DEFINES/_globals.dm @Cyberboss
/code/__HELPERS/chat.dm @Cyberboss
/code/__HELPERS/jatum.dm @Cyberboss
/code/game/world.dm @Cyberboss
/code/controllers/subsystem/atoms.dm @Cyberboss
/code/controllers/globals.dm @Cyberboss
/code/datums/helper_datums/getrev.dm @Cyberboss
/code/modules/tgs/ @Cyberboss
/code/ze_genesis_call/ @Cyberboss
/tools/tgs_test/ @Cyberboss

# Cobby

/code/modules/reagents/ @ExcessiveUseOfCobblestone
/code/modules/research/designs/medical_designs.dm @ExcessiveUseOfCobblestone
/code/game/objects/items/storage/medkit.dm @ExcessiveUseOfCobblestone

# Cyberboss
# Fikou

/code/__HELPERS/jatum.dm @Cyberboss
/code/controllers/subsystem/atoms.dm @Cyberboss
/code/controllers/subsystem/mapping.dm @Cyberboss
/code/controllers/globals.dm @Cyberboss
/code/datums/helper_datums/getrev.dm @Cyberboss
/code/datums/map_config.dm @Cyberboss
/code/datums/forced_movement.dm @Cyberboss
/code/datums/holocall.dm @Cyberboss
/code/modules/admin/verbs/adminhelp.dm @Cyberboss
/code/modules/admin/verbs/adminpm.dm @Cyberboss
/code/modules/mapping/ @Cyberboss
/code/modules/awaymissions/ @Fikou
/code/modules/mining/ @Fikou
/code/modules/mod/ @Fikou
/code/modules/mapfluff/ruins/lavalandruin_code/ @Fikou
/code/modules/mapfluff/ruins/lavaland_ruin_code.dm @Fikou

# JohnFulpWizard

/code/modules/mob/living/simple_animal/bot/ @JohnFulpWillard
/code/modules/modular_computers/ @JohnFulpWillard

# Kylerace

/code/__DEFINES/spatial_gridmap.dm @Kylerace
/code/controllers/subsystem/spatial_gridmap.dm @Kylerace

# LemonInTheDark

/.github/guides/VISUALS.md @LemonInTheDark
/code/_onclick/hud/ @LemonInTheDark
/code/__DEFINES/layers.dm @LemonInTheDark

# Mothblocks

/.github/workflows/ @Mothblocks
/code/game/gamemodes/ @Mothblocks
/code/modules/autowiki/ @Mothblocks
/code/modules/unit_tests/ @Mothblocks
/code/modules/client/preferences/ @Mothblocks
/code/modules/preferences.dm @Mothblocks
/code/modules/preferences_menu.dm @Mothblocks
/code/modules/preferences_savefile.dm @Mothblocks
/code/modules/client/preferences_menu.dm @Mothblocks
/tgui/packages/tgui/interfaces/PreferencesMenu/ @Mothblocks
/tools/ezdb/ @Mothblocks
/tools/maplint/source/ @Mothblocks
/tools/pull_request_hooks/ @Mothblocks
/tools/screenshot-test-comparison/ @Mothblocks
/tools/test_merge_bot/ @Mothblocks

# MrMelbert

Expand Down Expand Up @@ -78,39 +100,65 @@
/code/controllers/subsystem/chat.dm @stylemistake
/code/controllers/subsystem/ping.dm @stylemistake
/code/controllers/subsystem/tgui.dm @stylemistake
/code/modules/tgchat @stylemistake
/code/modules/tgui @stylemistake
/code/modules/tgui_panel @stylemistake
/tgui @stylemistake
/code/modules/tgchat/ @stylemistake
/code/modules/tgui/ @stylemistake
/code/modules/tgui_panel/ @stylemistake
/tgui/ @stylemistake

# stylemistake (explicitly disowned)

/tgui/packages/tgui/interfaces/
/tgui/packages/tgui/styles/interfaces/
/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss
/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss

# SuperNovaa41

/code/modules/forensics/ @SuperNovaa41
/code/datums/mood.dm @SuperNovaa41

# Time-Green

/code/modules/plumbing/ @Time-Green
/code/modules/surgery/organs/external/ @Time-Green

# tralezab
/code/__DEFINES/basic_mobs.dm @tralezab
/code/datums/ai @tralezab
/code/modules/mob/living/basic/ @tralezab

# Watermelon914

/code/modules/wiremod/ @Watermelon914
/code/modules/antagonists/traitor/ @Watermelon914
/code/controllers/subsystem/tts.dm @Watermelon914

# CONTRIBUTORS
# ZephyrTFA

# Fikou
/code/__HELPERS/admin_verb.dm @ZephyrTFA
/code/controllers/subsystem/admin_verbs.dm @ZephyrTFA
/code/datums/json_savefile.dm @ZephyrTFA
/code/datums/armor/ @ZephyrTFA
/code/modules/admin/verbs/ @ZephyrTFA
/code/modules/logging/ @ZephyrTFA

/code/modules/mod/ @Fikou
/code/modules/ruins/lavaland_ruin_code.dm @Fikou
/code/modules/ruins/lavalandruin_code/ @Fikou
/code/modules/mining/ @Fikou
/code/modules/awaymissions/ @Fikou

# CONTRIBUTORS

# Jordie0608

/SQL/ @Jordie0608
/code/controllers/subsystem/dbcore.dm @Jordie0608
/tools/SQLAlertEmail/ @Jordie0608

# Kapu1178

/code/modules/surgery/bodyparts/ @Kapu1178
/code/modules/surgery/organs/ @Kapu1178
/code/modules/mob/living/carbon/carbon_update_icons.dm @Kapu1178
/code/modules/mob/living/carbon/human/human_update_icons.dm @Kapu1178

# MrStonedOne

/SQL/database_changelog.txt @MrStonedOne
/code/__DEFINES/MC.dm @MrStonedOne
/code/controllers/admin.dm @MrStonedOne
/code/controllers/master.dm @MrStonedOne
Expand All @@ -134,20 +182,30 @@

# MULTIPLE OWNERS

/_maps/ @EOBGames @Maurukas @san7890 @ShizCalev
/icons/ @Imaginos16 @Krysonism @Twaticus
/SQL/ @Jordie0608 @MrStonedOne

/_maps/ @EOBGames @Maurukas @MMMiracles @san7890 @ShizCalev
/icons/ @Imaginos16 @Krysonism @Twaticus @Wallemations
/icons/ass/ @Ghilker @tralezab

/code/__DEFINES/atmospherics/ @Ghilker @LemonInTheDark
/code/__HELPERS/logging/ @dragomagol @ZephyrTFA
/code/controllers/subsystem/air.dm @LemonInTheDark @MrStonedOne
/code/modules/atmospherics/ @Ghilker @LemonInTheDark
/code/modules/client/preferences.dm @Mothblocks @ZephyrTFA
/code/modules/client/preferences_savefile.dm @Mothblocks @ZephyrTFA
/code/modules/jobs/job_types/chief_medical_officer.dm @ExcessiveUseOfCobblestone @Ryll-Ryll
/code/modules/jobs/job_types/medical_doctor.dm @ExcessiveUseOfCobblestone @Ryll-Ryll
/code/modules/jobs/job_types/paramedic.dm @ExcessiveUseOfCobblestone @Ryll-Ryll
/code/modules/surgery/ @ExcessiveUseOfCobblestone @Ryll-Ryll
/tools/build/ @MrStonedOne @stylemistake
/tools/LinuxOneShot/ @Cyberboss @MrStonedOne
/tools/tgs4_scripts/ @Cyberboss @MrStonedOne
/tools/tgs_scripts/ @Cyberboss @MrStonedOne

/tools/WebhookProcessor/ @BraveMole @TiviPlus

# Expensive files that touching basically always cause performance problems
## Init times
**/*_EXPENSIVE.dm @Mothblocks @LemonInTheDark

# SIC SEMPER TYRANNIS

Expand Down
24 changes: 13 additions & 11 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ First things first, we want to make it clear how you can contribute (if you've n

/tg/station doesn't have a list of goals and features to add; we instead allow freedom for contributors to suggest and create their ideas for the game. That doesn't mean we aren't determined to squash bugs, which unfortunately pop up a lot due to the deep complexity of the game. Here are some useful starting guides, if you want to contribute or if you want to know what challenges you can tackle with zero knowledge about the game's code structure.

If you want to contribute the first thing you'll need to do is [set up Git](http://tgstation13.org/wiki/Setting_up_git) so you can download the source code.
If you want to contribute the first thing you'll need to do is [set up Git](https://hackmd.io/@tgstation/HJ8OdjNBc) so you can download the source code.
After setting it up, optionally navigate your git commandline to the project folder and run the command: `git config blame.ignoreRevsFile .git-blame-ignore-revs`.

We have a [list of guides on the wiki](http://www.tgstation13.org/wiki/Guides#Development_and_Contribution_Guides) that will help you get started contributing to /tg/station with Git and Dream Maker. For beginners, it is recommended you work on small projects like bugfixes at first. If you need help learning to program in BYOND, check out this [repository of resources](http://www.byond.com/developer/articles/resources).
Expand Down Expand Up @@ -90,6 +90,8 @@ Things you **CAN'T** do:
* [Close PRs](https://imgur.com/w2RqpX8.png): Only maintainers are allowed to close PRs. Do not hit that button.
* Close issues purely for breaking a template if the same information is contained without it.

For more information reference the [Issue Manager Guide](.github/guides/ISSUE_MANAGER.md).

</details>

## Development Guides
Expand All @@ -105,17 +107,17 @@ Things you **CAN'T** do:

#### Misc

[Policy configuration system](./guides/POLICYCONFIG.md)

[Hard deletes](./guides/HARDDELETES.md)

[UI Development](../tgui/README.md)

[AI Datums](../code/datums/ai/making_your_ai.md)

[MC Tab Guide](./guides/MC_tab.md)
- [AI Datums](../code/datums/ai/learn_ai.md)
- [Embedding TGUI Components in Chat](../tgui/docs/chat-embedded-components.md)
- [Hard Deletes](./guides/HARDDELETES.md)
- [MC Tab Guide](./guides/MC_tab.md)
- [Policy Configuration System](./guides/POLICYCONFIG.md)
- [Quickly setting up a development database with ezdb](./guides/EZDB.md)
- [Required Tests (Continuous Integration)](./guides/CI.md)
- [Splitting up pull requests, aka atomization](./guides/ATOMIZATION.md)
- [UI Development](../tgui/README.md)
- [Visual Effects and Systems](./guides/VISUALS.md)

[Embedding tgui components in chat](../tgui/docs/chat-embedded-components.md)
## Pull Request Process

There is no strict process when it comes to merging pull requests. Pull requests will sometimes take a while before they are looked at by a maintainer; the bigger the change, the more time it will take before they are accepted into the code. Every team member is a volunteer who is giving up their own time to help maintain and contribute, so please be courteous and respectful. Here are some helpful ways to make it easier for you and for the maintainers when making a pull request.
Expand Down
4 changes: 4 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ about: Create a report to help reproduce and fix the issue
If you discovered this issue from playing tgstation hosted servers:
[Round ID]: # (It can be found in the Status panel or retrieved from https://sb.atlantaned.space/rounds ! The round id let's us look up valuable information and logs for the round the bug happened.)-->

<!-- If you are reporting an issue found in another branch or codebase, you MUST link the branch or codebase repo in your issue report or it will be closed. For branches, If you have not pushed your code up, you must either reproduce it on master or push your code up before making an issue report. For other codebases, if you do not have a public code repo you will be refused help unless you can completely reproduce the issue on our code. -->

## Testmerges:

<!-- If you're certain the issue is to be caused by a test merge [OOC tab -> Show Server Revision], report it in the pull request's comment section rather than on the tracker(If you're unsure you can refer to the issue number by prefixing said number with #. The issue number can be found beside the title after submitting it to the tracker).If no testmerges are active, feel free to remove this section. -->
Expand All @@ -18,3 +20,5 @@ If you discovered this issue from playing tgstation hosted servers:
<!-- Explain your issue in detail, including the steps to reproduce it. Issues without proper reproduction steps or explanation are open to being ignored/closed by maintainers.-->

<!-- **For Admins:** Oddities induced by var-edits and other admin tools are not necessarily bugs. Verify that your issues occur under regular circumstances before reporting them. -->

<!-- If you are reporting a runtime error you must include the runtime in your report or your report will be closed. -->
6 changes: 2 additions & 4 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,8 @@ del: Removed old things
qol: made something easier to use
balance: rebalanced something
fix: fixed a few things
soundadd: added a new sound thingy
sounddel: removed an old sound thingy
imageadd: added some icons and images
imagedel: deleted some icons and images
sound: added/modified/removed audio or sound effects
image: added/modified/removed some icons or images
spellcheck: fixed a few typos
code: changed some code
refactor: refactored some code
Expand Down
9 changes: 9 additions & 0 deletions .github/alternate_byond_versions.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# This file contains extra tests to run for specific BYOND versions.
# This is useful for making sure we maintain compatibility with both older and newer versions,
# while still having our main tests run on a guaranteed pinned version.

# Format is version: map
# Example:
# 500.1337: runtimestation

515.1603: runtimestation
2 changes: 1 addition & 1 deletion .github/gbp.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ reset_label = "GBP: Reset"
"Accessibility" = 3
"Administration" = 2
"Atomic" = 2
"Balance/Rebalance" = -5
"Balance" = -5
"Code Improvement" = 2
"Documentation" = 1
"Feature" = -6
Expand Down
17 changes: 17 additions & 0 deletions .github/guides/ATOMIZATION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Atomization (AKA, splitting up pull requests)

Maintainers are volunteers and have limited time to review pull requests. Large pull requests can be hard to review. You can help us help you by splitting your PR up into more manageable chunks.

## Keep it on topic

A pull request for changing the color of airlocks should not also change the damage for guns.

In general, keep balance PRs separate from fix/refactor PRs, unless there is a reasonable explanation for having them in the same pull request. For example, if in your PR for changing airlock colors, you clean up the code to improve variable names in airlock code, that is completely fine to keep in the same pull request. Fixes are something we can merge if the code looks right. Balance changes/new features are something we can only merge once we evaluate design concerns, which is much slower.

## Split it up if it's big

Sometimes a refactor might end up being a lot larger than you expect, and suddenly it is very hard for us to review, even though it's all on topic.

We encourage contributors to, when reasonable, split up huge refactors into several chunks, or to split them off from your features entirely. It is even okay to make a small pull request to add an easy to review API even if the code is unused, just be up front about the changes you are planning to make. These pull requests will be tagged with the "Atomic" label. Every so often, maintainers might look at past PRs with this label and remove the code if it is still unused, or if you have let us know you don't plan on finishing it (though in this case, please remove it yourself). When you should do this isn't written in stone; if adding a consumer of the API is just a matter of a few lines, then you should just do that. On the other hand, if adding this API requires touching a lot of existing code, and would be hard to remove if you don't finish, you may be asked to put it in the PR that adds the consumers.

This does not necessarily apply to features/balance changes. We don't want half of a feature implemented because it leaves you and us uncertain to if the followup pull requests are going to be merged. For example, do not add a new item to the game that goes completely unused until a separate pull request which decides where it's going to go.
55 changes: 55 additions & 0 deletions .github/guides/CI.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Required Tests (Continuous Integration)

> ℹ️ This is not the documentation for *writing* a test. You can find that in [the unit tests folder](../../code/modules/unit_tests/README.md).
Every pull request runs through a series of checks and tests to ensure its quality.

![A picture of the automatic checks](https://user-images.githubusercontent.com/35135081/192867761-0edfe4e2-399c-4dc1-824e-ca042f8bbe4b.png)

If after reading this guide you still do not understand why a check suite is failing, either ask on your pull request or ask in the coding channel on the Discord.

## Run Linters

The [linters](https://en.wikipedia.org/wiki/Lint_(software)) check the maps and code for common mistakes. This includes things like:

- Files not being included in the .dme
- Misspelling Nanotrasen as NanoTrasen
- Unformatted map files

Sometimes linters will fail, but you won't see anything in the "Run Linters" tab. If you open up the action, it might look like this:

![Run Linters fails, but Annotate Lints does not](https://user-images.githubusercontent.com/35135081/192870304-f848d576-5bcd-41bf-9514-362e2972a401.png)

Specifically, notice that "Run Linters" has failed, but "Annotate Lints" has not. When this happens, click on Annotate Lints to see your problem.

![A lint error inside Annotate Lints, with Run Linters failing above it](https://user-images.githubusercontent.com/35135081/192870602-96dc6bcb-c24d-4d14-9f8c-6a40c93bcdb1.png)

You can also see the errors on the "Files Changed" tab of your pull request.

!["relatively pathed proc here", found in the Files Changed tab](https://user-images.githubusercontent.com/35135081/192870833-d2020500-3fcb-466f-9586-395df44c4095.png)

Linter failures are usually very easy to fix, and will hopefully be clear from the message alone.

## Compile Maps / Windows Build

These two check nothing more than that your code actually compiles, with slightly different requirements. Compile Maps forces all maps (including space ruins etc) to be compiled in, to make sure all of them are valid, and Windows Build makes sure your code actually compiles on Windows. If these tests pass, but other tests fail, it means your code *compiles* but not necessarily that it *works*.

## Integration Tests

The real meat and potatoes, this will not only compile the game, but also start a round, and run a bunch of premade tests. If anything runtimes (whether or not it's part of a specific test), there is a bug, and this test will fail. We run this for every station in the game to ensure maximum coverage. If all of these tests fail, your code is almost certainly bugged in some way! Read through the error, and try to resolve the issue. As always, ask maintainers if you need help.

Sometimes a test will fail on only one map, and not the others. This means two things. The first is, of course, there is a bug on that specific map. This could happen if you, for instance, do a large mapping change, but mess something up only on DeltaStation. The second option is that a flaky test has failed. Not all tests consistently fail/pass, [this is something we actively try to fix](https://github.com/tgstation/tgstation/issues?q=is%3Aopen%20is%3Aissue%20project%3Atgstation%2Ftgstation%2F19). If you believe this has happened to you, you should wait for a maintainer to re-run the failed test.

## Screenshot Tests

Screenshot tests exist to make sure things look the same before and after your commit. This helps us detect bugs such as humans not properly rendering clothing/limbs.

If your commit *does* change the appearance of something saved in a screenshot test, you will automatically receive a message on your PR showing you the before and after. From here, it will contain instructions for how to resolve the issue, whether it's a bug or intentional.

## Codeowner Reviews

GitHub comes with a handy feature where we can alert relevant contributors if you edit a file that they are knowledgable with. However, this feature only works with members of the organization. This is inadequate for our purposes, where we encourage contributors to keep an eye on stuff they create.

Thus, we created our own system that does what GitHub does, but in a way that supports codeowners outside of the organization.

This isn't a test, but if it fails, it's absolutely not your fault. Contact a maintainer.
Loading

0 comments on commit da0700d

Please sign in to comment.