• New Horizons on Maelstrom
    Maelstrom New Horizons


    Visit our website www.piratehorizons.com to quickly find download links for the newest versions of our New Horizons mods Beyond New Horizons and Maelstrom New Horizons!

Locators with the TOOL

Jack Rackham

ex train dispatcher
Quest Writer
Storm Modder
First you need the coordinates for the wanted position:

1) PROGRAM\console.c
line18: change the switch(0) to switch(2). save

2) start game and go to the position. Turn yourself to the wanted direction too.
press F12: write down these values x, y, z, xx, xz, zx, zz. Round off to 1 decimal

Write a new locator:

3) open the TOOL\Open Gm\open the locatorfile you want to change\View Locators\Locators

4) scroll down to the empty line at the bottom
type in Locator Name, Locator Group and the 7 values you got earlier.

5) YY = 1, s1 = 1. All the other = 0.

6) Apply Changes\Save Gm
Open the folder where your locatorfile is. It will have an _x at the end.

Get the new file into the game:

7A) If you want to replace the original locatorfile: back up the old one by renaming it to something else.
Now rename your new locatorfile to the original name. (remove the _x)

7B) If you want to keep the original one but also use the new one (for a specific location maybe):
Rename your new locatorfile to something different than the original one.

This needs also that you open PROGRAM\Locations\init\the file with your location
and change like this: Locations[n].models.always.locators = "fort1_l_JRH";

Check that it's there alright:

8) PROGRAM\InternalSettings.h in the last block:
set VISIBLE_LOCATORS to 1. save
Go to the location and check the locator

//JRH
 
Thanks a lot, @Jack Rackham! :bow

When you use console switch(2), then the line is also dumped into compile.log in a TOOL-compatible format.
So in the TOOL you can export the locators to a TXT file, then add in the lines from compile.log and import that file again.
That is a good trick for adding a lot of locators in the same location in one go.
 
Had no idea about that Pieter. Could have saved me a lot of work through these years.
 
Just wanted to say I never did this before and today I added some locators and with the help of this tutorial I had it right on the first try.
What I do miss here is the explanation of the different locator types.
Like:
Box - adds a chest there which you can open
Randitem - puts a random item there
etc etc

Maybe someone could add that to the tutorial?
 
First you need the coordinates for the wanted position:

1) PROGRAM\console.c
line18: change the switch(0) to switch(2). save

2) start game and go to the position. Turn yourself to the wanted direction too.
press F12: write down these values x, y, z, xx, xz, zx, zz. Round off to 1 decimal

Write a new locator:

3) open the TOOL\Open Gm\open the locatorfile you want to change\View Locators\Locators

4) scroll down to the empty line at the bottom
type in Locator Name, Locator Group and the 7 values you got earlier.

5) YY = 1, s1 = 1. All the other = 0.

6) Apply Changes\Save Gm
Open the folder where your locatorfile is. It will have an _x at the end.

Get the new file into the game:

7A) If you want to replace the original locatorfile: back up the old one by renaming it to something else.
Now rename your new locatorfile to the original name. (remove the _x)

7B) If you want to keep the original one but also use the new one (for a specific location maybe):
Rename your new locatorfile to something different than the original one.

This needs also that you open PROGRAM\Locations\init\the file with your location
and change like this: Locations[n].models.always.locators = "fort1_l_JRH";

Check that it's there alright:

8) PROGRAM\InternalSettings.h in the last block:
set VISIBLE_LOCATORS to 1. save
Go to the location and check the locator

//JRH
"6) Apply Changes\Save Gm
Open the folder where your locatorfile is. It will have an _x at the end.

Get the new file into the game:"

How and where do I do that?
 
In the location init file. like

Code:
    //Sound
    Locations[n].type = "Rogers_gunroom";
    
    //Models
    //Always
    Locations[n].models.always.locators = "cap_l_JRH_mutiny";  
    Locations[n].models.always.l1 = "cap";
    Locations[n].models.always.window = "cap_w";
    Locations[n].models.always.window.tech = "LocationWindows";
 
Okay I figured out the "_X" part, but am I modifying the right file? I'm trying a spot at the Oxbay port as a test run but once I save/add/replace the file with the new one but there's no new reload point.
 
Last edited:
Which file are you trying to modify? In another thread, you mentioned "Oxbay_locators.gm", which is the file for the island, not the town or port.

In general, find the definition of the location you want to modify, which will be in a file somewhere in "PROGRAM\Locations\init". Look for the location you want to modify. Look for the "Locations[n].models.always" lines, in particular "Locations[n].models.always.locators". Also look for the "Locations[n].filespath.models" line, which will tell you where to find the files.

For example, you want to modify Oxbay port, so you want to look in "PROGRAM\Locations\init\Oxbay.c", where you'll find the definition for "Oxbay_port". The lines of interest are:
Code:
    Locations[n].filespath.models = "locations\town_Oxbay\port";
...
Code:
    Locations[n].models.always.locators = "OXport_l";
So you're looking in "RESOURCE\MODELS\locations\town_Oxbay\port" and the locator file in there is "OXport_l.gm".
 
Back
Top