• 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!

Hook's fixes

AH! In that case, welcome to the forum, @SuperCrumpets! :cheers

Thank you, ive been lurking here for a few weeks now.

I hope the world map gets updated for the open sea mod eventually, I cant stand having islands suddenly appear right in front of me so i need the extra distance between islands but I also dont have the patience to direct sail everywhere all the time either.


btw here's my worldmap changes and they work well for me.

in worldmap_init.c at the bottom

//Player ship
worldMap.playerShipActionRadius = 50;

So i can engage/be engaged by fleets from around 2000 yrds without ever spawning right on top of them and getting instantly sunk by a fleet of 8 class 1 ships or from so far away i cant even see their sail to icon above them.

//Enemy ship
worldMap.enemyshipViewDistMin = 100.0; //Distance at which the ship starts to fade
worldMap.enemyshipViewDistMax = 350.0; //Distance at which the ship disappears completely
worldMap.enemyshipDistKill = 350.0; //Distance at which the kill vehicle
worldMap.enemyshipBrnDistMin = 180.0; //Minimum distance on the ship who give birth
worldMap.enemyshipBrnDistMax = 250.0; //The maximum distance at which the ship Rozsa

and this on the world map so fleets stop appearing out of thin air too close to turn away from and avoid and to lower the density of fleets in general so you dont get multiple fleets inside your action radius and become unable to choose which fleet to engage. although it would be ideal to be able to engage multiple fleets like its possible in TEHO, dont know if its possible in this.
 
Last edited:
Ah, @SuperCrumpets ! Thanks for posting that change. Also, it was your screenshot that showed me what the problem was with spawning on the wrong place on the world map. Thanks for your help.

Hook
 
I am about to declare the directsail code working as intended. It took three trips from Curacao to Puerto Rico from a saved game. I left just before 0600, arrived at 1010, 1145 and 1445. Variable winds. :)

You can sail around Puerto Rico without triggering an island transition to Isla Mona. Approach the center of the small island south of Puerto Rico going directly north, then hug the west coast, sail north from there toward Puerto Rico, then hug the coast going around the west point.

You could probably do this before, but I've fixed the transition between the small island and Isla Mona so that when I was sailing at under 4 knots, the transition was pretty close to exactly between the two islands. If you don't hug the coast of the Puerto Rico islands, you'll end up with a transition to Isla Mona.

I still need to test sailing down the east coast of Hispaniola to see if I can do it without triggering an Isla Mona transition. I may need to add another extra point to Hispaniola if not and it should be successful.

I added some code so the normal map has a minimum transition distance when you're approaching an island, like what the open sea mod uses, and it helps considerably when you're sailing to a distant island like from Curacao to Puerto Rico. Using the open sea map, you have to be 6000 yards from a landfall to transition to that island. Currently I have the normal map set to 3500 yards and it's worked well so far. This is good news for me because I don't have to test open sea separately, but just make sure it doesn't mess up, as the two map scales use the same code. This has the benefits on the normal map when sailing between two distant islands of reducing the number of island transitions and making it more likely to have random encounters.

I am happy. :)

There will be quite a bit of documentation on how everything works now, including the navigator's log, and I'd rather do that in a separate thread. Which forum would you prefer I post that in?

Hook
 
Build Brainstorming is usually a good place to post new stuff. :onya

@Armada might be able to give some more information about whether changing the actual worldmap would be feasible.

@SuperCrumpets: I have never touched TEHO, so I'm afraid I haven't the foggiest how that game handles worldmap fleets differently.
 
I sailed southwest down the east coast of Hispaniola, staying as close to the shore as I dared, in an attempt to avoid an Isla Mona transition. I transitioned anyway, and ended up very close to Mona. I ran the test again just now, with adjusted points for Mona, and I think I'd be able to avoid transition.

I tried turning east to see how far away Mona was, and transitioned immediately and was right on the coast, as if I'd gone there from the world map and it moved me outside the island model. I turned back and did some measurements and Isla Mona is about 300 yards from the east coast of Hispaniola. No wonder it's a problem. It's not something I can fix.

This is from the debug logs. Note that I turned around and was sailing west or the directions would be different. This is before and after transition to Hispaniola.
Code:
DS: === DirectSail Closest1 Isla Mona       West Point        distance: 793 yards  ESE  13 minutes
DS: === DirectSail Closest2 Isla Mona       West Point        distance: 1067 yards  ESE  9 minutes

I experimented with sailing near Mona on the world map, and while all the other islands are the normal map size on the world map, Isla Mona is the open sea size... it look tiny, and it's not. It appears to be a copy of Tortuga and the island south of Puerto Rico, but rotated 180 degrees from the small island orientation. It's the same size as Tortuga, far as I can tell. But you'll never figure that out from the world map, only by trying to sail around it and mapping the island using your ship's position on your display map.

Go to the world map, sail right next to Mona, leave the world map and go right back, and see where your ship is located. It won't be where you were before. At one point I got teleported to the opposite side of Hispaniola near Port au Prince. Other times it was some distance from where the island is displayed. The teleport wasn't a bug, it was just the game's best guess of where to put you if you're inside an island.

Given the problems, I'm going to remove the extra points I added to Isla Mona to improve transition, as they don't help enough to justify the problems they cause. Any time you transition to Mona you'll probably be right on the shore, but leaving Mona should be better than it is with having the extra points.

Hook
 
Last edited:
I removed the extra points from Isla Mona and sailed SW down the east coast of Hispaniola. I sailed as close to the shore as I dared. At the closest point, the transition to Isla Mona was 142 yards SEbE, which means right off my port beam. If I'd turned left and sailed 150 yards, I'd have been right on the coast of Mona. I was probably 50 yards from the coast of Hispaniola. That puts the two land masses about 200-300 yards apart at their closest point.

Hook
 
Hi @Armada

I looked at changing the WDM_MAP_TO_SEA_SCALE to give more distance between islands, but it would require a new display map, and it may produce other problems. I experimented with a scale of 28, up from 19.6 but it's not worth it for the work involved. A restructure of the directsail code has made the current map livable.

The major problem is Isla Mona. It's far larger than it's depicted on the world map, and causes problems when sailing anywhere near it unless you're on the open sea map. I've documented the problems in this thread so will not duplicate them in this post except to say, try sailing east from Santo Domingo on the normal map and see what happens. Then try to sail to San Juan from where you ended up. My best guess from debugging measurements is that the two islands are less than 300 yards apart at their closest point on the normal map. It's not a problem on the open sea map.

And while you're here, are the rx and rz values correct for Isla Mona?

@All: My current thought is to exclude Isla Mona from directsail island checking for the normal map, but not for open sea, and that code is already in place. Those needing access to Mona can still do it from the world map, or on the open sea map, so it's not inaccessible. If someone wants to write a function to determine if Isla Mona needs to exist, I can include it in the code. It will only be necessary on the normal map, as it's not checked for the open sea map.

Code:
bool IncludeMona()
{
    if ( /* is part of an active quest */ )
        return true;
    if ( /* has been unlocked by some player action */ )
        return true;
    if ( /* has been discovered through other means */ )
        return true;
// default
    return false;
}
 
Last edited:
Could the problem also be solved by replacing Isla Mona with a smaller 3D model?
It is supposed to be only a tiny Island anyway; we just don't have a small enough Island model.
I wonder though how difficult it would be for @Armada to make a replacement.
 
I don't know, @Pieter Boelen

Isla Mona has to be big enough to have a settlement on it, and no matter how small it is, where it's located will cause odd island transitions anywhere near it when using the normal map, because I've been testing it with just the center point of the island and having the problems.

It's up to @Armada what to do about it, if anything. I've tried everything I could, and the only solution I can come up with is excluding Isla Mona from island transitions on the normal if you don't have a reason to go there, and that can be turned off with a toggle. Even if it's excluded, you can get there by using the world map (and it's not excluded from the open sea map), but you might get surprised by a nasty teleport.

Petit Tabac doesn't cause anything like the same kind of problems, possibly because it's not right in the middle of several land masses like Isla Mona is with Hispaniola, Puerto Rico and the small island south of Puerto Rico. Isla Mona actually looks like it ought to work, but for some reason it doesn't.

Hook
 
@LarryHookins could you try to make a zipfile (or something like that) with all the stuff you changed before saturday?
 
@Levis Glad to Sir! I've got a registered copy of WinRar that I use for all my compression needs, I hope that's ok.

I'm assuming you mean you want the file by next Saturday, not the changes I made up to the end of last week. :D

Also would you prefer all the files in one folder, arranged by the folders as they are in the game?

Hook
 
I've got a registered copy of WinRar that I use for all my compression needs, I hope that's ok.
I'm sure any archive is fine. Zip, RAR, 7-Zip, etc.

I'm assuming you mean you want the file by next Saturday, not the changes I made up to the end of last week. :D
ALL your changes together would be best.

Also would you prefer all the files in one folder, arranged by the folders as they are in the game?
Files arranged exactly like in the game would be easiest for sure. :onya
 
:aarwhat pieter said.
 
@Levis I shall do that.

I need to add a keystroke to toggle the navigator's log. It's been forever since I've been in that code. Anyone got a link to an explanation of what needs to be done? It will save considerable time. I've already had a quick look at the CONTROLS folder and I can figure it out if necessary.

Hook
 
You can probably link that to the Logs Toggle that already exists.
Then you don't need to add a separate key, but can just make use if the current [L]-button.
 
The log is updated every 15 minutes, 5 minutes when you're near an island transition. This will be too much for most people, but if you need it for some reason, you don't want to get it every hour. My intention is to have one keystroke to toggle the log on and off, and another to display the last log. If you don't have the prerequisites (having a navigator and your ship able to be displayed on the map), it should tell you what you need. You will be able to bypass this check with a game setting.

I'll have to look at exactly what the Logs toggle does, but there's a lot of information that you need to get and it shouldn't be turned off. If it's just additional information, then adding it to the Logs toggle should be fine.

Hook
 
The Logs Toggle has several "levels".
Switching it all the way down vastly reduces the amount of LogIt messages you get during regular play.
 
Back
Top