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

Unconfirmed Bug Bugs (Re-)encountered in build 14 february 2019

That's normal; unless you start the Standard Storyline as English or Personal, he can mention ANY nation that is hostile to you.
Because what should he say if you start as French, for example?
Does that then also mean the Spanish capture Speightstown rather than the French? And arent you only hostile to pirates if you start as Personal? Because then he does say French ships attacked, while you're neutral to France until you meet the Jamaican governor?
 
So I tried again, this time I could get off the ship, got Artois and went in to the tavern. Instigating a tavern brawl took me a bit too long so I eventually decided: lets just hit Artois.

Draws blade, hits Artois once and boom, rep loss (logical, he was unarmed) followed by: quest book updated.

Artois is dead. Says the questbook :D

So yeah, don't ever friendly-fire Artois!

Logs are attached as well as a zipfile with a save before entering Nevis for the first time and a save after hitting Artois once with the blade.

I guess I'm dead to Artois for hitting him with the pointy end :D
 

Attachments

  • compile.log
    16.2 KB · Views: 194
  • error.log
    182 bytes · Views: 185
  • system.log
    83.2 KB · Views: 204
  • Artois.7z
    428.1 KB · Views: 199
Does that then also mean the Spanish capture Speightstown rather than the French? And arent you only hostile to pirates if you start as Personal? Because then he does say French ships attacked, while you're neutral to France until you meet the Jamaican governor?
It's always the French who take over the town.
And I recall France also becomes hostile to you one way or another.
But if you start in any other town, it doesn't make sense for it to always be French ships that chase you back out to sea.
 
So I tried again, this time I could get off the ship, got Artois and went in to the tavern. Instigating a tavern brawl took me a bit too long so I eventually decided: lets just hit Artois.

Draws blade, hits Artois once and boom, rep loss (logical, he was unarmed) followed by: quest book updated.

Artois is dead. Says the questbook :D

So yeah, don't ever friendly-fire Artois!

Logs are attached as well as a zipfile with a save before entering Nevis for the first time and a save after hitting Artois once with the blade.

I guess I'm dead to Artois for hitting him with the pointy end :D
I don't know how you managed that, but I tried starting a game the same way. Start "Tales of a Sea Hawk" as a pirate, so I start off at Nevis. Enter town, choose to help Artois, kill Nigel, Artois joins me as an officer. Go to tavern, attack Artois, do at most 1 point of damage, no reputation loss because he still has his sword and he's still an officer.

When I load your savegame, Artois is standing there but his interface icon shows a skull and the text "Body of Artois Voysey", so the game seems to think he's already dead. Did Nigel Blythe manage to kill him, or did you manage to finish him off before he talked to you?
 
Other than that I'm up to level 19 and the only other thing is that the CastelF is way slower than it should be. It's about the same as a light pinnace and slower than a light fluyt and way slower than a Polacca.
I've tried some experiments to check this.

Experiment 1: Start a new game with a CastelF. The quickest way I know to do this is to start as Edmundo or Lucia de la Vega, as they get one pre-assigned. (Milady de Winter would also work, if you want to try this yourself.) Then start again with one of the Vega twins to keep all other factors the same but this time pick a Polacca. And then again with a Light Pinnace.
castelf.jpg polacca.jpg light_pinnace.jpg
Consistent with their entries in "Ships_init.c", the CastelF has better speed but poorer turn than the Polacca, and the Light Pinnace is worse than either of them on both counts.

Experiment 2: Start a game with a CastelF. Go to worldmap, look for an enemy group, save game, engage the group, repeat until it's an unescorted group of merchants. I was then planning to keep reloading and engaging until I got a group containing at least one Polacca; in fact, I got lucky, the first merchant group I tried consisted of a Polacca and a Light Fluyt. After bombarding both of them with grapeshot until they surrendered, I saved game again. My CastelF could easily catch both of them, but that's partly because the Polacca kept reducing to battle sails or no sails, and partly because they were fully loaded with cargo and I wasn't. So, after they'd surrendered, I boarded the Light Fluyt, stuffed my ship with as much cargo as possible, then abandoned the fluyt, turned to sail with the wind, raised full sail, waited for the speed to stabilise, then took a screenshot. Then I reloaded the savegame but this time swapped to the fluyt and abandoned the CastelF. Then I reloaded the savegame and swapped to the Polacca.
castelf_sailing.jpg light_fluyt_sailing.jpg polacca_sailing.jpg

A CastelF can be expected to outrun a Polacca with a following wind, but a Polacca should have an advantage sailing across the wind because of its big lateen foresail. So, reload the savegame again, wait for the wind to increase so that sailing across the wind results in a decent speed, then save game again. Load the CastelF with cargo from the Polacca, turn to sail across the wind, wait for the speed to stabilise and take a screenshot; then reload the savegame, swap to the Polacca and get a screenshot of it sailing across the wind:
castelf_sailing2.jpg polacca_sailing2.jpg

Sure enough, sailing across the wind, the Polacca is faster.

The CastelF, being from a game started as a Spanish character, has Spanish national modifiers including speed * 0.95. The enemy ships were French, so hade French national modifiers including speed * 1.05. Results might have been more favourable to the CastelF if all ships had been the same nationality.
 
One other thing I noticed in the "compile.log" from post #42 was a lot of these:
Code:
WARNING!!! Item id = gunpowder not implemented
WARNING!!! Item id = pistolbullets not implemented
The part of "initItems.c" which defines gunpowder, pistol bullets and other ammo types only activates if the Ammo Mod is enabled. If it's disabled, those items do not exist in the game. In "PROGRAM\Characters\init", any character who is provided with a pistol should only get ammunition if the Ammo Mod is enabled. But it turns out that some definitions lack the condition to check for that, try to assign ammo regardless, and that's what causes those messages in "compile.log". It doesn't foul up the game, which is probably why nobody has noticed it before. It just means those characters try to get ammo, can't get it because it doesn't exist, then are defined anyway.

However, I've gone through the various character files. Most of the errors were in "Sidequest.c", but there weren't quite enough to account for all the lines in "compile.log" - there would be one pair of messages for each character who tried to get ammo when it doesn't exist, and "Sidequest.c" was short by two. It turned out that "Officers.c" and "Turks.c" had one each.

Once I'd added checks for the Ammo Mod to all these, I started a new game with Ammo Mod disabled and got no error messages. The fixed character files will be in the next update.
 
I do have a faint memory that turning off a certain mod causes weirdness of some sort.
But I can't remember the exact details. It could very well be the Ammo Mod.
 
Thank you for the detailed look into the performance of the CastelF.

I have done it a bit differently. I started a free play game and the ship progression went: French Hoy > Heavy Lugger > Polacca > CastelF. I also picked up a NeptunsE escort ship while sailing the Polacca. I almosr never sail with empty holds and all ships were fully upgraded.

The NeptunusE can easily keep up with the Polacca with the wind, struggles to keep up in a cross wind and falls far behind in anything approaching a head wind. The NetpunusE can easily keep up with the CastelF in all winds until its sails start luffing and it falls back as the CastelF can go a little bit deeper into the wind. This is with full holds.
Compared to the Polacca the CastelF with full holds is effectively slower in all scenarios and I quickly got frustrated with it and its slow speed, which is comparable to Light Pinnace. The light Fluyt is faster as I recall. I bumped the CastelF speed up and that did help some but the basic problem is that the speed drops off too much from empty to full holds. Last night I believe I found the answer in the shipsinit.c by dropping the numbers in some speedepend settings to be more like the other brigs. It picked up enough speed from that.

The next step will be to acquire another Polacca and run them together for more tuning.
 
The NeptunusE should be faster than the CastelF; its base speed is 13.0 to the CastelF's 10.8. As shown in my experiment, the Polacca benefits from its big lateen foremast in cross wind. The NeptunusE is a pure warship and a full hold won't be as heavy as a full hold on a CastelF or Polacca.

My own experience of CastelF versus Polacca differs from yours, as shown by the screenshots. Fully loaded, a Spanish CastelF made better speed than a fully loaded French Polacca when sailing with a following wind. The Polacca was faster in a cross wind, as expected. I didn't get the chance to compare sailing a CastelF to sailing a Light Pinnace under identical conditions, but the CastelF certainly outperformed the Light Fluyt.

The CastelF should be slower than other brigs, especially when fully loaded. It's a dual-purpose ship - in fact, the real one was a merchant with only a few cannons. The CastelF has a capacity of 1550, the basic Brig and Brigantine have 1000. So a full load in a CastelF should indeed weigh it down more than a full load in a Brig. (The capacity of the Polacca is 1850, which may be why the Spanish-built CastelF could sail faster than the French-built Polacca when both were fully loaded.)
 
One thing that springs to mind: some ships slow down a lot when carrying cargo, while others maintain their speed much better.
Could that have anything to do with anything?
 
One other thing I noticed in the "compile.log" from post #42 was a lot of these:
Code:
WARNING!!! Item id = gunpowder not implemented
WARNING!!! Item id = pistolbullets not implemented
The part of "initItems.c" which defines gunpowder, pistol bullets and other ammo types only activates if the Ammo Mod is enabled. If it's disabled, those items do not exist in the game. In "PROGRAM\Characters\init", any character who is provided with a pistol should only get ammunition if the Ammo Mod is enabled. But it turns out that some definitions lack the condition to check for that, try to assign ammo regardless, and that's what causes those messages in "compile.log". It doesn't foul up the game, which is probably why nobody has noticed it before. It just means those characters try to get ammo, can't get it because it doesn't exist, then are defined anyway.

However, I've gone through the various character files. Most of the errors were in "Sidequest.c", but there weren't quite enough to account for all the lines in "compile.log" - there would be one pair of messages for each character who tried to get ammo when it doesn't exist, and "Sidequest.c" was short by two. It turned out that "Officers.c" and "Turks.c" had one each.

Once I'd added checks for the Ammo Mod to all these, I started a new game with Ammo Mod disabled and got no error messages. The fixed character files will be in the next update.

Yeah I didn't pay too much attention to that, it's alwaysi n the compile log and I figured it was because I have gunpowder and ammo disabled.

Interesting that Artois shows up as a skull/dead body for you, it did not for me. He was at 2/3rd of HP when Nigel walked up to me. I killed Nigel, went in to the tavern and hit Artois (by now full HP again) once, and the questbook says he died. He's in perfect health and shows alive to me in both the passenger screen as well as his icon in the top-left corner when I walk up to him.. The only explanation I can come up with is that I may have taken his sword off of him? Perhaps with his sword equipped, he doesn't 'die' somehow..?
 
I don't know how you managed that, but I tried starting a game the same way. Start "Tales of a Sea Hawk" as a pirate, so I start off at Nevis. Enter town, choose to help Artois, kill Nigel, Artois joins me as an officer. Go to tavern, attack Artois, do at most 1 point of damage, no reputation loss because he still has his sword and he's still an officer.

When I load your savegame, Artois is standing there but his interface icon shows a skull and the text "Body of Artois Voysey", so the game seems to think he's already dead. Did Nigel Blythe manage to kill him, or did you manage to finish him off before he talked to you?
So I started another save, saved Artois and hit him. Nothing happened. I went in to the tavern and hit him again. Again nothing happened.

Then i claimed his inventory, and hit him again. Instantly his portrait icon turned to skulls, claiming it is the body of Artois. He's had a total of 3HP damage dealt to him however. So I guess always make sure he has a sword on him?

To be sure I did a fresh installation, and same thing goes. Only difference was that I couldn't draw my blade in the tavern anymore, stating that 'that isn't a good idea'. So i hit him outside the tavern while him being unarmed and poof, "dead" :D.
 
Last edited:
One thing that springs to mind: some ships slow down a lot when carrying cargo, while others maintain their speed much better.
Could that have anything to do with anything?
That is why I saved game after forcing the Polacca and Light Fluyt to surrender. I could then either transfer cargo from one of them to my CastelF so that it was fully loaded, or take over one of the other, fully loaded ships. The whole point was to make it a fair comparison by making everything the same - full cargo, same captain (me), same wind.

Another factor is upgrades. One thing I didn't notice before in my test was that the Polacca had the "Cotton Sails" upgrade, so the test was even more skewed in favour of the Polacca.

Attached is a zip file with the savegames in case anyone else wants to run the tests. In both savegames, the battle is over, both enemy merchants have surrendered, and the second savegame is after I've waited a few hours and the wind finally picked up.
 

Attachments

  • ship_trials.zip
    1.4 MB · Views: 192
First sorry to hijack this thread.

Last night I got another Polacca so now have both Spanish CastelF and Spanish Polacca with all upgrades. The CastelF with my chnges to shipsinit.c is indeed too good and I will have to detune it starting with reducing its speed, then possibly increasing the penalty with full holds until they balance out. It was the full holds tweak that got it going as before it would just bog down to 2-4 knots and almost never got over 6 knots, which had the other ships sitting with furled sails too much.

I'm not doubting other results. Perhaps I got an especially bad CastelF at first. After all there was a time I was happy with its performance.
 
CTD after visiting another ship in your fleet: confirmed. It happens as a result of visiting the ship; you don't need to talk to the captain. It reliably happens if you visit the other ship while at sea. The game seems to get confused about whether it's at sea or docked because when you visit the other ship's deck, the link to the last port visited is still there, even if you're on the worldmap and nowhere near any island.

As indicated elsewhere I have been looking at this one recently

Is Guadeloupe really a location (id)? I have never used that block with an island name.
It is indeed and by coincidence is what is needed to be saved to allow visiting companions at sea
as an example pchar attributes

id = Blaze
index = 0
name = Julian
old =
name = Julian
lastname = McAllister
chr_ai =
group = player
lastname = McAllister
sex = man
model = 47_JRMMSub
entity = Player
animation = man
height = 1.8000000
location = FalaiseDeFleur
group = reload
locator = reload_1
emerge = reload1
from_sea = Greenford_port
ship =
type = BrigRoyal
name = Defiance
It works at least... I think yes, it refers to the waters around an island, the quest case is triggered as soon as you enter from the map.

Sailing to Guadeloupe it is only when you leave the map and enter sea that the location is updated in the player attributes



I set a bool so that only the first deck visited causes a save of that "waters" location (with group type and locator) so that the return to sea after works.

//Tыставим и запомним адреса //PW put bool to only save location on first deck_start
if (bFirstDeck) {
boarding_adr[0].location = mchr.location;
boarding_adr[0].group = mchr.location.group;
boarding_adr[0].locator = mchr.location.locator;
TraceAndLog("location stored on boarding_adr(0) in Deck_Start");
bFirstDeck = false;
}

Previously the next deck/cabin visited would overwrite the island location with the previous decktype location and thus the return crashed since there was no longer a viable sea location. Generally I can jump from deck to deck and deck etc and back and return to sea ok.


But I'm still wrestling with including cabins (which is the point if you are going to meet the other captain) but they seem Ok if you use the door not teleport and am about to check what happens if you don't have deck visiting turned on.


I've got the port label (and reload) disabled but the anchor for port in fast travel is still to be dealt with (these use from.sea location so send you back to your last port of call) - on which note the "back" option also screws things up since I am effectively blocking intermediate "back" locations - so I have sort of blocked that if bSeaActive. Actually as I type this I am wondering if part of the answer is to disable fast travel and force you to walk round the ships to access anywhere you want to go.


Also getting ctds from shprollinterface.dll (new one to me) when I try a second visit and return after the first successful one, which I'm guessing is either because of the changes to wave height or freezing and unfreezing layers but maybe something else entirely.

However messing with all these to get "at sea" to work may well bug what happens at port so all in all I'm not sure if I will arrive at anything useful in the end.
 
Last edited:
Sounds like you're doing amazing work, mate! :bow

Actually as I type this I am wondering if part of the answer is to disable fast travel and force you to walk round the ships to access anywhere you want to go.
Makes sense to me to allow teleportation only when you are on a main deck location if that simplifies things for you.
After all, you can't get into a longboat if you're hiding somewhere inside. Right? ;)

Also getting ctds from shprollinterface.dll (new one to me) when I try a second visit and return after the first successful one, which I'm guessing is either because of the changes to wave height or freezing and unfreezing layers but maybe something else entirely.
Yikes!
That's a feature I once added... :(

It should only be active IN storms.
But I've occasionally seen it outside, I believe.
So something dodgy going on... and I wouldn't know what. :facepalm
 
Back
Top