From 13d4c8d5542e213fa4e4d63568f1ab743abdd0f4 Mon Sep 17 00:00:00 2001 From: Ben C Date: Wed, 29 Nov 2023 14:09:40 -0500 Subject: [PATCH] Update Docs Workflow --- .github/FUNDING.yml | 4 +- .github/ISSUE_TEMPLATE/bug_report.yml | 90 ++++---- .github/ISSUE_TEMPLATE/config.yml | 10 +- .github/ISSUE_TEMPLATE/feature_request.yml | 28 +-- .github/pull_request_template.md | 38 +-- .github/workflows/build.yaml | 142 ++++++------ .github/workflows/debug_build.yml | 6 +- .github/workflows/docs_build.yml | 105 +++++---- .github/workflows/release_build.yml | 6 +- .github/workflows/update_release.yml | 46 ++-- .github/workflows/update_schemas.yml | 8 +- .vscode/settings.json | 8 +- CODE_OF_CONDUCT.md | 256 ++++++++++----------- CONTRIBUTING.md | 139 +++++------ README.md | 187 ++++++++------- 15 files changed, 544 insertions(+), 529 deletions(-) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index b4627dab..f9b5d22e 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,2 +1,2 @@ -patreon: ownh -custom: ["https://paypal.me/xen42"] +patreon: ownh +custom: ["https://paypal.me/xen42"] diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 249ac6bb..7a6c635f 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -1,45 +1,45 @@ -name: Bug Report -description: File a bug report -labels: ["bug"] -body: - - type: textarea - id: what-happened - attributes: - label: What Happened? - description: Please describe what happened - validations: - required: true - - type: textarea - id: expected - attributes: - label: What was supposed to happen? - description: If applicable, describe what should have happened instead. - validations: - required: false - - type: dropdown - id: platform - attributes: - label: Platform - description: Please provide which platform you were playing on when you encountered this bug. - options: - - Steam - - Epic Games - - Xbox Game Pass - validations: - required: false - - type: textarea - id: mods - attributes: - label: Mods - description: Please define which mods you had enabled when the problem occurred. - render: Markdown - validations: - required: false - - type: textarea - id: logs - attributes: - label: Logs - description: If you can, try to locate the point in the logs where the error occurred and paste the message displayed here. - render: Shell - validations: - required: false +name: Bug Report +description: File a bug report +labels: ["bug"] +body: + - type: textarea + id: what-happened + attributes: + label: What Happened? + description: Please describe what happened + validations: + required: true + - type: textarea + id: expected + attributes: + label: What was supposed to happen? + description: If applicable, describe what should have happened instead. + validations: + required: false + - type: dropdown + id: platform + attributes: + label: Platform + description: Please provide which platform you were playing on when you encountered this bug. + options: + - Steam + - Epic Games + - Xbox Game Pass + validations: + required: false + - type: textarea + id: mods + attributes: + label: Mods + description: Please define which mods you had enabled when the problem occurred. + render: Markdown + validations: + required: false + - type: textarea + id: logs + attributes: + label: Logs + description: If you can, try to locate the point in the logs where the error occurred and paste the message displayed here. + render: Shell + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index bba1726a..793cb1f2 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,5 +1,5 @@ -blank_issues_enabled: true -contact_links: - - name: "Need Help with Creating an Addon?" - url: "https://discord.gg/wusTQYbYTc" - about: "Join our discord and look for #nh-addon-discussion" +blank_issues_enabled: true +contact_links: + - name: "Need Help with Creating an Addon?" + url: "https://discord.gg/wusTQYbYTc" + about: "Join our discord and look for #nh-addon-discussion" diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index c0639498..76411026 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -1,14 +1,14 @@ -name: Feature Request -description: Request a feature you'd like to see in a later release -labels: ["feature"] -body: - - type: textarea - id: feature - attributes: - label: Feature - description: Describe the feature you'd like to see in New Horizons. - - type: textarea - id: context - attributes: - label: Context - description: Provide any additional context such as screenshots or diagrams here. +name: Feature Request +description: Request a feature you'd like to see in a later release +labels: ["feature"] +body: + - type: textarea + id: feature + attributes: + label: Feature + description: Describe the feature you'd like to see in New Horizons. + - type: textarea + id: context + attributes: + label: Context + description: Provide any additional context such as screenshots or diagrams here. diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 6daf72c8..c1d8e92a 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,15 +1,23 @@ - -## Major features -- - - -## Minor features -- - - -## Improvements -- - - -## Bug fixes -- + + +## Major features + +- + + + +## Minor features + +- + + + +## Improvements + +- + + + +## Bug fixes + +- diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 0b6d13a3..24435184 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -1,73 +1,69 @@ -# Usage: -# -# Build: -# uses: "./.github/workflows/build" -# with: -# build_type: Debug -# -# - -name: Build - -on: - workflow_call: - inputs: - build_type: - description: 'Build type to pass to `dotnet`, should be either "Debug" or "Release"' - required: false - default: "Debug" - type: string - outputs: - schemas_changed: - description: 'Have the schemas been updated?' - value: ${{ jobs.Build.outputs.schemas_changed }} - - - -jobs: - Build: - runs-on: windows-latest - outputs: - schemas_changed: ${{ steps.changed_files.outputs.files_changed }} - steps: - - - name: Checkout Repo - uses: actions/checkout@v3 - - - name: Setup .NET - uses: actions/setup-dotnet@v3 - - # Disable Strong Name Verification to let us pull a switch-a-roo - - name: Disable strong name validation - run: "C:\\\"Program Files (x86)\"\\\"Microsoft SDKs\"\\Windows\\v10.0A\\bin\\\"NETFX 4.8 Tools\"\\x64\\sn.exe -Vr *" - - - name: Remove .csproj.user - run: "rm .\\NewHorizons\\NewHorizons.csproj.user" - - - name: Build Project - run: dotnet build -c ${{ inputs.build_type }} - - - name: Generate Schemas - run: .\SchemaExporter\bin\${{ inputs.build_type }}\SchemaExporter.exe - - - name: Delete XML documentation - run: rm .\NewHorizons\bin\${{ inputs.build_type }}\NewHorizons.xml - - - name: Upload Mod Artifact - uses: actions/upload-artifact@v3 - with: - name: xen.NewHorizons.${{ inputs.build_type }} - path: .\NewHorizons\bin\${{ inputs.build_type }} - - - name: Upload Schemas Artifact - uses: actions/upload-artifact@v3 - with: - name: NewHorizons-Schemas-${{ inputs.build_type }} - path: .\NewHorizons\Schemas - - - name: Verify Changed Schemas - uses: tj-actions/verify-changed-files@v12 - id: changed_files - with: - files: NewHorizons/Schemas/** - +# Usage: +# +# Build: +# uses: "./.github/workflows/build" +# with: +# build_type: Debug +# +# + +name: Build + +on: + workflow_call: + inputs: + build_type: + description: 'Build type to pass to `dotnet`, should be either "Debug" or "Release"' + required: false + default: "Debug" + type: string + outputs: + schemas_changed: + description: "Have the schemas been updated?" + value: ${{ jobs.Build.outputs.schemas_changed }} + +jobs: + Build: + runs-on: windows-latest + outputs: + schemas_changed: ${{ steps.changed_files.outputs.files_changed }} + steps: + - name: Checkout Repo + uses: actions/checkout@v3 + + - name: Setup .NET + uses: actions/setup-dotnet@v3 + + # Disable Strong Name Verification to let us pull a switch-a-roo + - name: Disable strong name validation + run: "C:\\\"Program Files (x86)\"\\\"Microsoft SDKs\"\\Windows\\v10.0A\\bin\\\"NETFX 4.8 Tools\"\\x64\\sn.exe -Vr *" + + - name: Remove .csproj.user + run: "rm .\\NewHorizons\\NewHorizons.csproj.user" + + - name: Build Project + run: dotnet build -c ${{ inputs.build_type }} + + - name: Generate Schemas + run: .\SchemaExporter\bin\${{ inputs.build_type }}\SchemaExporter.exe + + - name: Delete XML documentation + run: rm .\NewHorizons\bin\${{ inputs.build_type }}\NewHorizons.xml + + - name: Upload Mod Artifact + uses: actions/upload-artifact@v3 + with: + name: xen.NewHorizons.${{ inputs.build_type }} + path: .\NewHorizons\bin\${{ inputs.build_type }} + + - name: Upload Schemas Artifact + uses: actions/upload-artifact@v3 + with: + name: NewHorizons-Schemas-${{ inputs.build_type }} + path: .\NewHorizons\Schemas + + - name: Verify Changed Schemas + uses: tj-actions/verify-changed-files@v12 + id: changed_files + with: + files: NewHorizons/Schemas/** diff --git a/.github/workflows/debug_build.yml b/.github/workflows/debug_build.yml index e69d65c4..7638a694 100644 --- a/.github/workflows/debug_build.yml +++ b/.github/workflows/debug_build.yml @@ -13,14 +13,14 @@ on: jobs: Build: - uses: './.github/workflows/build.yaml' + uses: "./.github/workflows/build.yaml" with: build_type: Debug Update_Schemas: - name: 'Update Schemas' + name: "Update Schemas" needs: Build if: ${{ needs.Build.outputs.schemas_changed == 'true' }} - uses: './.github/workflows/update_schemas.yml' + uses: "./.github/workflows/update_schemas.yml" with: artifact_name: NewHorizons-Schemas-Debug secrets: inherit diff --git a/.github/workflows/docs_build.yml b/.github/workflows/docs_build.yml index 4614f088..474d9b49 100644 --- a/.github/workflows/docs_build.yml +++ b/.github/workflows/docs_build.yml @@ -1,53 +1,52 @@ -name: Build Docs - -on: - workflow_call: - inputs: - schemas_artifact: - description: "Name of the artifact that has updated schemas, set to `null` to not update" - default: "null" - required: false - type: string - push: - branches: [main] - paths: - - docs/** - - NewHorizons/Schemas/* - -permissions: - contents: read - pages: write - id-token: write - -concurrency: - group: "pages" - cancel-in-progress: true - -jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Download Schemas - if: ${{ inputs.schemas_artifact != 'null' }} - uses: actions/download-artifact@v3 - with: - name: ${{ inputs.schemas_artifact }} - path: NewHorizons/Schemas - - name: Build Site - uses: withastro/action@v0 - with: - path: ./docs - - deploy: - needs: build - runs-on: ubuntu-latest - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - steps: - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v1 - +name: Build Docs + +on: + workflow_call: + inputs: + schemas_artifact: + description: "Name of the artifact that has updated schemas, set to `null` to not update" + default: "null" + required: false + type: string + push: + branches: [main] + paths: + - docs/** + - NewHorizons/Schemas/* + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: "pages" + cancel-in-progress: true + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Download Schemas + if: ${{ inputs.schemas_artifact != 'null' }} + uses: actions/download-artifact@v3 + with: + name: ${{ inputs.schemas_artifact }} + path: NewHorizons/Schemas + - name: Build Site + uses: withastro/action@v1 + with: + path: ./docs + + deploy: + needs: build + runs-on: ubuntu-latest + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v1 diff --git a/.github/workflows/release_build.yml b/.github/workflows/release_build.yml index e2fd7b20..d27381cc 100644 --- a/.github/workflows/release_build.yml +++ b/.github/workflows/release_build.yml @@ -32,9 +32,9 @@ jobs: - name: Read Manifest id: read-manifest uses: notiz-dev/github-action-json-property@release - with: - path: './NewHorizons/manifest.json' - prop_path: 'version' + with: + path: "./NewHorizons/manifest.json" + prop_path: "version" - name: Print version numbers run: | echo "Manifest version: $MANIFEST_VERSION" diff --git a/.github/workflows/update_release.yml b/.github/workflows/update_release.yml index 1bad2aae..171f6349 100644 --- a/.github/workflows/update_release.yml +++ b/.github/workflows/update_release.yml @@ -1,29 +1,29 @@ name: Create/Update Release on: - pull_request: - branches: [main] - types: - - ready_for_review - - edited - - labeled + pull_request: + branches: [main] + types: + - ready_for_review + - edited + - labeled jobs: - Update_Release: - name: Create/Update Release - if: contains(github.event.pull_request.labels.*.name, 'update-pr') - runs-on: ubuntu-latest - steps: - - name: Create/Update Release - uses: ncipollo/release-action@v1 - with: - allowUpdates: true - name: Version ${{ github.event.pull_request.title }} - tag: v${{ github.event.pull_request.title }} - commit: main - body: | - ${{ github.event.pull_request.body }} + Update_Release: + name: Create/Update Release + if: contains(github.event.pull_request.labels.*.name, 'update-pr') + runs-on: ubuntu-latest + steps: + - name: Create/Update Release + uses: ncipollo/release-action@v1 + with: + allowUpdates: true + name: Version ${{ github.event.pull_request.title }} + tag: v${{ github.event.pull_request.title }} + commit: main + body: | + ${{ github.event.pull_request.body }} - **Generated From PR: ${{ github.event.pull_request.html_url }}** - draft: true - prerelease: false + **Generated From PR: ${{ github.event.pull_request.html_url }}** + draft: true + prerelease: false diff --git a/.github/workflows/update_schemas.yml b/.github/workflows/update_schemas.yml index 6bbf8da7..9f9a4194 100644 --- a/.github/workflows/update_schemas.yml +++ b/.github/workflows/update_schemas.yml @@ -5,10 +5,10 @@ on: inputs: artifact_name: required: true - description: 'Name of the artifact to download and check against' + description: "Name of the artifact to download and check against" type: string -# Prevents schemas from trying to update on old commits +# Prevents schemas from trying to update on old commits concurrency: group: "schemas-${{ github.ref }}" cancel-in-progress: true @@ -27,14 +27,14 @@ jobs: with: name: ${{ inputs.artifact_name }} path: NewHorizons/Schemas/ - + - name: Commit Schemas run: | git config --local user.email "bwc9876@gmail.com" git config --local user.name "Ben C" git add NewHorizons/Schemas/** git commit -m "Updated Schemas" - + - name: Push Schemas uses: ad-m/github-push-action@master with: diff --git a/.vscode/settings.json b/.vscode/settings.json index 9120e2b5..68b97ead 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,5 @@ { - "yaml.schemas": { - "https://json.schemastore.org/github-workflow.json": "vscode-vfs://github%2B7b2276223a312c22726566223a7b2274797065223a342c226964223a226465766f70732f6e65772d776f726b666c6f7773227d7d/xen-42/outer-wilds-new-horizons/.github/workflows/build.yaml" - } -} \ No newline at end of file + "yaml.schemas": { + "https://json.schemastore.org/github-workflow.json": "vscode-vfs://github%2B7b2276223a312c22726566223a7b2274797065223a342c226964223a226465766f70732f6e65772d776f726b666c6f7773227d7d/xen-42/outer-wilds-new-horizons/.github/workflows/build.yaml" + } +} diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index b24939ed..240a8b08 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -1,128 +1,128 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -We as members, contributors, and leaders pledge to make participation in our -community a harassment-free experience for everyone, regardless of age, body -size, visible or invisible disability, ethnicity, sex characteristics, gender -identity and expression, level of experience, education, socio-economic status, -nationality, personal appearance, race, religion, or sexual identity -and orientation. - -We pledge to act and interact in ways that contribute to an open, welcoming, -diverse, inclusive, and healthy community. - -## Our Standards - -Examples of behavior that contributes to a positive environment for our -community include: - -* Demonstrating empathy and kindness toward other people -* Being respectful of differing opinions, viewpoints, and experiences -* Giving and gracefully accepting constructive feedback -* Accepting responsibility and apologizing to those affected by our mistakes, - and learning from the experience -* Focusing on what is best not just for us as individuals, but for the - overall community - -Examples of unacceptable behavior include: - -* The use of sexualized language or imagery, and sexual attention or - advances of any kind -* Trolling, insulting or derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or email - address, without their explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Enforcement Responsibilities - -Community leaders are responsible for clarifying and enforcing our standards of -acceptable behavior and will take appropriate and fair corrective action in -response to any behavior that they deem inappropriate, threatening, offensive, -or harmful. - -Community leaders have the right and responsibility to remove, edit, or reject -comments, commits, code, wiki edits, issues, and other contributions that are -not aligned to this Code of Conduct, and will communicate reasons for moderation -decisions when appropriate. - -## Scope - -This Code of Conduct applies within all community spaces, and also applies when -an individual is officially representing the community in public spaces. -Examples of representing our community include using an official e-mail address, -posting via an official social media account, or acting as an appointed -representative at an online or offline event. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported to the community leaders responsible for enforcement at -xen#5498. -All complaints will be reviewed and investigated promptly and fairly. - -All community leaders are obligated to respect the privacy and security of the -reporter of any incident. - -## Enforcement Guidelines - -Community leaders will follow these Community Impact Guidelines in determining -the consequences for any action they deem in violation of this Code of Conduct: - -### 1. Correction - -**Community Impact**: Use of inappropriate language or other behavior deemed -unprofessional or unwelcome in the community. - -**Consequence**: A private, written warning from community leaders, providing -clarity around the nature of the violation and an explanation of why the -behavior was inappropriate. A public apology may be requested. - -### 2. Warning - -**Community Impact**: A violation through a single incident or series -of actions. - -**Consequence**: A warning with consequences for continued behavior. No -interaction with the people involved, including unsolicited interaction with -those enforcing the Code of Conduct, for a specified period of time. This -includes avoiding interactions in community spaces as well as external channels -like social media. Violating these terms may lead to a temporary or -permanent ban. - -### 3. Temporary Ban - -**Community Impact**: A serious violation of community standards, including -sustained inappropriate behavior. - -**Consequence**: A temporary ban from any sort of interaction or public -communication with the community for a specified period of time. No public or -private interaction with the people involved, including unsolicited interaction -with those enforcing the Code of Conduct, is allowed during this period. -Violating these terms may lead to a permanent ban. - -### 4. Permanent Ban - -**Community Impact**: Demonstrating a pattern of violation of community -standards, including sustained inappropriate behavior, harassment of an -individual, or aggression toward or disparagement of classes of individuals. - -**Consequence**: A permanent ban from any sort of public interaction within -the community. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], -version 2.0, available at -https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. - -Community Impact Guidelines were inspired by [Mozilla's code of conduct -enforcement ladder](https://github.com/mozilla/diversity). - -[homepage]: https://www.contributor-covenant.org - -For answers to common questions about this code of conduct, see the FAQ at -https://www.contributor-covenant.org/faq. Translations are available at -https://www.contributor-covenant.org/translations. +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +- Demonstrating empathy and kindness toward other people +- Being respectful of differing opinions, viewpoints, and experiences +- Giving and gracefully accepting constructive feedback +- Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +- Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +- The use of sexualized language or imagery, and sexual attention or + advances of any kind +- Trolling, insulting or derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or email + address, without their explicit permission +- Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +xen#5498. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a8477288..2adf6cc7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,69 +1,70 @@ -# Contributing - -Thank you for choosing to contribute to New Horizons! - -## Getting Started - -To get started, [fork this repository](https://github.com/xen-42/outer-wilds-new-horizons/fork). -Once you have a fork created, create a new branch off of `dev` where you will make your changes. -Then, clone your fork and checkout your new branch. - -## Building - -To build a development release of New Horizons, use the `Debug` build target. -This will automatically build to your mods directory in OWML (so long as it's in `%APPDATA%/OuterWildsModManager/OWML`). - -### Getting Line Numbers - -To save yourself the pain of decoding where in a function an error occured, you can [download this dll file](https://cdn.discordapp.com/attachments/929787137895854100/936860223983976448/mono-2.0-bdwgc.dll) and place it in `MonoBleedingEdge/EmbedRuntime` of the game's folder. -Then (so long as you build targeting `Debug`), line numbers will be shown in any error that comes from New Horizons - -## Provide examples -When adding a new feature, include a complete set of planet config files that will sufficiently demonstrate the functionality of the feature/bug fix/improvement. This way reviewers can just copy paste these files into the New Horizons planets folder. - -## Updating The Schema - -When you add fields to config classes, please document them using XML documentation so that our action can generate a proper schema. - -```cs -/// -/// This is my new field! -/// -public string myField; -``` - -You can also use `Range` (from `System.ComponentModel.DataAnnotations` NOT Unity), and `DefaultValue`: - -```cs -/// -/// This is my new field! -/// -[Range(0, 100)] -[DefaultValue(50)] -public int myField; -``` - -### Enums - -You can also setup enums in the config classes: - -```cs -[JsonConverter(typeof(StringEnumConverter))] -public enum MyCoolEnum { - [EnumMember(Value = @"value1")] - Value1 = 0, - [EnumMember(Value = @"value2")] - Value2 = 1, -} - -/// -/// My enum field -/// -public MyCoolEnum enumField; -``` - -These will automatically be converted from strings to the proper enum type. - -## Contributing to Documentation - -If you wish to contribute to the documentation, take a look at [Setup.md](docs/Setup.md) in the docs folder. +# Contributing + +Thank you for choosing to contribute to New Horizons! + +## Getting Started + +To get started, [fork this repository](https://github.com/xen-42/outer-wilds-new-horizons/fork). +Once you have a fork created, create a new branch off of `dev` where you will make your changes. +Then, clone your fork and checkout your new branch. + +## Building + +To build a development release of New Horizons, use the `Debug` build target. +This will automatically build to your mods directory in OWML (so long as it's in `%APPDATA%/OuterWildsModManager/OWML`). + +### Getting Line Numbers + +To save yourself the pain of decoding where in a function an error occured, you can [download this dll file](https://cdn.discordapp.com/attachments/929787137895854100/936860223983976448/mono-2.0-bdwgc.dll) and place it in `MonoBleedingEdge/EmbedRuntime` of the game's folder. +Then (so long as you build targeting `Debug`), line numbers will be shown in any error that comes from New Horizons + +## Provide examples + +When adding a new feature, include a complete set of planet config files that will sufficiently demonstrate the functionality of the feature/bug fix/improvement. This way reviewers can just copy paste these files into the New Horizons planets folder. + +## Updating The Schema + +When you add fields to config classes, please document them using XML documentation so that our action can generate a proper schema. + +```cs +/// +/// This is my new field! +/// +public string myField; +``` + +You can also use `Range` (from `System.ComponentModel.DataAnnotations` NOT Unity), and `DefaultValue`: + +```cs +/// +/// This is my new field! +/// +[Range(0, 100)] +[DefaultValue(50)] +public int myField; +``` + +### Enums + +You can also setup enums in the config classes: + +```cs +[JsonConverter(typeof(StringEnumConverter))] +public enum MyCoolEnum { + [EnumMember(Value = @"value1")] + Value1 = 0, + [EnumMember(Value = @"value2")] + Value2 = 1, +} + +/// +/// My enum field +/// +public MyCoolEnum enumField; +``` + +These will automatically be converted from strings to the proper enum type. + +## Contributing to Documentation + +If you wish to contribute to the documentation, take a look at [Setup.md](docs/Setup.md) in the docs folder. diff --git a/README.md b/README.md index a8960beb..49cfb2ff 100644 --- a/README.md +++ b/README.md @@ -1,88 +1,99 @@ -![new horizons thumbnail 2](https://user-images.githubusercontent.com/22628069/154112130-b777f618-245f-44c9-9408-e11141fc5fde.png) - - -[![Support me on Patreon](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Fshieldsio-patreon.vercel.app%2Fapi%3Fusername%3Downh%26type%3Dpatrons&style=flat)](https://patreon.com/ownh) -[![Donate](https://img.shields.io/badge/Donate-PayPal-blue.svg)](https://www.paypal.com/paypalme/xen42) -![Current version](https://img.shields.io/github/manifest-json/v/xen-42/outer-wilds-new-horizons?color=gree&filename=NewHorizons%2Fmanifest.json) -![Downloads](https://img.shields.io/github/downloads/xen-42/outer-wilds-new-horizons/total) -![Downloads of newest version](https://img.shields.io/github/downloads/xen-42/outer-wilds-new-horizons/latest/total) -![Latest release date](https://img.shields.io/github/release-date/xen-42/outer-wilds-new-horizons) -[![Build](https://github.com/xen-42/outer-wilds-new-horizons/actions/workflows/build.yaml/badge.svg)](https://github.com/xen-42/outer-wilds-new-horizons/actions/workflows/build.yaml) - -*Do you want to create planets using New Horizons?* Then check out our [website](https://nh.outerwildsmods.com/) for all our documentation! - -If you want to see examples of what NH can do check out the [examples add-on](https://github.com/xen-42/ow-new-horizons-examples) or [real solar system add-on](https://github.com/xen-42/outer-wilds-real-solar-system). - -Check the ship's log for how to use your warp drive to travel between star systems! - - - -- [Incompatible mods](#incompatible-mods) -- [Supported mods](#supported-mods) -- [Development](#development) -- [Contact](#contact) -- [Credits](#credits) - - - -## Incompatible mods -- Quantum Space Buddies. -- OW Randomizer. - -## Supported Mods -New Horizons has optional support for a few other mods: -- [Discord Rich Presence](https://outerwildsmods.com/mods/discordrichpresence/): Showcase what New Horizons worlds you're exploring in your Discord status! -- [Voice Acting Mod](https://outerwildsmods.com/mods/voiceactingmod/): Characters in NH can be given voice lines which will work with this mod installed. Try it out by downloading NH Examples and talking to Ernesto! -- [Achievements+](https://outerwildsmods.com/mods/achievements/): New Horizons and its addons have achievements you can unlock with this mod installed! - -## Features -- Load planet meshes or details from asset bundles -- Use our [template Unity project](https://github.com/xen-42/outer-wilds-unity-template) to create assets for use in NH, including all game scripts recovered using UtinyRipper -- Separate solar system scenes accessible via wormhole OR via the ship's new warp drive feature accessible via the ship's log -- Remove or edit existing planets, including what they orbit around -- Create custom planets from heightmaps/texturemaps -- Create stars (and supernovae), comets, asteroid belts, satellites, quantum planets/moons, and custom Dark Bramble dimensions. -- Add stock planet features to custom ones, such as geysers, cloak fields, meteor-launching volcanoes, rafts, tornados, and Dark Bramble seeds/nodes. -- Binary orbits -- Signalscope signals and custom frequencies -- Surface scatter: rocks, trees, etc, using in-game models, or custom ones -- Black hole / white hole pairs -- Custom dialogue, slide-reel projections, translatable text, and custom ship log entries for rumour mode and map mode -- Funnels and variable surface height (can be made of sand/water/lava/star) - -## Development -If you want to help (please dear god help us) then check out the [contact](#contact) info below or the [contributing](https://github.com/xen-42/outer-wilds-new-horizons/blob/master/CONTRIBUTING.md) page. - -The Unity project we use to make asset bundles for this mod is [here](https://github.com/xen-42/new-horizons-unity). - -## Contact -Join the [Outer Wilds Modding Discord](https://discord.gg/MvbCbBz6Q6) if you have any questions or just want to chat about modding! Theres a New Horizons category there dedicated to discussion of this mod. - -## Credits -Main authors: -- [xen](https://github.com/xen-42) -- [Bwc9876](https://github.com/Bwc9876) (New Horizons v0.9.0 onwards) - -New Horizons was made with help from: -- [JohnCorby](https://github.com/JohnCorby) -- [MegaPiggy](https://github.com/MegaPiggy) -- [FreezeDriedMangos](https://github.com/FreezeDriedMangos) -- [Trifid](https://github.com/TerrificTrifid) -- [Hawkbar](https://github.com/Hawkbat) -- And many others, see the [contributors](https://github.com/Outer-Wilds-New-Horizons/new-horizons/graphs/contributors) page. - -Translation credits: -- Russian: Tlya -- German: Nolram -- Spanish: Ciborgm9, Ink, GayCoffee -- French: xen -- Japanese: TRSasasusu - -New Horizons was based off [Marshmallow](https://github.com/misternebula/Marshmallow) was made by: -- [_nebula](https://github.com/misternebula) - -with help from: -- TAImatem -- AmazingAlek -- Raicuparta -- and the Outer Wilds discord server. +![new horizons thumbnail 2](https://user-images.githubusercontent.com/22628069/154112130-b777f618-245f-44c9-9408-e11141fc5fde.png) + +[![Support me on Patreon](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Fshieldsio-patreon.vercel.app%2Fapi%3Fusername%3Downh%26type%3Dpatrons&style=flat)](https://patreon.com/ownh) +[![Donate](https://img.shields.io/badge/Donate-PayPal-blue.svg)](https://www.paypal.com/paypalme/xen42) +![Current version](https://img.shields.io/github/manifest-json/v/xen-42/outer-wilds-new-horizons?color=gree&filename=NewHorizons%2Fmanifest.json) +![Downloads](https://img.shields.io/github/downloads/xen-42/outer-wilds-new-horizons/total) +![Downloads of newest version](https://img.shields.io/github/downloads/xen-42/outer-wilds-new-horizons/latest/total) +![Latest release date](https://img.shields.io/github/release-date/xen-42/outer-wilds-new-horizons) +[![Build](https://github.com/xen-42/outer-wilds-new-horizons/actions/workflows/build.yaml/badge.svg)](https://github.com/xen-42/outer-wilds-new-horizons/actions/workflows/build.yaml) + +_Do you want to create planets using New Horizons?_ Then check out our [website](https://nh.outerwildsmods.com/) for all our documentation! + +If you want to see examples of what NH can do check out the [examples add-on](https://github.com/xen-42/ow-new-horizons-examples) or [real solar system add-on](https://github.com/xen-42/outer-wilds-real-solar-system). + +Check the ship's log for how to use your warp drive to travel between star systems! + + + +- [Incompatible mods](#incompatible-mods) +- [Supported mods](#supported-mods) +- [Development](#development) +- [Contact](#contact) +- [Credits](#credits) + + + +## Incompatible mods + +- Quantum Space Buddies. +- OW Randomizer. + +## Supported Mods + +New Horizons has optional support for a few other mods: + +- [Discord Rich Presence](https://outerwildsmods.com/mods/discordrichpresence/): Showcase what New Horizons worlds you're exploring in your Discord status! +- [Voice Acting Mod](https://outerwildsmods.com/mods/voiceactingmod/): Characters in NH can be given voice lines which will work with this mod installed. Try it out by downloading NH Examples and talking to Ernesto! +- [Achievements+](https://outerwildsmods.com/mods/achievements/): New Horizons and its addons have achievements you can unlock with this mod installed! + +## Features + +- Load planet meshes or details from asset bundles +- Use our [template Unity project](https://github.com/xen-42/outer-wilds-unity-template) to create assets for use in NH, including all game scripts recovered using UtinyRipper +- Separate solar system scenes accessible via wormhole OR via the ship's new warp drive feature accessible via the ship's log +- Remove or edit existing planets, including what they orbit around +- Create custom planets from heightmaps/texturemaps +- Create stars (and supernovae), comets, asteroid belts, satellites, quantum planets/moons, and custom Dark Bramble dimensions. +- Add stock planet features to custom ones, such as geysers, cloak fields, meteor-launching volcanoes, rafts, tornados, and Dark Bramble seeds/nodes. +- Binary orbits +- Signalscope signals and custom frequencies +- Surface scatter: rocks, trees, etc, using in-game models, or custom ones +- Black hole / white hole pairs +- Custom dialogue, slide-reel projections, translatable text, and custom ship log entries for rumour mode and map mode +- Funnels and variable surface height (can be made of sand/water/lava/star) + +## Development + +If you want to help (please dear god help us) then check out the [contact](#contact) info below or the [contributing](https://github.com/xen-42/outer-wilds-new-horizons/blob/master/CONTRIBUTING.md) page. + +The Unity project we use to make asset bundles for this mod is [here](https://github.com/xen-42/new-horizons-unity). + +## Contact + +Join the [Outer Wilds Modding Discord](https://discord.gg/MvbCbBz6Q6) if you have any questions or just want to chat about modding! Theres a New Horizons category there dedicated to discussion of this mod. + +## Credits + +Main authors: + +- [xen](https://github.com/xen-42) +- [Bwc9876](https://github.com/Bwc9876) (New Horizons v0.9.0 onwards) + +New Horizons was made with help from: + +- [JohnCorby](https://github.com/JohnCorby) +- [MegaPiggy](https://github.com/MegaPiggy) +- [FreezeDriedMangos](https://github.com/FreezeDriedMangos) +- [Trifid](https://github.com/TerrificTrifid) +- [Hawkbar](https://github.com/Hawkbat) +- And many others, see the [contributors](https://github.com/Outer-Wilds-New-Horizons/new-horizons/graphs/contributors) page. + +Translation credits: + +- Russian: Tlya +- German: Nolram +- Spanish: Ciborgm9, Ink, GayCoffee +- French: xen +- Japanese: TRSasasusu + +New Horizons was based off [Marshmallow](https://github.com/misternebula/Marshmallow) was made by: + +- [\_nebula](https://github.com/misternebula) + +with help from: + +- TAImatem +- AmazingAlek +- Raicuparta +- and the Outer Wilds discord server.