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

Fixed Game crash when recruiting captured ship captain/exit captured ship

I still have him yes, he is just in my passengers list (navigator for my optional 3rd companion ship).
Game just crashed again. Added a save file as well as log files.

Side question: is there a limit on the amount of officers one can have?
 

Attachments

  • Crash2.rar
    738.8 KB · Views: 118
Side question: is there a limit on the amount of officers one can have?
There is probably a functional limit of some kind, but I can't give you a number.

I still have him yes, he is just in my passengers list (navigator for my optional 3rd companion ship).
You are using him as EXTRA officer for your companion ships (e.g. not as captain)?
At the time when he gets cleared, is he in use as such?
 
Ok, so there IS something definitely wrong with this guy.
He IS in your passengers list, but the game doesn't quite recognize him as being there.
Therefore he is "OK to be cleared", which really he shouldn't be. :facepalm
 
Yes I just added all the codes :) will make my game crash in prox 10 mins :p (or whenever I get an enemy capt to be so kind as to surrender to me)
 
Just reloaded and tried again, crash...
 

Attachments

  • compile.log
    10 KB · Views: 108
  • error.log
    11.7 KB · Views: 118
Extract attached file to PROGRAM\DIALOG ; this adds yet more debug code.

After each boarding, please find the last "Before hiring: " and "After hiring: " lines in your compile.log file.
Do this both when the game crashes and when it works. I am hoping that there is some sort of related logic that becomes apparent then.

These are a bit weird:
Code:
RUNTIME ERROR - file: sea_ai\AIShip.c; line: 2908
missed attribute: fantomtype
RUNTIME ERROR - file: sea_ai\AIShip.c; line: 2908
no rAP data
RUNTIME ERROR - file: sea_ai\AIShip.c; line: 2908
missed attribute: fantomtype
RUNTIME ERROR - file: sea_ai\AIShip.c; line: 2908
no rAP data
RUNTIME ERROR - file: dialog.c; line: 414
incorrect argument index

What kind of encounter was this? WorldMap? Random ship surrounding an island? Quest Ship? If so, what quest?
Not just weird; should be IMPOSSIBLE!

The relevant line is this one:
Code:
TraceAndLog(TranslateString("","Type") + ": " + stringRet(CheckAttribute(rDead,"FantomType"),TranslateString("",rDead.FantomType) + " ","") + TranslateString("","ship") + ". " + TranslateString("","Points") + ": " + points);   // LDH 31Jan09
That one has a CheckAttribute in place specifically to PREVENT that error.log entry!

And I double-checked and Coast Raiders DO always get that attribute added. So that's just bizarre.
 

Attachments

  • Cabinfight_dialog.zip
    8.7 KB · Views: 122
@Pieter Boelen I extracted that file into the DIALOG folder, but im not getting any before hiring: / after hiring: messages.
Game crashed again at 2nd recruitement.

compile log (on crash):
...
SETTING MUSIC: music_abordage
SETTING MUSIC: music_abordage
SETTING MUSIC: music_abordage
ClearCharacter called from FindFreeRandomOfficer
ClearCharacter erases Enc_Officer_14()
ClearCharacter called from FindFreeRandomOfficer
ClearCharacter erases Enc_Officer_14()
ClearCharacter called from FindFreeRandomOfficer
ClearCharacter erases Enc_Officer_14()
ClearCharacter called from FindFreeRandomOfficer
ClearCharacter erases Enc_Officer_14()
Template <follow> -> path not found chr.id = Enc_Officer_14
SETTING MUSIC: music_day_sailing
SETTING MUSIC: music_day_sailing
SETTING MUSIC: music_abordage

error log:
RUNTIME ERROR - file: dialog.c; line: 414
incorrect argument index

Difference with crash and no crash recruitment was at no crash I got the additional line after the last SETTING MUSIC:
Dialog: Missing dialog file by length:
 
Try the attached one instead.

Do you have a savegame with a surrendered ship that consistently crashes?

I think I am beginning to see why ClearCharacter gets called several times in the row.
Got up to three calls to it in a row already; might be four if the dialog file is loaded twice for some reason (I think that may happen).

Not necessarily bad though; apparently the game has got a reason for wanting to use that officer slot, probably because it is unused.

There is no name shown, so it wasn't an existing character that got cleared.

This one is odd though:
Code:
Template <follow> -> path not found chr.id = Enc_Officer_14
The game tries to make a copy of the captain and assign him to the unused "Enc_Officer_14" position.
Then the game tries and fails to do *something* with that officer.
 

Attachments

  • Cabinfight_dialog.zip
    8.7 KB · Views: 111
No I don't, im just using instant boarding (rly, no cooldown?) on ships around the island untill I get a captain who surrenders. Will post my findings in a bit.
 
im just using instant boarding
If you can make a save with a surrendered ship that always causes a crash, that would give me a perfect testing case.

rly, no cooldown?
Feel free to make another Bug Tracker entry for that one.
There SHOULD be a cooldown. But the game code is annoying and there is a difference between "should" and "is".
 
Ok I got a ship to surrender at sea. 1st boarding it crashed, 2 after it didnt, 4th time it did again....I got no clue why...
All files in attachment
 

Attachments

  • Pirates of the Caribbean.rar
    730.2 KB · Views: 110
Thanks.

Some curious error logs again:
Code:
RUNTIME ERROR - file: dialog.c; line: 414
incorrect argument index
COMPILE ERROR - file: dialog.c; line: 414
file not found: dialogs\English\livh
COMPILE ERROR - file: dialog.c; line: 414
file not found: dialogs\live
RUNTIME ERROR - file: Characters\Leveling.c; line: 716
missed attribute: officertype
RUNTIME ERROR - file: Characters\Leveling.c; line: 716
no rAP data
RUNTIME ERROR - file: Characters\Leveling.c; line: 762
missed attribute: officertype
RUNTIME ERROR - file: Characters\Leveling.c; line: 762
no rAP data
RUNTIME ERROR - file: Characters\Leveling.c; line: 762
missed attribute: officertype
RUNTIME ERROR - file: Characters\Leveling.c; line: 762
no rAP data
RUNTIME ERROR - file: Characters\Leveling.c; line: 762
missed attribute: officertype
RUNTIME ERROR - file: Characters\Leveling.c; line: 762
no rAP data
I wonder how "officertype" can be missing when I DO see it printed as "navy officer" several times in that file.

I don't know when I'll have time to properly dive into this though.
Seems like it isn't a quick fix. :ko
 
If you like I can test some more, but it seems they are always navy officers.
Is there a way to get the specific officer type? Maybe type assignment goes wrong.
 
To be honest, I'm not sure what would still be worthwhile to test.
There is some investigation required, but me telling you what to investigate would probably take longer than me doing it.
Unfortunately I just don't have time I need to do everything I want to see done. :facepalm
 
Ok, just poke if you need :)
I'm just asking about the officer type because eventhough it is the same guy every time (name and looks) his occupation (Navigator, gunner, etc) is random.
As a surgeon or navigator the game didn't crash for example.
 
I'm just asking about the officer type because eventhough it is the same guy every time (name and looks) his occupation (Navigator, gunner, etc) is random.
As a surgeon or navigator the game didn't crash for example.
At what point do you find out his occupation? According to those log files, he stays a "navy officer" all the way.
 
Back
Top