From 49d09ee37b6a6b7e614290755e459e9d51042687 Mon Sep 17 00:00:00 2001 From: Nick Date: Wed, 23 Mar 2022 00:17:24 -0400 Subject: [PATCH 01/11] Put geysers in schema bc i forgor --- NewHorizons/schema.json | 133 ++++++++++++++++++++++------------------ 1 file changed, 73 insertions(+), 60 deletions(-) diff --git a/NewHorizons/schema.json b/NewHorizons/schema.json index 9f6bd4fa..9c9ec319 100644 --- a/NewHorizons/schema.json +++ b/NewHorizons/schema.json @@ -497,65 +497,65 @@ "type": "object", "properties": { "scatter": { - "type": "array", - "items": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "path": { - "type": "string", - "description": "Either the path in the scene hierarchy of the item to copy or the path to the object in the supplied asset bundle" - }, - "assetBundle": { - "type": "string", - "description": "Relative filepath to an asset-bundle" - }, - "offset": { - "$ref": "#/$defs/vector3" - }, - "rotation": { - "$ref": "#/$defs/vector3", - "description": "Euler angle degrees" - }, - "scale": { - "type": "number", - "default": 1, - "description" : "How many props to scatter around the planet." + "type": "array", + "items": { + "type": "object", + "properties": { + "count": { + "type": "integer" + }, + "path": { + "type": "string", + "description": "Either the path in the scene hierarchy of the item to copy or the path to the object in the supplied asset bundle" + }, + "assetBundle": { + "type": "string", + "description": "Relative filepath to an asset-bundle" + }, + "offset": { + "$ref": "#/$defs/vector3" + }, + "rotation": { + "$ref": "#/$defs/vector3", + "description": "Euler angle degrees" + }, + "scale": { + "type": "number", + "default": 1, + "description": "How many props to scatter around the planet." + } } } - } }, "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "path": { - "type": "string", - "description": "Either the path in the scene hierarchy of the item to copy or the path to the object in the supplied asset bundle" - }, - "assetBundle": { - "type": "string", - "description": "Relative filepath to an asset-bundle" - }, - "position": { - "$ref": "#/$defs/vector3" - }, - "rotation": { - "$ref": "#/$defs/vector3", - "description": "Euler angle degrees" - }, - "scale": { - "type": "number", - "default": 1 - }, - "alignToNormal": { - "type": "boolean", - "description": "Do we override rotation and try to automatically align this object to stand upright on the body's surface?", - "default": false - } + "type": "array", + "items": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "Either the path in the scene hierarchy of the item to copy or the path to the object in the supplied asset bundle" + }, + "assetBundle": { + "type": "string", + "description": "Relative filepath to an asset-bundle" + }, + "position": { + "$ref": "#/$defs/vector3" + }, + "rotation": { + "$ref": "#/$defs/vector3", + "description": "Euler angle degrees" + }, + "scale": { + "type": "number", + "default": 1 + }, + "alignToNormal": { + "type": "boolean", + "description": "Do we override rotation and try to automatically align this object to stand upright on the body's surface?", + "default": false + } }, "scale": { "type": "number", @@ -570,20 +570,20 @@ "properties": { "position": { "$ref": "#/$defs/vector3", - "description" : "When you enter into dialogue, you will look here." + "description": "When you enter into dialogue, you will look here." }, "radius": { "type": "number", "default": 0, - "description" : "Radius of the spherical collision volume where you get the \"talk to\" prompt when looking at. If you use a remoteTriggerPosition, this will instead be the size of the volume that will trigger the dialogue when you enter it." + "description": "Radius of the spherical collision volume where you get the \"talk to\" prompt when looking at. If you use a remoteTriggerPosition, this will instead be the size of the volume that will trigger the dialogue when you enter it." }, "xmlFile": { "type": "string", - "description" : "Relative path to the xml file defining the dialogue." + "description": "Relative path to the xml file defining the dialogue." }, "remoteTriggerPosition": { "$ref": "#/$defs/vector3", - "description" : "Allows you to trigger dialogue from a distance when you walk into an area." + "description": "Allows you to trigger dialogue from a distance when you walk into an area." } } } @@ -596,7 +596,7 @@ "properties": { "revealOn": { "type": "string", - "enum": ["enter", "observe", "snapshot"], + "enum": [ "enter", "observe", "snapshot" ], "description": "'enter', 'observe', or 'snapshot' what needs to be done to the volume to unlock the facts" }, "reveals": { @@ -648,6 +648,19 @@ } } } + }, + "geysers": { + "type": "array", + "description": "A set of geysers", + "items": { + "type": "object", + "properties": { + "position": { + "$ref": "#/$defs/vector3", + "description": "The position of this geyser" + } + } + } } } }, From 3ae9fb829e8f879dfeeeba0c7a5b99f693cf9069 Mon Sep 17 00:00:00 2001 From: Nick Date: Wed, 23 Mar 2022 00:29:09 -0400 Subject: [PATCH 02/11] Update README.md --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index 2f94ccaf..0bc12539 100644 --- a/README.md +++ b/README.md @@ -52,14 +52,11 @@ Check the ship's log for how to use your warp drive to travel between star syste - Implement all planet features: - Tornados + floating islands - Let any star go supernova - - Geysers - Meteors - Pocket dimensions - Timed position/velocity changes - Implement custom Nomai scrolls - Implement custom translatable writing -- Destroy planets that fall into a star -- Add cloaking volumes ## 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. From aab34b95f351ffdf47724cdb5555e06a0e0a09f6 Mon Sep 17 00:00:00 2001 From: Nick Date: Wed, 23 Mar 2022 00:29:57 -0400 Subject: [PATCH 03/11] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0bc12539..1af2228b 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ Check the ship's log for how to use your warp drive to travel between star syste - Separate solar system scenes accessible via wormhole OR via the ship's new warp drive feature accessible via the ship's log - Remove existing planets - Create basic planets from heightmaps/texturemaps -- Stars, comets, asteroid belts, satellites +- Stars, comets, asteroid belts, satellites, geysers, cloak fields - Binary orbits - Signalscope signals and custom frequencies - Surface scatter: rocks, trees, etc, using in-game models, or custom ones From 027a39a46202ef7c5e5dee997acd696ce30b5830 Mon Sep 17 00:00:00 2001 From: Nick Date: Wed, 23 Mar 2022 16:19:06 -0400 Subject: [PATCH 04/11] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 1af2228b..beb55db4 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,8 @@ A custom world creation tool for Outer Wilds. You can view the addons creators have made (or upload one yourself) [here](https://outerwildsmods.com/custom-worlds)! +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! From 12ab04eb28dd3984e76814c5d4f576f55f0b26d3 Mon Sep 17 00:00:00 2001 From: Ben C Date: Thu, 24 Mar 2022 07:59:56 -0700 Subject: [PATCH 05/11] Added XML Schema Descriptions (#74) * Added descriptions for astro object entry schema * Added descriptions for the DialogueTree schema --- NewHorizons/dialogue_schema.xsd | 112 +++++++++++++++++--- NewHorizons/shiplog_schema.xsd | 181 ++++++++++++++++++++++++++++---- 2 files changed, 257 insertions(+), 36 deletions(-) diff --git a/NewHorizons/dialogue_schema.xsd b/NewHorizons/dialogue_schema.xsd index 1929ce0f..31a774c1 100644 --- a/NewHorizons/dialogue_schema.xsd +++ b/NewHorizons/dialogue_schema.xsd @@ -5,8 +5,20 @@ - - + + + + The name of the dialogue tree + + + + + + + The different nodes of this dialogue tree + + + @@ -14,42 +26,114 @@ - - - - - + + + + The name of this dialogue node + + + + + + + The condition that needs to be met in order to get to this node + + + + + + + The dialogue to show to the player + + + + + + + Facts to reveal when the player sees this dialogue node + + + + + + + A list of options to show to the player once the character is one talking + + + - + + + + A page of dialogue to show to the player + + + - + + + + The ID of a fact to reveal + + + - + + + + Options the player can select from + + + - - - - + + + + Require a prior condition to be met to show this option + + + + + + + Hide this option if a condition has been met + + + + + + + The text to show for this option + + + + + + + The name of the DialogueNode to go to when this option is selected + + + diff --git a/NewHorizons/shiplog_schema.xsd b/NewHorizons/shiplog_schema.xsd index 660eb58d..902f7c85 100644 --- a/NewHorizons/shiplog_schema.xsd +++ b/NewHorizons/shiplog_schema.xsd @@ -5,8 +5,20 @@ - - + + + + ID of the planet these entries are for + + + + + + + A set of entries that belong to this planet + + + @@ -17,27 +29,117 @@ - - - - - - - - - - + + + + The ID of this entry + + + + + + + Name of this entry + + + + + + + The curiosity this entry belongs to + + + + + + + Whether this entry is a curiosity + + + + + + + Whether to hide the "More To Explore" text on this entry + + + + + + + Ignore more to explore if a fact is known + + + + + + + If this fact is revealed, show the Alt picture + + + + + + + Rumor facts for this entry + + + + + + + Explore facts for this entry + + + + + + + Child entires within this entry + + + - - - - - + + + + The ID of this rumor fact + + + + + + + The source of this rumor, this draws a line in detective mode + + + + + + + No clue what this does + + + + + + + Also have no clue what this does + + + + + + + Whether to hide the "More to explore" on this rumor fact + + + @@ -45,8 +147,20 @@ - - + + + + The ID of this explore fact + + + + + + + Whether to hide the "More to explore" text for this fact + + + @@ -54,12 +168,35 @@ - + + + + The text content for this fact + + + + + + Display alt-text given a certain fact is revealed + + - - + + + + The text to display if the condition is met + + + + + + + The condition that needs to be fulfilled to have the alt text be displayed + + + From 2c8f842cfbeebd0e5f9123e27e4b1caeda255a05 Mon Sep 17 00:00:00 2001 From: Ben C Date: Wed, 30 Mar 2022 00:10:26 -0700 Subject: [PATCH 06/11] Update RumorName and RumorNamePriority in Ship Log schema --- NewHorizons/shiplog_schema.xsd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/NewHorizons/shiplog_schema.xsd b/NewHorizons/shiplog_schema.xsd index 902f7c85..10063293 100644 --- a/NewHorizons/shiplog_schema.xsd +++ b/NewHorizons/shiplog_schema.xsd @@ -122,14 +122,14 @@ - No clue what this does + Displays on the card in detective mode if no ExploreFacts have been revealed on the parent entry - Also have no clue what this does + Priority over other RumorFacts to appear as the entry card's title From a3cf55781cad8777cf4073b6d49f3d03d8a91b68 Mon Sep 17 00:00:00 2001 From: Ben C Date: Wed, 30 Mar 2022 00:11:16 -0700 Subject: [PATCH 07/11] Update docs_build.yml --- .github/workflows/docs_build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/docs_build.yml b/.github/workflows/docs_build.yml index c05ee787..7e6150f4 100644 --- a/.github/workflows/docs_build.yml +++ b/.github/workflows/docs_build.yml @@ -6,6 +6,7 @@ on: paths: - docs/** - NewHorizons/*schema*.json + - NewHorizons/*.xsd pull_request: paths: From 957e4df1a7017a77b4d445e44536d29cb2632ee0 Mon Sep 17 00:00:00 2001 From: Ben C Date: Wed, 30 Mar 2022 00:16:51 -0700 Subject: [PATCH 08/11] Cache docs dependencies --- .github/workflows/docs_build.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/docs_build.yml b/.github/workflows/docs_build.yml index 7e6150f4..301d6bb9 100644 --- a/.github/workflows/docs_build.yml +++ b/.github/workflows/docs_build.yml @@ -24,6 +24,7 @@ on: env: OUT_DIR: ${{ github.events.inputs.relative_path }} BASE_URL: https://nh.outerwildsmods.com/ + PIPENV_VENV_IN_PROJECT: enabled jobs: build: @@ -37,6 +38,15 @@ jobs: - if: github.ref == 'refs/heads/master' run: | echo "OUT_DIR=/" >> $GITHUB_ENV + + - name: Cache Dependencies + uses: actions/cache@v2 + id: cache-dependencies + with: + path: ./.venv + key: ${{ runner.os }}-pip-${{ hashFiles('**/Pipfile.lock') }} + restore-keys: | + ${{ runner.os }}-pipenv - name: Install dependecies uses: VaultVulp/action-pipenv@v2.0.1 From 8c14ca87326b5aad8c12879813552ede36b3df76 Mon Sep 17 00:00:00 2001 From: Ben C Date: Fri, 1 Apr 2022 23:21:47 -0400 Subject: [PATCH 09/11] Add DialogueTargetShipLogCondition to dialogue schema --- NewHorizons/dialogue_schema.xsd | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/NewHorizons/dialogue_schema.xsd b/NewHorizons/dialogue_schema.xsd index 31a774c1..626b0751 100644 --- a/NewHorizons/dialogue_schema.xsd +++ b/NewHorizons/dialogue_schema.xsd @@ -33,13 +33,20 @@ - + The condition that needs to be met in order to get to this node + + + + A ship log fact that must be revealed in order to get to this node + + + From a6b7dc4b8fd50a46b7772eb42d82d1dd351387dc Mon Sep 17 00:00:00 2001 From: Ben C Date: Sun, 3 Apr 2022 13:57:47 -0700 Subject: [PATCH 10/11] Made builds not on `master` use Debug --- .github/workflows/build.yaml | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index f23a6bd4..c6d8ca25 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -25,16 +25,14 @@ jobs: if: ${{ needs.pre_job.outputs.should_skip != 'true' }} runs-on: windows-latest steps: - # Replace / with _ in ref name so that it can be used in a filename - - uses: mad9000/actions-find-and-replace-string@2 - id: sanitizeRef - with: - source: ${{ github.ref_name }} - find: '/' - replace: '_' - # Get short-sha so that it can be used in a filename - - uses: benjlevesque/short-sha@v1.2 - id: short-sha + # Set to Release if we're in master, otherwise keep us in Debug + - name: Set Release + if: github.ref == 'refs/heads/master' + run: echo "BUILD_TYPE=Release" >> $GITHUB_ENV + + - name: Set Debug + if: github.ref != 'refs/heads/master' + run: echo "BUILD_TYPE=Debug" >> $GITHUB_ENV - uses: actions/checkout@v2 @@ -56,9 +54,8 @@ jobs: - uses: actions/setup-dotnet@v1 with: dotnet-version: "5.0.x" - - run: dotnet build -c Release -o .\NewHorizons\Bin\Release - - run: tree + - run: dotnet build -c ${{ env.BUILD_TYPE }} -o .\NewHorizons\Bin\${{ env.BUILD_TYPE }} - uses: actions/upload-artifact@v2 with: - name: NewHorizons-${{ steps.sanitizeRef.outputs.value }}-${{ steps.short-sha.outputs.sha }} - path: .\NewHorizons\Bin\Release + name: NewHorizons-${{ env.BUILD_TYPE }} + path: .\NewHorizons\Bin\${{ env.BUILD_TYPE }} From 4cd7e9dae0c33b47145a4be4df940bccaa829599 Mon Sep 17 00:00:00 2001 From: Ben C Date: Sun, 3 Apr 2022 14:27:09 -0700 Subject: [PATCH 11/11] Make build Debug on non-master branches (#79) --- .github/workflows/build.yaml | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index c6d8ca25..58f46f5d 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -25,14 +25,6 @@ jobs: if: ${{ needs.pre_job.outputs.should_skip != 'true' }} runs-on: windows-latest steps: - # Set to Release if we're in master, otherwise keep us in Debug - - name: Set Release - if: github.ref == 'refs/heads/master' - run: echo "BUILD_TYPE=Release" >> $GITHUB_ENV - - - name: Set Debug - if: github.ref != 'refs/heads/master' - run: echo "BUILD_TYPE=Debug" >> $GITHUB_ENV - uses: actions/checkout@v2 @@ -50,11 +42,20 @@ jobs: $data = Get-Content NewHorizons/NewHorizons.csproj.user $data = $data.Replace("`$(AppData)\OuterWildsModManager\OWML\Mods", ".") $data | Out-File -encoding ASCII NewHorizons/NewHorizons.csproj.user + + # Set to Release if we're in master, otherwise keep us in Debug + - name: Set Release + if: github.ref == 'refs/heads/master' + run: echo "BUILD_TYPE=Release" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append + + - name: Set Debug + if: github.ref != 'refs/heads/master' + run: echo "BUILD_TYPE=Debug" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append - uses: actions/setup-dotnet@v1 with: dotnet-version: "5.0.x" - - run: dotnet build -c ${{ env.BUILD_TYPE }} -o .\NewHorizons\Bin\${{ env.BUILD_TYPE }} + - run: dotnet build -c $Env:BUILD_TYPE -o .\NewHorizons\Bin\$Env:BUILD_TYPE - uses: actions/upload-artifact@v2 with: name: NewHorizons-${{ env.BUILD_TYPE }}