mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
commit
65613fe64f
@ -11,7 +11,7 @@ namespace NewHorizons.Builder.Body
|
||||
{
|
||||
public static class CloakBuilder
|
||||
{
|
||||
public static void Make(GameObject planetGO, Sector sector, float radius)
|
||||
public static void Make(GameObject planetGO, Sector sector, OWRigidbody OWRB, float radius)
|
||||
{
|
||||
var cloak = SearchUtilities.Find("RingWorld_Body/CloakingField_IP");
|
||||
|
||||
@ -28,7 +28,7 @@ namespace NewHorizons.Builder.Body
|
||||
cloakFieldController._innerCloakRadius = radius * 900 / 3000f;
|
||||
cloakFieldController._nearCloakRadius = radius * 800 / 3000f;
|
||||
|
||||
cloakFieldController._referenceFrameVolume = planetGO.GetAttachedOWRigidbody()._attachedRFVolume;
|
||||
cloakFieldController._referenceFrameVolume = OWRB._attachedRFVolume;
|
||||
cloakFieldController._exclusionSector = null;
|
||||
|
||||
var cloakSectorController = newCloak.AddComponent<CloakSectorController>();
|
||||
|
||||
@ -38,7 +38,8 @@ namespace NewHorizons.Builder.Body
|
||||
cubeSphere.transform.parent = sector?.transform ?? planetGO.transform;
|
||||
cubeSphere.transform.rotation = Quaternion.Euler(90, 0, 0);
|
||||
|
||||
Mesh mesh = CubeSphere.Build(51, heightMap, module.MinHeight, module.MaxHeight, module.Stretch);
|
||||
Vector3 stretch = module.Stretch != null ? (Vector3)module.Stretch : Vector3.one;
|
||||
Mesh mesh = CubeSphere.Build(51, heightMap, module.MinHeight, module.MaxHeight, stretch);
|
||||
|
||||
cubeSphere.AddComponent<MeshFilter>();
|
||||
cubeSphere.GetComponent<MeshFilter>().mesh = mesh;
|
||||
|
||||
2
NewHorizons/External/HeightMapModule.cs
vendored
2
NewHorizons/External/HeightMapModule.cs
vendored
@ -9,6 +9,6 @@ namespace NewHorizons.External
|
||||
public string TextureMap { get; set; }
|
||||
public float MinHeight { get; set; }
|
||||
public float MaxHeight { get; set; }
|
||||
public MVector3 Stretch { get; set; } = (MVector3)Vector3.one;
|
||||
public MVector3 Stretch { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@ -498,7 +498,7 @@ namespace NewHorizons.Handlers
|
||||
// Has to go last probably
|
||||
if (body.Config.Base.CloakRadius != 0f)
|
||||
{
|
||||
CloakBuilder.Make(go, sector, body.Config.Base.CloakRadius);
|
||||
CloakBuilder.Make(go, sector, rb, body.Config.Base.CloakRadius);
|
||||
}
|
||||
|
||||
return go;
|
||||
|
||||
112
NewHorizons/text_schema.xsd
Normal file
112
NewHorizons/text_schema.xsd
Normal file
@ -0,0 +1,112 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Nomai Text -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
|
||||
<!-- Nomai Text Info -->
|
||||
<xs:element name="NomaiObject">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="TextBlock" type="TextBlock" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The different text blocks of this object
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="ShipLogConditions" type="ShipLogConditions" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The conditions for unlocking ship log facts
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:complexType name="LocationA"></xs:complexType>
|
||||
<xs:complexType name="LocationB"></xs:complexType>
|
||||
|
||||
<!-- Text Block Info -->
|
||||
<xs:complexType name="TextBlock">
|
||||
<xs:sequence>
|
||||
<xs:element name="ID" type="xs:positiveInteger" minOccurs="1" maxOccurs="1">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The id of this text block
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="ParentID" type="xs:positiveInteger" minOccurs="0" maxOccurs="1">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The id of the parent text block
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="LocationA" type="LocationA" minOccurs="0" maxOccurs="1">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="LocationB" type="LocationB" minOccurs="0" maxOccurs="1" >
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="Text" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The text to show for this option
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- Ship Log Conditions Info -->
|
||||
<xs:complexType name="ShipLogConditions">
|
||||
<xs:sequence>
|
||||
<xs:element name="LocationA" type="LocationA" minOccurs="0" maxOccurs="1">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="LocationB" type="LocationB" minOccurs="0" maxOccurs="1" >
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="RevealFacts" type="RevealFacts" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Facts to reveal when the player goes through this dialogue node
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- Reveal Facts Info -->
|
||||
<xs:complexType name="RevealFacts">
|
||||
<xs:sequence>
|
||||
<xs:element name="FactID" type="xs:string" minOccurs="1" maxOccurs="1">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The ID of a fact to reveal
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="Condition" type="xs:string" minOccurs="1" maxOccurs="1">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The text block ids (separated by commas) that need to be read to reveal that fact
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:schema>
|
||||
@ -67,6 +67,7 @@ New Horizons was made with help from:
|
||||
- [jtsalomo](https://github.com/jtsalomo)
|
||||
- [Raicuparta](https://github.com/Raicuparta)
|
||||
- [MegaPiggy](https://github.com/MegaPiggy)
|
||||
- [Trifid](https://github.com/TerrificTrifid)
|
||||
|
||||
Translation credits:
|
||||
- Russian: GrayFix and Tlya
|
||||
|
||||
38
docs/Pipfile.lock
generated
38
docs/Pipfile.lock
generated
@ -111,34 +111,34 @@
|
||||
},
|
||||
"json-schema-for-humans": {
|
||||
"hashes": [
|
||||
"sha256:66784a3d37c8f730588524cc8f103448847533f067ba8b5d76e7667675ee31f1",
|
||||
"sha256:ed900db6b19b41bf681513c48ae5e403632878745775ddfc8d5b73438d2930fe"
|
||||
"sha256:88202f7422311d889f8b845b96dabc2c27766a4eed6253137e6d25006c9faa10",
|
||||
"sha256:b7dc11eb6982224249b9f6ba5c9c0f47893e202f5c24c2e26b920eb956f18133"
|
||||
],
|
||||
"markers": "python_version >= '3.7' and python_version < '4'",
|
||||
"version": "==0.40.2"
|
||||
"markers": "python_version >= '3.7' and python_version < '4.0'",
|
||||
"version": "==0.40.3"
|
||||
},
|
||||
"jsonschema": {
|
||||
"hashes": [
|
||||
"sha256:636694eb41b3535ed608fe04129f26542b59ed99808b4f688aa32dcf55317a83",
|
||||
"sha256:77281a1f71684953ee8b3d488371b162419767973789272434bbc3f29d9c8823"
|
||||
"sha256:71b5e39324422543546572954ce71c67728922c104902cb7ce252e522235b33f",
|
||||
"sha256:7c6d882619340c3347a1bf7315e147e6d3dae439033ae6383d6acb908c101dfc"
|
||||
],
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==4.4.0"
|
||||
"version": "==4.5.1"
|
||||
},
|
||||
"markdown": {
|
||||
"hashes": [
|
||||
"sha256:76df8ae32294ec39dcf89340382882dfa12975f87f45c3ed1ecdb1e8cefc7006",
|
||||
"sha256:9923332318f843411e9932237530df53162e29dc7a4e2b91e35764583c46c9a3"
|
||||
"sha256:cbb516f16218e643d8e0a95b309f77eb118cb138d39a4f27851e6a63581db874",
|
||||
"sha256:f5da449a6e1c989a4cea2631aa8ee67caa5a2ef855d551c88f9e309f4634c621"
|
||||
],
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==3.3.6"
|
||||
"version": "==3.3.7"
|
||||
},
|
||||
"markdown2": {
|
||||
"hashes": [
|
||||
"sha256:412520c7b6bba540c2c2067d6be3a523ab885703bf6a81d93963f848b55dfb9a",
|
||||
"sha256:f344d4adfba5d1de821f7850b36e3507f583468a7eb47e6fa191765ed0b9c66b"
|
||||
],
|
||||
"markers": "python_version >= '3.5' and python_version < '4'",
|
||||
"markers": "python_version >= '3.5' and python_version < '4.0'",
|
||||
"version": "==2.4.3"
|
||||
},
|
||||
"markupsafe": {
|
||||
@ -204,11 +204,11 @@
|
||||
},
|
||||
"menagerie-docs": {
|
||||
"hashes": [
|
||||
"sha256:ecfcda7aca8ffc6cb910d38a7fd9571297b35dc33863cacc605356e5ee8f3cf8",
|
||||
"sha256:f5c463840d915b18856bc93ec35f13ea8fe77556b7c790c7759db061247eda96"
|
||||
"sha256:6e02af2e4750e66fbeb8eef51d6a26454f735fe98f4d9b941fc371ee827d67b6",
|
||||
"sha256:9410e416cc9e88a29e4e43e850901afdd4567a9552e40b1b6e48926742cd9379"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==0.1.2"
|
||||
"version": "==0.1.3"
|
||||
},
|
||||
"mypy-extensions": {
|
||||
"hashes": [
|
||||
@ -222,7 +222,7 @@
|
||||
"sha256:5053fc5ca7b8a281081274702ebf1584e341f40a68e6ab8f6b4b79f4b3fdf18e",
|
||||
"sha256:8e8226f15c0b25565aa391797963b78c95930e12efc40e905153130783e766be"
|
||||
],
|
||||
"markers": "python_version >= '3.8' and python_version < '4'",
|
||||
"markers": "python_version >= '3.8' and python_version < '4.0'",
|
||||
"version": "==0.1.0"
|
||||
},
|
||||
"packaging": {
|
||||
@ -287,11 +287,11 @@
|
||||
},
|
||||
"pyparsing": {
|
||||
"hashes": [
|
||||
"sha256:7bf433498c016c4314268d95df76c81b842a4cb2b276fa3312cfb1e1d85f6954",
|
||||
"sha256:ef7b523f6356f763771559412c0d7134753f037822dad1b16945b7b846f7ad06"
|
||||
"sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb",
|
||||
"sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"
|
||||
],
|
||||
"markers": "python_full_version >= '3.6.8'",
|
||||
"version": "==3.0.8"
|
||||
"version": "==3.0.9"
|
||||
},
|
||||
"pyrsistent": {
|
||||
"hashes": [
|
||||
@ -453,7 +453,7 @@
|
||||
"sha256:44ece4d53fb1706f667c9bd1c648f5469a2ec925fcf3a776667042d645472c14",
|
||||
"sha256:aabaf16477806a5e1dd19aa41f8c2b7950dd3c746362d7e3223dbe6de6ac448e"
|
||||
],
|
||||
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'",
|
||||
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4.0'",
|
||||
"version": "==1.26.9"
|
||||
},
|
||||
"xmlschema": {
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/Bwc9876/menagerie/master/menagerie/schemas/config_schema.json",
|
||||
"cache_enabled": true,
|
||||
"cache_enabled": false,
|
||||
"base_url": "https://nh.outerwildsmods.com/",
|
||||
"themes": {
|
||||
"bootstrap": "https://bootswatch.com/5/darkly/bootstrap.min.css",
|
||||
@ -11,11 +11,18 @@
|
||||
"base": "styles/base.css",
|
||||
"schema": "styles/schema.css"
|
||||
},
|
||||
"search": {
|
||||
"enabled": true,
|
||||
"site": "nh.outerwildsmods.com"
|
||||
},
|
||||
"brand": {
|
||||
"app_name": "New Horizons",
|
||||
"favicon_folder": "fav/",
|
||||
"navbar_icon": "images/icon.webp",
|
||||
"navbar_icon_size": [29, 29],
|
||||
"navbar_icon_size": [
|
||||
29,
|
||||
29
|
||||
],
|
||||
"socials": [
|
||||
{
|
||||
"name": "Discord",
|
||||
@ -35,8 +42,17 @@
|
||||
],
|
||||
"meta": {
|
||||
"description": "Documentation on how to use the New Horizons planet creation tool for Outer Wilds.",
|
||||
"keywords": ["New Horizons", "Outer Wilds", "Modding", "C#", "Unity"],
|
||||
"categories": ["games", "utilities"],
|
||||
"keywords": [
|
||||
"New Horizons",
|
||||
"Outer Wilds",
|
||||
"Modding",
|
||||
"C#",
|
||||
"Unity"
|
||||
],
|
||||
"categories": [
|
||||
"games",
|
||||
"utilities"
|
||||
],
|
||||
"image": "images/home/home_logo.webp",
|
||||
"image_alt": "The New Horizons Logo",
|
||||
"theme_color": "#ffab8a",
|
||||
|
||||
@ -30,7 +30,7 @@ show in explorer" in the pop-up.
|
||||
|
||||

|
||||
|
||||
Planets can also be placed in a folder called planets within a separate mod, if you plan on releasing your planets on the mod database. The [Config Template](https://github.com/xen-42/ow-new-horizons-config-template){ target="_blank" } is available if you want to release your own planet mod using configs. If you don't know how GitHub works, you can use the [Addon Creation Tool](https://outerwildsmods.com/custom-worlds/create/) although you will still need a GitHub account.
|
||||
Planets can also be placed in a folder called planets within a separate mod, if you plan on releasing your planets on the mod database. The [Config Template](https://github.com/xen-42/ow-new-horizons-config-template){ target="_blank" } is available if you want to release your own planet mod using configs.
|
||||
|
||||
Now that you have created your planets folder, this is where you will put your planet config files. A config file will
|
||||
look something like this:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user