From 639379c3469dc3b8fc641223da74d21abd328db9 Mon Sep 17 00:00:00 2001 From: FunkyShoe <111538779+FunkyShoeMan@users.noreply.github.com> Date: Fri, 14 Oct 2022 23:49:21 -0400 Subject: [PATCH] Initial commit --- .gitattributes | 2 ++ .github/workflows/create-release.yml | 36 ++++++++++++++++++++++++++ LICENSE | 21 +++++++++++++++ NewHorizonsConfig.dll | Bin 0 -> 4608 bytes README.md | 37 +++++++++++++++++++++++++++ default-config.json | 3 +++ manifest.json | 9 +++++++ planets/example_config.json | 4 +++ 8 files changed, 112 insertions(+) create mode 100644 .gitattributes create mode 100644 .github/workflows/create-release.yml create mode 100644 LICENSE create mode 100644 NewHorizonsConfig.dll create mode 100644 README.md create mode 100644 default-config.json create mode 100644 manifest.json create mode 100644 planets/example_config.json diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..51d9dc8 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Prevent paths like .gitignore, .gitattributes, etc from being archived in the release zip. +.* export-ignore diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml new file mode 100644 index 0000000..6e27ebc --- /dev/null +++ b/.github/workflows/create-release.yml @@ -0,0 +1,36 @@ +name: Create Release + +on: + push: + branches: [ main ] + workflow_dispatch: + +jobs: + release: + runs-on: ubuntu-latest + steps: + - name: Checkout repo files + uses: actions/checkout@v2 + + - name: Create zip with repo files + run: git archive --format zip --output ${{ github.event.repository.name }}.zip HEAD + + - name: Read checked out manifest.json + id: read-manifest + run: echo "::set-output name=manifest::$(< ./manifest.json sed ':a;N;$!ba;s/\n/ /g')" + + - name: Check if version in manifest.json is already released + uses: mukunku/tag-exists-action@v1.0.0 + id: checkTag + with: + tag: "v${{fromJson(steps.read-manifest.outputs.manifest).version}}" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Publish repo zip with version from manifest + if: ${{ (fromJson(steps.read-manifest.outputs.manifest).version != '0.0.0') && (steps.checkTag.outputs.exists == 'false') }} + uses: softprops/action-gh-release@v1 + with: + files: "${{ github.event.repository.name }}.zip" + body: "${{ github.event.head_commit.message }}" + tag_name: "v${{fromJson(steps.read-manifest.outputs.manifest).version}}" diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..0b41965 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 New Horizons Team + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/NewHorizonsConfig.dll b/NewHorizonsConfig.dll new file mode 100644 index 0000000000000000000000000000000000000000..9ab873d06d0b9aa2d03f0f4e180b89445d9ab609 GIT binary patch literal 4608 zcmeHKU2Ggz75-+{-q=pNO%~F$DKwKf1t-PZb!;hiY3bTt+u7DXTd(6ZU@4y6ycA7=SK*_wE62v6YZf_`}h4vJ;1IC-C#$yGP#A zX73(ZTDN?o=D8KmtQsZLaooTt3d5^AhUFO9g@RFa%OZ9E{e8zG)%hu4R*T`WKYr&< zbG3JI)Yz+~fj&~=A@#}QYz=-He!xD}*F(D{Arb?wb3nR;7*@X`Mde?+jfRp$_|pKe zAUhf0bs325unOEqTAFgB+j$>0Hh`WEehdWpzWzD9O)q`&}HQ=adY zI8wG{*pZ2n26aG&YEquCT?#7JDw$H3@|$f08DOH>Z?=bITnW-P9o=}*0B-F8G)epq z;0@^dzyoy0<>GxF)zn;~$FCA~=~onXXGz3=!m|@vw4${C(nu|bi04%OfJiIlj9Mt+CO2t zMUEvl)54Utr zPhcc=0ZIH=zedV8Na;hKSlS~kl(uQO!S>U!tIu^F{xyUpZaFvy{;w(2Lg?mHotV zJWSk&cbe1K-yV;U+TrVf+*a^<(r;>Q7-W z3dA473h^VjLfnrRi66)Jh=&#atiqFu{v3WtdO=aXpl}Iql5!D$AolTRbX{*|mkueA zQIwuGA&pO|uHK599EKTa%7pE_YPQN_gg$lA(DX?6}^ct%t@zk7KuG`{sm=_zT zUC+AgI{tV*hpJz4J=-dx(C`CMO-;JCEz~?eH6tA1StYQd;*4VjjVY&MIf62t2-U$c ztD=*KNl%!8=v-w(c)&wdtaFqV#d@V;7H!d{O}f=(%eS`B#(iH@i*{ql z3OYqwWX~*%s_9*9YgsbAiU_88L5K~vlhK?rZP{X3cs_&Ep4DVdy3U$ase7i3-A;B^ z_$AM(ZDrE#nnfQuV^P@Vrt0}SC+9sTp%m<7OuDs(XI0jBWmRjY(`e6GtUG~K6>?3k zQ?zU*rp+xW^PAa>WK)s1EN7Sz0dqHAvv$i-s%+cQTrh^`b50;UQ*8(2IIVLWZJ0%| z7Ht?ToSmEH=BQR(C+u^^X<^rdrzS^TskhBYl>#?pPl$E%lI7ODrtw+JtT?V8SS7zn zYWkz>aBBtOU9w7I2RqD%@LK$Ev(bGnOz~OQEQfjak?S}RnBksTC|=+Jka5b}rXvCr z0@ITh>ETV*Actppp6v$jGZ!8!%4N0=&$on|_kM8u<Yy_7qU9M=<{kdu=+ z;^bVSM~iO#M`bZy(jPqQnYDS>nc6G~wJn#{J$J*`D7Qxy-+dbP((TqUM7JUz)R1g# zJLA_k4dZ0`WEwcG;n=7-JhnC_P7My3qho_3!|BrCSZP=c7RzhJ;o>PVbgI0@hX7X? z;yubAkkfD|H9xh~I(DCl_T1CFYe#8l;^Qq=*78{q8uJWxQqD129D}klj;a0U-j}T` zXuOiKKEO}D)jB}l!JV*J$QEw?=4bD{^v*ZOU;W*lw^zRW`lj@B`pK0A797twYuRPr zU?|Gm2rKT!pd&U0*P~iE$l|BU)Jn&GXvS>CEnZkrduTUqs#Y!{5xsJxMFX;L$lgw9 zzJ@~1d6v?wZO@sO6INm&)DaB1_a38`?QZT=`9DRG?*-r?;QCgx!`B%%(hjB|Eh~K z8p|fjPoq|oCw!V`+~$eT@szLetV=kiZtW#!P2E8?vT(mece5Grx^|I99qonMp zZLxEXE0nQBeib!(DZLO>l4gx*&tE3ZqlUJBL#%@7*2niUGpeZw$@w1bHL0y_)$SE@ z`?@LGV)G~Sous~5>Z&MBG7>d3lm`{8(@Lo5Y^51|#~J*cq;2v8PEbpyo-ku&>a9|* z$G2Hnw<(Gjln)Eh8dl^(GyBpbnF-LV-Kzfw`!cF>k*8i6>pJrgbVLUDpd5^-9BiGp uJrmpWFskN^(<@*3SY$LCjL5&6C;k7(zzF|me5(16!AG{x{}ul?M&MtzK-3`s literal 0 HcmV?d00001 diff --git a/README.md b/README.md new file mode 100644 index 0000000..b11704b --- /dev/null +++ b/README.md @@ -0,0 +1,37 @@ +# Outer Wilds planet creation template + A template project for adding planets to Outer Wilds with [New Horizons](https://github.com/xen-42/outer-wilds-new-horizons). + +The source code for the dll used is [here](https://github.com/xen-42/ow-new-horizons-mod-template). + +## Prerequisites +- Outer Wilds Mod Manager (get it from the [Outer Wilds Mods](https://outerwildsmods.com/) website) +- OWML installed in the Mod Manager +- A GitHub account (required for forking the repo and for releasing your mod to the public) + +## How to use this template +1. Generate your repository from this template (click on Use This Template above). +2. Clone your repository to your machine into a new folder in OWML's `Mods` folder. Name this folder [your name].[your unique mod ID]. More on this later. You can use GitHub desktop for this, then click the green "Code" dropdown and select open with GitHub Desktop. +3. Follow the instructions in [Outer Wilds New Horizons](https://nh.outerwildsmods.com/) on how to create planet config files. Place your config files into the `planets` folder in [your name].[your unique mod ID]. You can delete the `example_config` file in there while you're at it. When you're done you can commit the changes to your repo. +5. Edit `NewHorizonsTemplate/manifest.json`. It will look like this: + +``` +{ + "filename": "NewHorizonsConfig.dll", + "author": "[your name]", + "name": "[your readable mod name]", + "uniqueName": "[your name].[your unique mod ID]", + "version": "0.1.0", + "owmlVersion": "2.1.0", + "dependencies": [ "xen.NewHorizons" ] +} +``` + +- Replace `[your name]` with how you want your name to appear in the mod database. +- Replace `[your readable mod name]` with how you want your mod to appear in the database. +- Replace `[your unique mod ID]` with whatever you want, as long as it isn't already in use by another mod. Adding `[your name]` as a prefix helps to prevent overlaps but isn't required. + +6. Edit the `README.md` file (you can do this on GitHub in your browser) and be sure to add some nice pictures of your planets. +7. Select "Read and Write Permissions" under the `Actions > General` section of the repository settings![image](https://user-images.githubusercontent.com/25644444/168451761-43d3a0e7-c9a2-4f7f-b942-9aa7d5c3c793.png) + +8. Releasing the mod. See the "Releasing the mod" section on the [Outer Wilds Mod Template](https://github.com/Raicuparta/ow-mod-template) repo for info on how to do this. Be sure to try out the mod by adding it to your OWML mods folder and make sure it works in game before releasing. When you zip your final mod be sure to exclude the README.md file and the config.json file (they aren't needed in the release). The zip file should contain: `planets`, `default-config.json`, `manifest.json`, and `NewHorizonsConfig.dll`. When using the template when you update the manifest version from 0.0.0 to 0.1.0 or whatever you want, it will automatically make a new release. +9. Updating your mod. You can make any changes to your mod on your computer. Then from Github desktop you can commit and then push those changes to your repo online. When you are ready to release the new version of your mod, just changed the version number in `manifest.json`. Once the `manifest.json` version number is increased and pushed, a new release will automatically be created. diff --git a/default-config.json b/default-config.json new file mode 100644 index 0000000..d063761 --- /dev/null +++ b/default-config.json @@ -0,0 +1,3 @@ +{ + "enabled": true +} \ No newline at end of file diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..1a280a2 --- /dev/null +++ b/manifest.json @@ -0,0 +1,9 @@ +{ + "filename": "NewHorizonsConfig.dll", + "author": "[your name]", + "name": "[your readable mod name]", + "uniqueName": "[your name].[your unique mod ID]", + "version": "0.0.0", + "owmlVersion": "2.1.0", + "dependencies": [ "xen.NewHorizons" ] +} diff --git a/planets/example_config.json b/planets/example_config.json new file mode 100644 index 0000000..6122fa8 --- /dev/null +++ b/planets/example_config.json @@ -0,0 +1,4 @@ +{ + "name" : "Quantum Moon", + "destroy" : true +}