diff --git a/docs/modding/hitman/customcampaigns/geometry_new.md b/docs/modding/hitman/customcampaigns/geometry_new.md index aee099a4..8403d160 100644 --- a/docs/modding/hitman/customcampaigns/geometry_new.md +++ b/docs/modding/hitman/customcampaigns/geometry_new.md @@ -102,7 +102,7 @@ Now click `File > Export > Glacier RenderPrimitive (prims, materials, textures, You'll wind up with a folder of files like this: ![blender_export_results.jpg](resources/blender_export_results.jpg) -Create a new folder named `content/chunk2/Geometry` and copy these files to that folder: +Create a new folder named `shared/chunk2/Geometry` and copy these files to that folder: `00AA77FDDA276A30.entity.json` `0001A27B58E548FD.prim` `0001A27B58E548FD.prim.meta.json` @@ -303,7 +303,7 @@ Redeploy, relaunch, and start the mission. > Note: If you later decide to modify the blender geometry, you'll need to: > 1. Recreate the Triangle Mesh in blender the same way as before -> 2. Copy the new ALOC file into your `content/chunk2/Geometry` folder +> 2. Copy the new ALOC file into your `shared/chunk2/Geometry` folder > 3. Delete that ALOC file from the aloc folder in your NavKit output folder ## Updating the images diff --git a/docs/modding/hitman/customcampaigns/github_commit.md b/docs/modding/hitman/customcampaigns/github_commit.md index 6e65ac6d..04fc2c4c 100644 --- a/docs/modding/hitman/customcampaigns/github_commit.md +++ b/docs/modding/hitman/customcampaigns/github_commit.md @@ -160,12 +160,12 @@ Fast-forward .gitignore | 3 +- README.md | 103 +- blobs/images/campaign_demo/campaign_demo_tile.jpg | Bin 0 -> 188003 bytes - content/chunk0/storyconfig.JSON.patch.json | 25 + + shared/chunk0/storyconfig.JSON.patch.json | 25 + manifest.json | 33 +- package-lock.json | 7779 +++++++++++++++++++++ 11 files changed, 8086 insertions(+), 255 deletions(-) create mode 100644 blobs/images/campaign_demo/campaign_demo_tile.jpg - create mode 100644 content/chunk0/storyconfig.JSON.patch.json + create mode 100644 shared/chunk0/storyconfig.JSON.patch.json create mode 100644 package-lock.json ``` Now your local `main` branch matches the `main` branch on the remote repository. diff --git a/docs/modding/hitman/customcampaigns/menumapsetup.md b/docs/modding/hitman/customcampaigns/menumapsetup.md index 29321a1c..8d9c73c3 100644 --- a/docs/modding/hitman/customcampaigns/menumapsetup.md +++ b/docs/modding/hitman/customcampaigns/menumapsetup.md @@ -9,7 +9,7 @@ For this tutorial, we will go over patching the MenuMapSetup files. MenuMapSetup ## Creating the MenuMapSetup file -In GlacierKit, on the `Files` tab, right-click on the `content/chunk0` folder and click `New File`. Name it `menumapsetup_hitman_campaign_demo.entity.json` or something similar. +In GlacierKit, on the `Files` tab, right-click on the `shared/chunk0` folder and click `New File`. Name it `menumapsetup_hitman_campaign_demo.entity.json` or something similar. Click on this new file and switch to the `Metadata` tab. Let's give this file a `Factory hash` and `Blueprint hash`. For the `Factory hash`, let's use: `[assembly:/_pro/scenes/bricks/menumapsetup_hitman_campaign_demo.brick].pc_entitytype` @@ -105,7 +105,7 @@ On the `Metadata` tab, click the `Add an entry` button. Enter: `[assembly:/_pro/scenes/bricks/menumapsetup_hitman_campaign_demo.brick].pc_entitytype` and press the `Continue` button. -Click the save button. Navigate to the `content/chunk0` folder and enter the name `mainmenu`. +Click the save button. Navigate to the `shared/chunk0` folder and enter the name `mainmenu`. Click the `Save` button. diff --git a/docs/modding/hitman/customcampaigns/mission_contract.md b/docs/modding/hitman/customcampaigns/mission_contract.md index 611e18e5..ad34e2b0 100644 --- a/docs/modding/hitman/customcampaigns/mission_contract.md +++ b/docs/modding/hitman/customcampaigns/mission_contract.md @@ -9,7 +9,7 @@ For this tutorial, we will go over creating a custom mission contract. ## Creating the `mission_bank.contract.json` file -In GlacierKit, in the `content/chunk0/` folder, create a new folder named `Mission Contracts`. In that folder create a new file named `mission_bank.contract.json`, click it, and set its contents to: +In GlacierKit, in the `shared/chunk0/` folder, create a new folder named `Mission Contracts`. In that folder create a new file named `mission_bank.contract.json`, click it, and set its contents to: ```json { diff --git a/docs/modding/hitman/customcampaigns/npc_new.md b/docs/modding/hitman/customcampaigns/npc_new.md index 6bbdc9d5..d17b52f8 100644 --- a/docs/modding/hitman/customcampaigns/npc_new.md +++ b/docs/modding/hitman/customcampaigns/npc_new.md @@ -75,7 +75,7 @@ We will also need this repository entry's id UUID under the `Editor` header text Click the save button. ## Updating the Mission contract -Open the `content/chunk0/Mission Contracts/mission_bank.contract.json` file. Under the `Objectives` array, add the following object: +Open the `shared/chunk0/Mission Contracts/mission_bank.contract.json` file. Under the `Objectives` array, add the following object: ```json { "Id": "[NEW GENERATED UUID]", diff --git a/docs/modding/hitman/customcampaigns/peacock_plugin.md b/docs/modding/hitman/customcampaigns/peacock_plugin.md index dd638741..0b5a721a 100644 --- a/docs/modding/hitman/customcampaigns/peacock_plugin.md +++ b/docs/modding/hitman/customcampaigns/peacock_plugin.md @@ -39,7 +39,7 @@ Now we'll add our first mission. In between the log functions, add this: ```js controller.addMission([CONTENTS OF THE MISSION_BANK.CONTRACT.JSON FILE]); ``` -Replace `[CONTENTS OF THE MISSION_BANK.CONTRACT.JSON FILE]` with the entire contents of the `content/chunk0/Mission Contracts/mission_bank.contract.json` file. +Replace `[CONTENTS OF THE MISSION_BANK.CONTRACT.JSON FILE]` with the entire contents of the `shared/chunk0/Mission Contracts/mission_bank.contract.json` file. Now we'll need to add the entrance for the bank mission: ```js diff --git a/docs/modding/hitman/customcampaigns/planning_contract.md b/docs/modding/hitman/customcampaigns/planning_contract.md index 8ae5b6df..23924fd3 100644 --- a/docs/modding/hitman/customcampaigns/planning_contract.md +++ b/docs/modding/hitman/customcampaigns/planning_contract.md @@ -14,11 +14,11 @@ Let's use the Raccoon scene's planning contract as an example and modify it to f We created a hash for this planning contract in the previous step. We will need to use that hashed value in hexadecimal format when naming our new planning contact file. Copy that value from the `menumapsetup_hitman_campaign_demo.entity.json` file. -In the `content/chunk0` folder, create a new folder named `Planning Contracts`, and in that folder create a new folder named `bank` +In the `shared/chunk0` folder, create a new folder named `Planning Contracts`, and in that folder create a new folder named `bank` In GlacierKit, go to the `Game content` tab and enter `scene_raccoon_basic.worldmapmetadata.json` and press enter. You will see the `scene_raccoon_basic.worldmapmetadata.json` file. Click it and click the `Extract file` button. -Navigate to the `content/chunk0/Planning Contracts/bank` folder. For the file name, use the hashed value we copied from our `menumapsetup...` file (`0027913897DEC7E8`). You should now have a new file with the name: `0027913897DEC7E8.JSON`. It will also have created a file named `0027913897DEC7E8.JSON.meta`. We don't actually need that file, so we can delete it. +Navigate to the `shared/chunk0/Planning Contracts/bank` folder. For the file name, use the hashed value we copied from our `menumapsetup...` file (`0027913897DEC7E8`). You should now have a new file with the name: `0027913897DEC7E8.JSON`. It will also have created a file named `0027913897DEC7E8.JSON.meta`. We don't actually need that file, so we can delete it. ## Modifying the Planning Contract file diff --git a/docs/modding/hitman/customcampaigns/repository.md b/docs/modding/hitman/customcampaigns/repository.md index 929e8bf4..e5e0b604 100644 --- a/docs/modding/hitman/customcampaigns/repository.md +++ b/docs/modding/hitman/customcampaigns/repository.md @@ -14,7 +14,7 @@ The repository stores metadata about various things in Hitman: World of Assassin For our purposes we will just be adding a new starting location for now. ## Creating a repository file -In GlacierKit, switch back to the `Files` tab, right-click on the `content/chunk0` folder and create a new file named `hitman_campaign_demo.repository.json`. (The exact filename doesn't really matter, as long as it ends with `.repository.json`, but for this tutorial we'll use `hitman_campaign_demo.repository.json`). +In GlacierKit, switch back to the `Files` tab, right-click on the `shared/chunk0` folder and create a new file named `hitman_campaign_demo.repository.json`. (The exact filename doesn't really matter, as long as it ends with `.repository.json`, but for this tutorial we'll use `hitman_campaign_demo.repository.json`). ## Modifying the repository file In GlacierKit, click on the `hitman_campaign_demo.repository.json` file. You will see the repository editor: diff --git a/docs/modding/hitman/customcampaigns/scene_new.md b/docs/modding/hitman/customcampaigns/scene_new.md index f8b8bbf2..c6bc4c17 100644 --- a/docs/modding/hitman/customcampaigns/scene_new.md +++ b/docs/modding/hitman/customcampaigns/scene_new.md @@ -266,7 +266,7 @@ In the `Text tools`, convert `(planning contract) modlandia modtown` to a Hex ha Press the save button. ## Creating a new Planning Contract file -In the `content/chunk0/Planning Contracts` folder, create a new folder named `modtown`. Right-click on the new `modtown` folder and click `New file` and set the filename to our new planning contract's hex hash with `.JSON` at the end: `001421449C722898.JSON`. +In the `shared/chunk0/Planning Contracts` folder, create a new folder named `modtown`. Right-click on the new `modtown` folder and click `New file` and set the filename to our new planning contract's hex hash with `.JSON` at the end: `001421449C722898.JSON`. Open that file and set the contents to: ```json @@ -299,7 +299,7 @@ Replace `[NEW GENERATED EXIT UUID]` with a new UUID generated using GlacierKit. Press the save button. ## Creating a new Mission Contract file -Right-click on the `content/chunk0/Mission Contracts` folder, click `New file`, and set the filename to `mission_modtown.contract.json`. Open that file and set the contents to: +Right-click on the `shared/chunk0/Mission Contracts` folder, click `New file`, and set the filename to `mission_modtown.contract.json`. Open that file and set the contents to: ```json { "Data": { @@ -397,7 +397,7 @@ and press the `Continue` button. Press the save button. -Download the [empty_scenario_brick.entity.json](resources/empty_scenario_brick.entity.json) template again and save it as `content/chunk2/scenario_modtown.entity.json` and click it. +Download the [empty_scenario_brick.entity.json](resources/empty_scenario_brick.entity.json) template again and save it as `shared/chunk2/scenario_modtown.entity.json` and click it. In the `Metadata` tab, in the `Factory hash` field, enter: `[assembly:/_pro/scenes/missions/hitman_campaign_demo/mission_modtown/scenario_modtown.brick].pc_entitytype` In the `Blueprint hash`, enter: @@ -795,7 +795,7 @@ Press the save button. ## Adding lighting and a sky Our scenario will also need lighting, a sky, and physics, otherwise everything will be dark and grey. -Download the [tod_day_sunny_clear.entity.json](resources/tod_day_sunny_clear.entity.json) file and save it to your `content/chunk2` folder as `tod_day_sunny_clear.entity.json`. This is a basic "time of day" brick that we can drop into any custom scene, that sets up a sunny clear day and blue sky. +Download the [tod_day_sunny_clear.entity.json](resources/tod_day_sunny_clear.entity.json) file and save it to your `shared/chunk2` folder as `tod_day_sunny_clear.entity.json`. This is a basic "time of day" brick that we can drop into any custom scene, that sets up a sunny clear day and blue sky. Let's add some IOI strings for the time of day brick as well. In GlacierKit, on the `Settings` tab, in the `Custom paths` section, click the `Add an entry` button and enter: `[assembly:/_pro/scenes/missions/hitman_campaign_demo/tod_day_sunny_clear.brick].pc_entitytype` @@ -882,7 +882,7 @@ Replace the `null` value for the `m_WorldBounds` property with the entity id of Press the save button. ## Updating the Charset -For simplicity, let's copy our entire outfit folder from `bank/chunk12/Outfits` to `content/chunk2`. This cannot be done from GlacierKit, so in GlacierKit right-click on the `chunk12` folder and click `Show in Explorer`. Copy the outfit folder, then go to the `content/chunk2` folder and paste it. +For simplicity, let's copy our entire outfit folder from `bank/chunk12/Outfits` to `shared/chunk2`. This cannot be done from GlacierKit, so in GlacierKit right-click on the `chunk12` folder and click `Show in Explorer`. Copy the outfit folder, then go to the `shared/chunk2` folder and paste it. In GlacierKit, the new folder should have appeared. Let's modify the files to fit our new mission and NPCs. @@ -981,7 +981,7 @@ In GlacierKit, go to the `Settings` tab and on the `Custom paths` section, scrol On the `Text tools` tab, paste that IOI string into the `Hash calculator` field and copy the value in the `Hex` text field. -Back in NavKit, click the `Save Navp` button, and navigate to the `content/chunk2` folder and name it the hex value you copied. +Back in NavKit, click the `Save Navp` button, and navigate to the `shared/chunk2` folder and name it the hex value you copied. For the AIRG, let's use: `[assembly:/_pro/scenes/missions/hitman_campaign_demo/mission_modtown/scene_modtown.airg].pc_airg` @@ -990,7 +990,7 @@ In GlacierKit, go to the `Settings` tab and on the `Custom paths` section, scrol On the `Text tools` tab, paste that IOI string into the `Hash calculator` field and copy the value in the `Hex` text field. -Back in NavKit, click the `Save Airg` button, and navigate to the `content/chunk2` folder and name it the hex value you copied. +Back in NavKit, click the `Save Airg` button, and navigate to the `shared/chunk2` folder and name it the hex value you copied. Now that we have our NAVP and AIRG files, we need to tell the scenario to use them. In GlacierKit, go to the `scenario_modtown.entity.json` file on the `Tree` view, expand the `Scenario_Modtown > AI` node. Right-click on the `Pathfinding` node and click `Create Entity`, name it `Pathfinder_Configuration`, click on the new node and in the contents, replace everything after the `parent` field with: ```json @@ -1156,9 +1156,9 @@ Now that we've modified the geometry, the old NAVP and AIRG don't accurately rep Let's open NavKit up, and follow the same steps as before: 1. Click the `Extract from game and build obj` button 2. Click the `Build Navp from Obj and Scene` button -3. Save the NAVP file to `content/chunk2/0051279576303266.navp` +3. Save the NAVP file to `shared/chunk2/0051279576303266.navp` 4. Click the `Build Airg from Navp` button -5. Save the AIRG file to `content/chunk2/00D89D1CB094AD54.airg` +5. Save the AIRG file to `shared/chunk2/00D89D1CB094AD54.airg` ![modtown_new_navp_and_airg.jpg](resources/modtown_new_navp_and_airg.jpg) Redeploy, relaunch, and start the mission, and now Super Targetman will walk around the house if you throw a coin behind the house, or walk through the door if you lure him into the house. diff --git a/docs/modding/hitman/customcampaigns/unlockables.md b/docs/modding/hitman/customcampaigns/unlockables.md index 4161c27f..7f04ca50 100644 --- a/docs/modding/hitman/customcampaigns/unlockables.md +++ b/docs/modding/hitman/customcampaigns/unlockables.md @@ -45,7 +45,7 @@ Set the `RepositoryId` to the value copied from the repositories file in the pre ![unlockables_ceo_office.jpg](resources/unlockables_ceo_office.jpg) -Click the save button. Navigate to the `content/chunk0` folder and set the name to something like `campaign_demo`. Similarly to the repository file we created in the previous section, the only important part of the name is `.unlockables.json`, so you can name it whatever you'd like, but for this tutorial we'll refer to it as `campaign_demo.unlockables.json`. +Click the save button. Navigate to the `shared/chunk0` folder and set the name to something like `campaign_demo`. Similarly to the repository file we created in the previous section, the only important part of the name is `.unlockables.json`, so you can name it whatever you'd like, but for this tutorial we'll refer to it as `campaign_demo.unlockables.json`. ## Next Steps