diff options
author | Will Castro <39478251+VITALISED@users.noreply.github.com> | 2021-12-27 20:21:25 +1100 |
---|---|---|
committer | Will Castro <39478251+VITALISED@users.noreply.github.com> | 2021-12-27 20:21:25 +1100 |
commit | 1b92db0c33608ce953d99dd29ccbd25946c46a26 (patch) | |
tree | 04441e418c0ef1d300ecd5dabf2d89e6c2ae8568 | |
parent | fbf7a6f980d551d4158d65fe293d93ab3eaeec58 (diff) | |
download | NorthstarWiki-1b92db0c33608ce953d99dd29ccbd25946c46a26.tar.gz NorthstarWiki-1b92db0c33608ce953d99dd29ccbd25946c46a26.zip |
Scaffold modding section, add modding getting-started and note installing-northstar basic-setup flaw
-rw-r--r-- | README.md | 6 | ||||
-rw-r--r-- | SUMMARY.md | 7 | ||||
-rw-r--r-- | installing-northstar/basic-setup.md | 1 | ||||
-rw-r--r-- | modding/api/.gitkeep | 0 | ||||
-rw-r--r-- | modding/cheatsheet.md | 0 | ||||
-rw-r--r-- | modding/convars.md | 0 | ||||
-rw-r--r-- | modding/getting-started.md | 63 | ||||
-rw-r--r-- | modding/keyvalues.md | 0 | ||||
-rw-r--r-- | modding/localisation_files.md | 0 | ||||
-rw-r--r-- | modding/squirrel/what-is-squirrel.md | 0 | ||||
-rw-r--r-- | modding/tutorials/1-first-mod/.gitkeep | 0 | ||||
-rw-r--r-- | modding/tutorials/2-creating-vscripts/.gitkeep | 0 | ||||
-rw-r--r-- | modding/tutorials/3-particles-and-vmts/.gitkeep | 0 | ||||
-rw-r--r-- | modding/tutorials/modding-tutorials.md | 0 |
14 files changed, 77 insertions, 0 deletions
@@ -16,6 +16,12 @@ Install instructions can be found here: [basic-setup.md](installing-northstar/basic-setup.md) {% endcontent-ref %} +For modding guides, documentation on Northstar API features and documentation on Respawn Squirrel look at: + +{% content-ref url="modding/getting-started-with-modding"} +[basic-setup.md](modding/getting-started-with-modding) +{% endcontent-ref %} + **Please remember:** You should expect to encounter bugs and crashes with Northstar.\ Northstar is mostly being developed by a single person as a mod to Titanfall|2.\ If you do encounter issues that this guide doesn't have a fix for, you can get support in the Discord linked below. @@ -21,6 +21,13 @@ * [Hosting a Basic Listen Server](hosting-a-server-with-northstar/basic-listen-server.md) * [Hosting a Dedicated Server](hosting-a-server-with-northstar/dedicated-server.md) +## Modding + +* [Getting Started](modding/getting-started.md) +* [Tutorials](modding/tutorials/modding-tutorials.md) +* [Cheatsheet](modding/cheatsheet.md) +* [Squirrel](modding/squirrel/what-is-squirrel.md) + ## FAQ * [FAQ](faq.md) diff --git a/installing-northstar/basic-setup.md b/installing-northstar/basic-setup.md index 2c55785..84f1ef9 100644 --- a/installing-northstar/basic-setup.md +++ b/installing-northstar/basic-setup.md @@ -9,6 +9,7 @@ Firstly note that Northstar client is only available on PC and requires you to * 1. Download the latest version of Northstar from the [releases](https://github.com/R2Northstar/Northstar/releases) page 2. Copy all the files in the newly downloaded zip folder to your Titanfall folder +> TODO: Method to get to Origin's local files here is incorrect/doesn't exist * **For Steam** - Right click _Titanfall 2_ > Open _Properties_ > Click _Local Files_ > Click _Browse_ * **For Origin** - Click Titanfall 2 in the Library > Click the gear icon > Click _Game Properties_ diff --git a/modding/api/.gitkeep b/modding/api/.gitkeep new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/modding/api/.gitkeep diff --git a/modding/cheatsheet.md b/modding/cheatsheet.md new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/modding/cheatsheet.md diff --git a/modding/convars.md b/modding/convars.md new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/modding/convars.md diff --git a/modding/getting-started.md b/modding/getting-started.md new file mode 100644 index 0000000..b9ee1f5 --- /dev/null +++ b/modding/getting-started.md @@ -0,0 +1,63 @@ +# Getting Started with Modding + +## Basics +This guide assumes you have basic understanding with programming and know how to use developer environments. +Listed below are tools useful for exporting file formats + +If you'd like a more lengthy set of tutorials covering many topics. Look at: +{% content-ref url="modding/getting-started-with-modding"} +[modding-tutorials](tutorials/modding-tutorials.md) +{% endcontent-ref %} + + +> TODO: Actually link tools +### Tools +* RSPNVPK +* Cra0 VPK Tool (Titanfall VPK Tool) +* Legion by DZXTPorter + +## Quick start +In order to get started with making your mod, create a folder in `R2Northstar/mods`. While it isn't required, it is best practise by mod authors to follow the naming scheme "Author.ModName", such as "Northstar.Client". + +After making this folder, inside it add a folder named `mod` and a file named `mod.json`. + +Provided is a template `mod.json`, for a detailed list of values read [Cheatsheet](./cheatsheet.md) + +```json +{ + "Name": "My.Mod", + "Description": "Woo yeah wooo!", + + "LoadPriority": 0, + "ConVars": [], + "Scripts": [], + "Localisation": [] +} +``` + +Inside the `mod` folder, existing files found in the engine's virtual file system will be overwritten and new files can be added. If you need to define new Squirrel files (.nut/.gnut) they *must* be declared in the `"Scripts"` array in `mod.json`. An example for this might be: + +```json + "Scripts": [ + { + "Path": "path/to/my.nut", + "RunOn": "( CLIENT || SERVER ) && MP" + }, + { + "Path": "path/to/my_second.nut", + "RunOn": "( CLIENT || SERVER ) && MP", + "ClientCallback": { + "Before": "ClientPreMapspawnThing", + "After": "AfterMapspawnClientThing" + }, + "ServerCallback": { + "Before": "ServerPreMapspawncrap", + "After": "ServerAfterMapspawnWoo" + } + } + ] +``` + +>TODO: Create and link Squirrel VM documentation + +`"Path"` indicates where the script is, `"RunOn"` is the Squirrel VM context (see [Squirrel VM](#)) as an expression, and `"ClientCallback"` and `"ServerCallback"` specify a function call that can be `"Before"` and/or `"After"` map-spawn.
\ No newline at end of file diff --git a/modding/keyvalues.md b/modding/keyvalues.md new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/modding/keyvalues.md diff --git a/modding/localisation_files.md b/modding/localisation_files.md new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/modding/localisation_files.md diff --git a/modding/squirrel/what-is-squirrel.md b/modding/squirrel/what-is-squirrel.md new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/modding/squirrel/what-is-squirrel.md diff --git a/modding/tutorials/1-first-mod/.gitkeep b/modding/tutorials/1-first-mod/.gitkeep new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/modding/tutorials/1-first-mod/.gitkeep diff --git a/modding/tutorials/2-creating-vscripts/.gitkeep b/modding/tutorials/2-creating-vscripts/.gitkeep new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/modding/tutorials/2-creating-vscripts/.gitkeep diff --git a/modding/tutorials/3-particles-and-vmts/.gitkeep b/modding/tutorials/3-particles-and-vmts/.gitkeep new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/modding/tutorials/3-particles-and-vmts/.gitkeep diff --git a/modding/tutorials/modding-tutorials.md b/modding/tutorials/modding-tutorials.md new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/modding/tutorials/modding-tutorials.md |