• 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 Transfer Between Two Companion Ships: Officer Transfer locks up

Wolve

Sailor
Ahoi!
Just noticed that when you (accidentally) hit the Assign Officers button during ship transfer not having your own ship selected will make the screen get stuck. You can't get out by pushing the other buttons nor with the X in the right top corner.
 
not having your own ship selected
What do you mean by that? What ships are you transferring between?

Please post a savegame and an exact sequence of buttons to press that we can use to trigger this problem.
 
F2 -> Ship -> Ship Transfer -> select officers ships (e.g. Corsair frigate of officer 1 left and 6th rate Frigate of officer 2 right) -> Press Assign Officers
I had this also when playing the older beta, so I think you should be able to do the same with your own saves. I think the game freaks out because they cannot assign officers themselves (as they are officers), inv loop/missing party or something.
 

Attachments

  • -=Player=- Bonaire.rar
    646.5 KB · Views: 141
Are you assigning more than one officer on your companion ships?
I think that is theoretically possible, but I am not at all sure if that works right.
 
If I select my own ship as the 1st and then a companion ship as 2nd I can assign officers without a problem (indeed using multiple ones to get more perks active at a ship).
By selecting two companion ships and then hitting the assign officers button the system goes crazy. It is just annoying that if you accidentally click it when trying to transfer goods the game gets stuck and the only way to get out is to terminate the game. If you didn't save right before then you are screwed :)
 
Do you get any error.log entries when this happens?
If so, those may point towards a quick fix. If not, it will take a bit more doing to sort this one out.

If I select my own ship as the 1st and then a companion ship as 2nd I can assign officers without a problem (indeed using multiple ones to get more perks active at a ship).
By selecting two companion ships and then hitting the assign officers button the system goes crazy.
I think I am beginning to understand, therefore I renamed this thread to try to more accurately describe the problem.
Did I get that right?

It is just annoying that if you accidentally click it when trying to transfer goods the game gets stuck and the only way to get out is to terminate the game. If you didn't save right before then you are screwed :)
I think virtually nobody bothered to try this, so it seems that you're the first.
While easily avoidable, it is still wrong and would definitely be very annoying when triggered.

@ANSEL, @Jason, @Hylie Pistof or @Grey Roger: Can you please try this and confirm you get the problem as well?
 
Yes that would be a more accurate name :)
Error log is in the attachment.
 

Attachments

  • error.rar
    189 bytes · Views: 144
Yes that would be a more accurate name :)
Error log is in the attachment.
Good chance that this is very much related:
Code:
RUNTIME ERROR - file: interface\interface.c; line: 1110
Invalid function call
RUNTIME ERROR - file: interface\interface.c; line: 1110
function 'LaunchTransferMain' stack error

Thanks! :cheers
 
I had already tried the saved game and got almost the same result. I say almost the same because for some reason although there are apparently three ships in the player fleet it offers a fourth (gunboat) in ship transfer and choosing that with the character also gives a lockup (not surprising I guess). Another save I had (in 27th March version) confirms the problem is not just with the provided save.

In the officer transfer (between player and companion) you don't get two ships officers just the companion with four slots (as though they are shore party etc) plus your passengers in the line above. So given that - there is no way that it would work between two companions (who don't have passengers) and the game locks as described under those conditions on pressing officer transfer.

All in all I would suggest the easy fix would be locking out the officer transfer button if the character ship is not involved (for transfer of other things) to avoid accidental selection locking the game.
 
I say almost the same because for some reason although there are apparently three ships in the player fleet it offers a fourth (gunboat) in ship transfer
Wait, what? WHAT!?!? :shock
clara_what.gif


All in all I would suggest the easy fix would be locking out the officer transfer button if the character ship is not involved (for transfer of other things) to avoid accidental selection locking the game.
Agreed; I think that is probably the best solution. Simplest and safest. :onya

I'm not entirely sure if the correct file for this is "transfer_main.c" or "ransack_main.c".
Though a quick LogIt/Trace statement at the top should give the answer to that.

Something like this should work to disable the "Assign officers" button:
Code:
if (!IsMainCharacter(refMyCharacter) && !IsMainCharacter(refEnemyCharacter) )
SetSelectable("CHARACTERS_BUTTON", false);
SendMessage(&GameInterface, "lsls", MSG_INTERFACE_MSG_TO_NODE, "CHARACTERS_BUTTON"  , 0, "No Officers Between Companion Ships"); // This is optional; just changes the text on the button to explain why it isn't available

Is that something you can work with?
 
Is that something you can work with?

The error code quoted above would suggest transfer_main is the one.

I'll have a go at sorting it if I know you're not (at least until I succeed or give up).

I think the other thread about swapping crew on ransack is also related to swapping to a companion (something I didn't even realize could be done) but I'll post there too.
 
I have berthed the gunboat at Kralendijk :) that's probably why you see it floating around somewhere (though it is kinda strange to get it as an option).
GL solving it!
 
I'll have a go at sorting it if I know you're not
I'm not touching it. I'm trying (and not quite succeeding) to focus on some Beta 4.0 promotion rather than more modding and support.
So if you can look into it, that'll be very awesome! :cheers
 
Here is the revised transfer_main.c which locks out the character(officer) transfer button if two companion ships are chosen. It doesn't deal with choosing a berthed ship that doesn't have a captain - but you can not do that one by mistake so it can stay for my money. It was only a matter of putting @Pieter Boelen 's code in a suitable place.
 

Attachments

  • fix1_transfer_main.7z
    7.2 KB · Views: 147
It was only a matter of putting @Pieter Boelen 's code in a suitable place.
And finding that suitable place. And making sure I didn't mess up the syntax. And checking that is actually does what it should!
All crucial parts for which I am very grateful. :bow

So @Wolve: Please try this (file to be extracted to your PROGRAM\INTERFACE folder).
 
I think I’ve broken something. :facepalm

If I go to the ship transfer screen and try to swap officers between ships other than my own, the interface locks up.
There is no way out, I have to kill the game. It works absolutely fine if I use my own ship so I dunno what went wrong.
error.log said:
RUNTIME ERROR - file: interface\interface.c; line: 1110
Invalid function call
RUNTIME ERROR - file: interface\interface.c; line: 1110
function 'LaunchTransferMain' stack error
 

Attachments

  • Untitled.jpg
    Untitled.jpg
    185.4 KB · Views: 150
Officer transfer between companion ships?
Indeed that was reported a few weeks ago as well.
We don't know why that happens and if it ever did work.
In the Beta 4.1 WIP files, @pedrwyth already disabled that option.
Doesn't fix the feature, does prevent the locking up.
 
Back
Top