Skip to content

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
AndroBetel committed Aug 24, 2022
2 parents 7d66bfb + aebdd61 commit bf73c9d
Show file tree
Hide file tree
Showing 1,924 changed files with 88,932 additions and 68,873 deletions.
43 changes: 28 additions & 15 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,6 @@

# MAINTAINERS

# Cobby

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

# Cyberboss

/code/__HELPERS/jatum.dm @Cyberboss
Expand All @@ -26,6 +20,17 @@
/code/modules/admin/verbs/adminpm.dm @Cyberboss
/code/modules/mapping/ @Cyberboss

# Dragomagol/Tattle
/code/__HELPERS/logging/ @dragomagol

# Fikou

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

# JohnFulpWizard

/code/modules/mob/living/simple_animal/bot/ @JohnFulpWillard
Expand Down Expand Up @@ -86,25 +91,26 @@
# stylemistake (explicitly disowned)

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

# SuperNovaa41

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

# Watermelon914

/code/modules/wiremod/ @Watermelon914

# CONTRIBUTORS

# Dragomagol/Tattle
/code/__HELPERS/logging/ @Dragomagol

# Fikou
# Cobby

/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
/code/modules/reagents/ @ExcessiveUseOfCobblestone
/code/modules/research/designs/medical_designs.dm @ExcessiveUseOfCobblestone
/code/game/objects/items/storage/medkit.dm @ExcessiveUseOfCobblestone

# Jordie0608

Expand All @@ -115,7 +121,9 @@
# 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

Expand All @@ -141,6 +149,11 @@
/code/modules/atmospherics/ @Pickle-Coding
/code/modules/power/ @Pickle-Coding

# Time-Green

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

# MULTIPLE OWNERS

/_maps/ @EOBGames @Maurukas @san7890 @ShizCalev
Expand Down
2 changes: 1 addition & 1 deletion .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
21 changes: 21 additions & 0 deletions .github/guides/TICK_ORDER.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
The byond tick proceeds as follows:
1. procs sleeping via walk() are resumed (i dont know why these are first)

2. normal sleeping procs are resumed, in the order they went to sleep in the first place, this is where the MC wakes up and processes subsystems. a consequence of this is that the MC almost never resumes before other sleeping procs, because it only goes to sleep for 1 tick 99% of the time, and 99% of procs either go to sleep for less time than the MC (which guarantees that they entered the sleep queue earlier when its time to wake up) and/or were called synchronously from the MC's execution, almost all of the time the MC is the last sleeping proc to resume in any given tick. This is good because it means the MC can account for the cost of previous resuming procs in the tick, and minimizes overtime.

3. control is passed to byond after all of our code's procs stop execution for this tick

4. a few small things happen in byond internals

5. SendMaps is called for this tick, which processes the game state for all clients connected to the game and handles sending them changes
in appearances within their view range. This is expensive and takes up a significant portion of our tick, about 0.45% per connected player
as of 3/20/2022. meaning that with 50 players, 22.5% of our tick is being used up by just SendMaps, after all of our code has stopped executing. Thats only the average across all rounds, for most highpop rounds it can look like 0.6% of the tick per player, which is 30% for 50 players.

6. After SendMaps ends, client verbs sent to the server are executed, and its the last major step before the next tick begins.
During the course of the tick, a client can send a command to the server saying that they have executed any verb. The actual code defined
for that /verb/name() proc isnt executed until this point, and the way the MC is designed makes this especially likely to make verbs
"overrun" the bounds of the tick they executed in, stopping the other tick from starting and thus delaying the MC firing in that tick.

The master controller can derive how much of the tick was used in: procs executing before it woke up (because of world.tick_usage), and SendMaps (because of world.map_cpu, since this is a running average you cant derive the tick spent on maptick on any particular tick). It cannot derive how much of the tick was used for sleeping procs resuming after the MC ran, or for verbs executing after SendMaps.

It is for these reasons why you should heavily limit processing done in verbs, while procs resuming after the MC are rare, verbs are not, and are much more likely to cause overtime since theyre literally at the end of the tick. If you make a verb, try to offload any expensive work to the beginning of the next tick via a verb management subsystem.
5 changes: 5 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# We don't want prettier to run on anything outside of the TGUI folder, so we have to do this.
/*

# We want it to run into the TGUI folder, however.
!/tgui
24 changes: 12 additions & 12 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -1,18 +1,6 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug External Libraries",
"type": "cppvsdbg",
"request": "launch",
"program": "${command:dreammaker.returnDreamDaemonPath}",
"cwd": "${workspaceRoot}",
"args": [
"${command:dreammaker.getFilenameDmb}",
"-trusted"
],
"preLaunchTask": "Build All"
},
{
"type": "byond",
"request": "launch",
Expand All @@ -27,6 +15,18 @@
"preLaunchTask": "Build All",
"dmb": "${workspaceFolder}/${command:CurrentDMB}",
"dreamDaemon": true
},
{
"name": "Debug External Libraries",
"type": "cppvsdbg",
"request": "launch",
"program": "${command:dreammaker.returnDreamDaemonPath}",
"cwd": "${workspaceRoot}",
"args": [
"${command:dreammaker.getFilenameDmb}",
"-trusted"
],
"preLaunchTask": "Build All"
}
]
}
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,5 +40,8 @@
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
},
"workbench.editorAssociations": {
"*.dmi": "dmiEditor.dmiEditor"
},
"Lua.diagnostics.enable": false
}
2 changes: 1 addition & 1 deletion _maps/RandomRuins/IceRuins/icemoon_surface_asteroid.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@
/area/icemoon/surface)
"Y" = (
/obj/item/paper{
info = "We tried to use the power of this moon to bring him back, but we've failed... I've contained what remains of his power here... if you find this, make sure those Nar-Sian Dogs don't last a second."
default_raw_text = "We tried to use the power of this moon to bring him back, but we've failed... I've contained what remains of his power here... if you find this, make sure those Nar-Sian Dogs don't last a second."
},
/obj/item/pen,
/turf/open/floor/bronze{
Expand Down
2 changes: 1 addition & 1 deletion _maps/RandomRuins/IceRuins/icemoon_surface_lust.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
/turf/open/floor/mineral/diamond,
/area/icemoon/surface/outdoors)
"d" = (
/obj/item/reagent_containers/food/drinks/trophy/gold_cup,
/obj/item/reagent_containers/cup/glass/trophy/gold_cup,
/turf/open/floor/mineral/diamond,
/area/icemoon/surface/outdoors)
"e" = (
Expand Down
4 changes: 2 additions & 2 deletions _maps/RandomRuins/IceRuins/icemoon_surface_mining_site.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
/turf/open/floor/wood,
/area/ruin/unpowered)
"o" = (
/obj/item/reagent_containers/food/drinks/bottle/beer,
/obj/item/reagent_containers/cup/glass/bottle/beer,
/turf/open/floor/wood,
/area/ruin/unpowered)
"p" = (
Expand All @@ -69,7 +69,7 @@
/obj/item/pen,
/obj/machinery/light/broken/directional/west,
/obj/item/paper/crumpled/bloody{
info = "help...";
default_raw_text = "help...";
text = ""
},
/turf/open/floor/wood,
Expand Down
30 changes: 15 additions & 15 deletions _maps/RandomRuins/IceRuins/icemoon_surface_pizza.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
/obj/structure/sign/poster/official/moth_meth{
pixel_y = 32
},
/obj/item/reagent_containers/food/condiment/enzyme,
/obj/item/reagent_containers/condiment/enzyme,
/turf/open/floor/iron/cafeteria,
/area/ruin/pizzeria/kitchen)
"bV" = (
Expand Down Expand Up @@ -174,7 +174,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/item/reagent_containers/food/drinks/colocup,
/obj/item/reagent_containers/cup/glass/colocup,
/turf/open/floor/iron/dark/side{
dir = 5
},
Expand Down Expand Up @@ -549,9 +549,9 @@
/area/ruin/pizzeria/kitchen)
"rY" = (
/obj/structure/closet/secure_closet/freezer/kitchen,
/obj/item/reagent_containers/food/condiment/flour,
/obj/item/reagent_containers/food/condiment/milk,
/obj/item/reagent_containers/food/condiment/milk{
/obj/item/reagent_containers/condiment/flour,
/obj/item/reagent_containers/condiment/milk,
/obj/item/reagent_containers/condiment/milk{
pixel_x = 2;
pixel_y = 2
},
Expand Down Expand Up @@ -698,7 +698,7 @@
dir = 1
},
/obj/effect/turf_decal/tile/neutral,
/obj/item/reagent_containers/food/drinks/colocup{
/obj/item/reagent_containers/cup/glass/colocup{
pixel_x = 5
},
/turf/open/floor/iron/dark/side{
Expand Down Expand Up @@ -1096,7 +1096,7 @@
/area/ruin/pizzeria)
"JM" = (
/obj/item/mop,
/obj/item/reagent_containers/glass/bucket,
/obj/item/reagent_containers/cup/bucket,
/obj/item/storage/bag/trash,
/obj/structure/reagent_dispensers/watertank,
/turf/open/floor/plating,
Expand Down Expand Up @@ -1135,11 +1135,11 @@
/area/ruin/pizzeria)
"Lg" = (
/obj/structure/table,
/obj/item/reagent_containers/food/condiment/saltshaker{
/obj/item/reagent_containers/condiment/saltshaker{
pixel_x = 2;
pixel_y = 2
},
/obj/item/reagent_containers/food/condiment/peppermill{
/obj/item/reagent_containers/condiment/peppermill{
pixel_x = -5;
pixel_y = 2
},
Expand Down Expand Up @@ -1290,11 +1290,11 @@
/area/ruin/pizzeria/kitchen)
"PA" = (
/obj/structure/table,
/obj/item/reagent_containers/food/condiment/saltshaker{
/obj/item/reagent_containers/condiment/saltshaker{
pixel_x = 2;
pixel_y = 2
},
/obj/item/reagent_containers/food/condiment/peppermill{
/obj/item/reagent_containers/condiment/peppermill{
pixel_x = -5;
pixel_y = 2
},
Expand Down Expand Up @@ -1331,7 +1331,7 @@
/obj/effect/turf_decal/tile/yellow{
dir = 4
},
/obj/item/reagent_containers/food/drinks/colocup{
/obj/item/reagent_containers/cup/glass/colocup{
pixel_y = 11
},
/turf/open/floor/iron/checker,
Expand Down Expand Up @@ -1524,11 +1524,11 @@
/area/icemoon/surface/outdoors/nospawn)
"Vs" = (
/obj/structure/table,
/obj/item/reagent_containers/food/condiment/saltshaker{
/obj/item/reagent_containers/condiment/saltshaker{
pixel_x = 2;
pixel_y = 2
},
/obj/item/reagent_containers/food/condiment/peppermill{
/obj/item/reagent_containers/condiment/peppermill{
pixel_x = -5;
pixel_y = 2
},
Expand Down Expand Up @@ -1650,7 +1650,7 @@
/obj/effect/turf_decal/tile/yellow{
dir = 4
},
/obj/item/reagent_containers/food/drinks/colocup{
/obj/item/reagent_containers/cup/glass/colocup{
pixel_x = 5
},
/turf/open/floor/iron/checker,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@
color = "#666666"
},
/obj/item/knife/hunting,
/obj/item/reagent_containers/food/drinks/mug/coco{
/obj/item/reagent_containers/cup/glass/mug/coco{
desc = "Still hot!";
pixel_x = 6;
pixel_y = 11
Expand Down Expand Up @@ -309,7 +309,7 @@
color = "#8a7453";
dir = 1
},
/obj/item/reagent_containers/glass/bucket/wooden,
/obj/item/reagent_containers/cup/bucket/wooden,
/turf/open/misc/asteroid/snow/icemoon,
/area/icemoon/underground/explored)
"RO" = (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1496,11 +1496,11 @@
/area/ruin/plasma_facility/commons)
"wQ" = (
/obj/structure/table/reinforced,
/obj/item/reagent_containers/food/condiment/saltshaker{
/obj/item/reagent_containers/condiment/saltshaker{
pixel_x = 9;
pixel_y = 8
},
/obj/item/reagent_containers/food/condiment/peppermill{
/obj/item/reagent_containers/condiment/peppermill{
pixel_x = 9;
pixel_y = 3
},
Expand Down Expand Up @@ -1882,7 +1882,7 @@
"EZ" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/sink/directional/south,
/obj/item/reagent_containers/glass/bucket,
/obj/item/reagent_containers/cup/bucket,
/obj/item/mop/advanced,
/turf/open/floor/plating/icemoon,
/area/ruin/plasma_facility/operations)
Expand Down Expand Up @@ -2118,7 +2118,7 @@
/area/ruin/plasma_facility/operations)
"Jv" = (
/obj/structure/bed/maint,
/obj/item/reagent_containers/food/drinks/bottle/beer{
/obj/item/reagent_containers/cup/glass/bottle/beer{
pixel_x = -5;
pixel_y = 12
},
Expand Down Expand Up @@ -2803,7 +2803,7 @@
"TD" = (
/obj/structure/table/reinforced,
/obj/structure/sink/kitchen/directional/west,
/obj/item/reagent_containers/food/condiment/rice{
/obj/item/reagent_containers/condiment/rice{
pixel_x = -6;
pixel_y = 11
},
Expand Down Expand Up @@ -3081,7 +3081,7 @@
dir = 8
},
/obj/item/paper/crumpled/bloody{
info = "I've sealed the place off. I'm taking the last snowtreader to look for help. Please, if you find this place, leave. It's not safe here. We made them angry."
default_raw_text = "I've sealed the place off. I'm taking the last snowtreader to look for help. Please, if you find this place, leave. It's not safe here. We made them angry."
},
/turf/open/floor/iron/edge{
dir = 1
Expand Down
Loading

0 comments on commit bf73c9d

Please sign in to comment.