Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/space-wizards/docs
Browse files Browse the repository at this point in the history
  • Loading branch information
ficcialfaint committed Dec 1, 2023
2 parents d7b3dfd + 435d8b7 commit 7341c6c
Show file tree
Hide file tree
Showing 66 changed files with 6,601 additions and 107 deletions.
14 changes: 14 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
"English":
- 'src/en/**'

"Russian":
- 'src/ru/**'

"Ukrainian":
- 'src/ua/**'

"Scripts":
- 'scripts/**'

"Design":
- 'src/en/proposals/**'
12 changes: 12 additions & 0 deletions .github/workflows/labeler-pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: "Labels: PR"

on:
- pull_request_target

jobs:
labeler:
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v4
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
book
.idea/
4 changes: 3 additions & 1 deletion book.toml
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ warning-policy = "ignore" # false-positives like hell with absolute links & late
"/en/hosting/SS14-Admin/index.html" = "/en/server-hosting/setting-up-ss14-admin.html"
"/en/hosting/robust-cdn/index.html" = "/en/server-hosting/setting-up-robust-cdn.html"
"/en/hosting/oauth/index.html" = "/en/server-hosting/oauth.html"
"/en/hosting/port-forwarding/index.html" = "/en/server-hosting/port-forwarding.html"
"/en/technical-docs/acronyms-and-nomenclature/index.html" = "/en/general-development/codebase-info/acronyms-and-nomenclature.html"
"/en/getting-started/engine-changes/index.html" = "/en/general-developmnet/codebase-info/prs-with-engine-changes.html"
"/en/getting-started/debugging-tools/index.html" = "/en/general-development/tips/debugging-tools.html"
Expand Down Expand Up @@ -116,4 +117,5 @@ warning-policy = "ignore" # false-positives like hell with absolute links & late
"/en/engine/porting-visualizers/index.html" = "/en/ss14-by-example/making-a-sprite-dynamic/porting-appearance-visualizers.html"
"/en/engine/lighting-fov/index.html" = "/en/robust-toolbox/rendering/lighting-and-fov.html"
"/en/engine/sprites-icons/index.html" = "/en/robust-toolbox/rendering/sprites-and-icons.html"
"/en/hosting/hub-rules/index.html" = "/en/community/space-wizards-hub-rules.html"
"/hosting/hub-rules/index.html" = "/en/community/space-wizards-hub-rules.html"
"/en/hosting/hub-rules/index.html" = "/en/community/space-wizards-hub-rules.html"
50 changes: 50 additions & 0 deletions src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ Robust Toolbox
- [Build Configurations](en/robust-toolbox/build-configurations.md)
- [Preprocessor Defines](en/robust-toolbox/preprocessor-defines.md)
- [MIDI](en/robust-toolbox/midi.md)
- [Publishing a new version](en/robust-toolbox/publishing-robusttoolbox.md)

Space Station 14
================
Expand Down Expand Up @@ -119,6 +120,14 @@ Design Proposals

----------------------

- [Anomaly cores](en/proposals/anomaly-cores.md)
- [PDA messaging](en/proposals/pda-messaging.md)
- [Plant genetics](en/proposals/deltanedas-plant-genetics.md)
- [Security Genpop Rework](en/proposals/genpop_security.md)
- [Game Director](en/proposals/game-director.md)
- [Grid Inventory](en/proposals/grid-inventory.md)


Server Hosting
==============

Expand All @@ -131,6 +140,8 @@ Server Hosting
- [Setting up SS14.Changelog](en/server-hosting/setting-up-ss14-changelog.md)
- [Setting up SS14.Watchdog](en/server-hosting/setting-up-ss14-watchdog.md)
- [OAuth](en/server-hosting/oauth.md)
- [Maintenance]()
- [Debugging server lockups](en/server-hosting/maintenance/debugging-server-lockups.md)

Other Projects
==============
Expand Down Expand Up @@ -167,3 +178,42 @@ Community
- [Admin Command Cookbook](en/community/admin/admin-tooling/admin-command-cookbook.md)
- [Wizards Den Admin Policy](en/community/admin/wizards-den-admin-policy.md)
- [Wizards Den Banning Policy](en/community/admin/wizards-den-banning-policy.md)
- [Progress Report Creation](en/community/progress-report-creation.md)

Maintainer Meetings
==============

----------------------
- [2023-09-23](en/maintainer-meetings/maintainer-meeting-2023-09-23.md)
- [2023-09-09](en/maintainer-meetings/maintainer-meeting-2023-09-09.md)
- [2023-09-02](en/maintainer-meetings/maintainer-meeting-2023-09-02.md)
- [2023-08-19](en/maintainer-meetings/maintainer-meeting-2023-08-19.md)
- [2023-07-29](en/maintainer-meetings/maintainer-meeting-2023-07-29.md)
- [2023-06-10](en/maintainer-meetings/maintainer-meeting-2023-06-10.md)
- [2023-05-20](en/maintainer-meetings/maintainer-meeting-2023-05-20.md)
- [2023-05-06](en/maintainer-meetings/maintainer-meeting-2023-05-06.md)
- [2023-03-05](en/maintainer-meetings/maintainer-meeting-2023-03-05.md)
- [2023-02-11](en/maintainer-meetings/maintainer-meeting-2023-02-11.md)
- [2023-01-21](en/maintainer-meetings/maintainer-meeting-2023-01-21.md)
- [2023-01-07](en/maintainer-meetings/maintainer-meeting-2023-01-07.md)
- [2022-07-30](en/maintainer-meetings/maintainer-meeting-2022-07-30.md)
- [2022-07-16](en/maintainer-meetings/maintainer-meeting-2022-07-16.md)
- [2022-06-25](en/maintainer-meetings/maintainer-meeting-2022-06-25.md)
- [2022-06-11](en/maintainer-meetings/maintainer-meeting-2022-06-11.md)
- [2022-05-28](en/maintainer-meetings/maintainer-meeting-2022-05-28.md)
- [2022-05-14](en/maintainer-meetings/maintainer-meeting-2022-05-14.md)
- [2022-04-30](en/maintainer-meetings/maintainer-meeting-2022-04-30.md)
- [2022-04-16](en/maintainer-meetings/maintainer-meeting-2022-04-16.md)
- [2022-04-02](en/maintainer-meetings/maintainer-meeting-2022-04-02.md)
- [2022-03-19](en/maintainer-meetings/maintainer-meeting-2022-03-19.md)
- [2022-03-05](en/maintainer-meetings/maintainer-meeting-2022-03-05.md)
- [2022-02-05](en/maintainer-meetings/maintainer-meeting-2022-02-05.md)
- [2022-01-22](en/maintainer-meetings/maintainer-meeting-2022-01-22.md)
- [2022-01-08](en/maintainer-meetings/maintainer-meeting-2022-01-08.md)
- [2021-12-11](en/maintainer-meetings/maintainer-meeting-2021-12-11.md)
- [2021-11-27](en/maintainer-meetings/maintainer-meeting-2021-11-27.md)
- [2021-11-13](en/maintainer-meetings/maintainer-meeting-2021-11-13.md)
- [2021-10-30](en/maintainer-meetings/maintainer-meeting-2021-10-30.md)
- [2021-10-16](en/maintainer-meetings/maintainer-meeting-2021-10-16.md)
- [2021-10-02](en/maintainer-meetings/maintainer-meeting-2021-10-02.md)
- [2021-09-19](en/maintainer-meetings/maintainer-meeting-2021-09-19.md)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/en/assets/images/grid-inventory/in-game.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/en/assets/images/hosting/scsi-while-true.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/en/assets/images/hosting/windbg-open.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
30 changes: 30 additions & 0 deletions src/en/community/progress-report-creation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Progress Report Creation
*A short handbook about making a progress report.*

### Checklist
- Set an explicit start- & end-date of contributions you want to outline.
- Create a Trello board based off of the Progress Report Trello Template.
- Run the [tool](https://github.com/space-wizards/github2trello) to generate Trello cards for every Content/Engine pull request. Note that Content PRs without changelogs will be skipped.
- Organize the cards into their columns as you see fit.
- Write descriptions for every card.
- Combine the card contents into a markdown file based off of the Progress Report Markdown Template, but be sure to update the PR number.
- Ask PJB for the Patrons list.
- Add the contributors list, see below.
- Replace/remove names as stated [here](https://github.com/space-wizards/space-station-14/blob/master/Tools/contribs_shared.ps1).
- Put the markdown file into `website-content/content/post`. Images go in a new `website-content/static/images/post/pr_[number]` directory and videos go in a new `website-content/static/video/pr_[number]` directory.
- Create PNGs and MP4s for every section that needs them.
- Run [this script](https://github.com/space-wizards/website-content/blob/master/Tools/pr-image-convert.ps1) in the directory with all of the PNGs. Requires [ImageMagick](https://imagemagick.org/index.php) and [optipng](http://optipng.sourceforge.net/).
- Make a thumbnail (800x450) PNG and put it in `website-content/assets/images/thumbnails`.
- Create a pull request on the [website repo](https://github.com/space-wizards/website-content). Give everyone a chance to review it for a couple days, then merge at the same time as you release it.

### Datasources
- List of all contributors with the following command: `git shortlog -s -n --since=<start> --until=<end>`.
- Commit-count: `git rev-list --count master --since=<start> --until=<end>`.

### Places to Release
- Website. Automatically published when the pull request to `website-content` is merged.
- Steam (bug PJB or Smug).
- Discord.
- Patreon (bug PJB).
- Reddit (r/ss13, r/ss14, & r/linux_gaming).
- Twitter (bug PJB or Smug).
30 changes: 17 additions & 13 deletions src/en/general-development/codebase-info/conventions.md
Original file line number Diff line number Diff line change
Expand Up @@ -133,10 +133,10 @@ This is so it is clear to others what it is. This is especially true if the same
## Prototypes

### Prototype data-fields
Don't cache prototypes, use prototypeManager to index them when they are needed. You can store them by their ID. When using data-fields that involve prototype ID strings, use custom type serializers. For example, a data-field for a list of prototype IDs should use something like:
Don't cache prototypes, use prototypeManager to index them when they are needed. You can store them by their ID. When using data-fields that involve prototype ID strings, use ProtoId<T>. For example, a data-field for a list of prototype IDs should use something like:
```csharp=
[DataField("exampleTypes", customTypeSerializer: typeof(PrototypeIdListSerializer<ExamplePrototype>))]
public List<string> ExampleTypes = new();
[DataField]
public List<ProtoId<ExamplePrototype>> ExampleTypes = new();
```

### Enums vs Prototypes
Expand All @@ -155,7 +155,7 @@ When specifying sound data fields, use `SoundSpecifier`.
<summary>C# code example (click to expand)</summary>

```csharp=
[DataField("sound", required: true)]
[DataField(required: true)]
public SoundSpecifier Sound { get; } = default!;
```

Expand Down Expand Up @@ -190,7 +190,7 @@ When specifying sprite or texture data fields, use `SpriteSpecifier`.
<summary>C# code example (click to expand)</summary>

```csharp=
[DataField("icon")]
[DataField]
public SpriteSpecifier Icon { get; } = SpriteSpecifier.Invalid;
```

Expand All @@ -200,10 +200,14 @@ public SpriteSpecifier Icon { get; } = SpriteSpecifier.Invalid;
<summary>YAML prototype example (click to expand)</summary>

```yml=
# You can specify a specific texture file like this
# You can specify a specific texture file like this, /Textures/ is optional
- type: MyComponent
icon: /Textures/path/to/my/texture.png
# /Textures/ is optional and will be automatically inferred, however make sure that you don't start the path with a slash if you don't specify it
- type: MyComponent
icon: path/to/my/texture.png
# You can specify an rsi sprite like this
- type: MyOtherComponent
icon:
Expand Down Expand Up @@ -316,22 +320,22 @@ Transform(uid).Coordinates;
### Public API Method Signature
All public Entity System API Methods that deal with entities and game logic should *always* follow a very specific structure.

All relevant `EntityUid` should come first.
All relevant `Entity<T?>` and `EntityUid` should come first.
The `T?` in `Entity<T?>` stands for the component type you need from the entity.
The question mark `?` must be present at the end to mark the component type as nullable.
Next, any arguments you want should come afterwards.
And finally, all the components you need from the entity or entities should come last.
The component arguments shall be nullable, and default to `null`.

The first thing you should do in your method's body should then be calling `Resolve` for the entity UID and components.

<details>
<summary>Example (click to expand)</summary>

```csharp=
public void SetCount(EntityUid uid, int count, StackComponent? stack = null)
public void SetCount(Entity<StackComponent?> stack, int count)
{
// This call below will set "stack" to the correct instance if it's null.
// This call below will set "Comp" to the correct instance if it's null.
// If all components were resolved to an instance or were non-null, it returns true.
if(!Resolve(uid, ref stack))
if(!Resolve(stack, ref stack.Comp))
return; // If the component wasn't found, this will log an error by default.
// Logic here!
Expand Down
Loading

0 comments on commit 7341c6c

Please sign in to comment.