• 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 Incorrect Address Forms in Dialogs: Gender or Nationality

One section of "governor_dialog.c" which points at a line that used to say "Sir"deals with paying for forgiveness; the other deals with promotions.
 
OK, now I'm confused. From post 4, it seems that 'string GetMyAddressForm(ref chr, ref pchr, int addrtype, bool fname, bool lname)' is NPC talking to you, and 'string GetCharacterAddressForm(ref chr, int addrtype, bool fname, bool lname)' is for you talking to NPC. And indeed, I've put 'Preprocessor_Add("addr", GetMyAddressForm(NPChar, PChar, ADDR_TITLE, false, false));' into "Antoine Chamfort_dialog.c", which seems to do the job; Chamfort (or Chamot in "Early Explorers") addresses me by male title when I'm Francis Drake and by female title when I'm Claire Larousse.

But "Reynard Grueneveldt_dialog.c" uses 'Preprocessor_Add("addr", GetMyAddressForm(NPChar, PChar, ADDR_TITLE, false, false));' to set up "addr", which is then used in lines where you're talking to him. I suspect that if you're female and try to talk to Reynard Grueneveldt about business, hilarity is going to happen...
 
OK, now I'm confused. From post 4, it seems that 'string GetMyAddressForm(ref chr, ref pchr, int addrtype, bool fname, bool lname)' is NPC talking to you, and 'string GetCharacterAddressForm(ref chr, int addrtype, bool fname, bool lname)' is for you talking to NPC. And indeed, I've put 'Preprocessor_Add("addr", GetMyAddressForm(NPChar, PChar, ADDR_TITLE, false, false));' into "Antoine Chamfort_dialog.c", which seems to do the job; Chamfort (or Chamot in "Early Explorers") addresses me by male title when I'm Francis Drake and by female title when I'm Claire Larousse.

But "Reynard Grueneveldt_dialog.c" uses 'Preprocessor_Add("addr", GetMyAddressForm(NPChar, PChar, ADDR_TITLE, false, false));' to set up "addr", which is then used in lines where you're talking to him. I suspect that if you're female and try to talk to Reynard Grueneveldt about business, hilarity is going to happen...
This would be the same issue that you ran into for the governor.c file, right?
If so, I think it is the code that is confused and not you. I did recently change a lot of that, probably including that line, but I couldn't see which was the addressing was supposed to be used.
So you'd be very welcome to test and correct this one! :cheers
 
Yes, sort of. "governor.c" sets up "addr" the same way and then uses it for both the governor talking to you ("What are your orders, #saddr#?" on line 70) and you talking to the governor ("Do you know about some hostilities on near waters, #saddr#?" on line 72, which is you asking about quests).

But I imagine other specific governor dialog.c files are going to have the same problem as Reynard Grueneveldt...
 
But I imagine other specific governor dialog.c files are going to have the same problem as Reynard Grueneveldt...
Actually, that shouldn't be a major problem. Everything that deals with the governor running YOUR town should be handled through governor.c and not the specific governor dialogs.
While that was originally developed in the Grueneveldt file, I extended that to all governors and it shouldn't be used in the individual file anymore.
 
From "Christofor Manuel de Alencar_dialog.c":
Code:
    case "node_1":
       dialog.snd = "Voice\CHMA\CHMA003";
       Preprocessor_Add("addr", GetMyAddressForm(NPChar, PChar, ADDR_CIVIL, false, false)); // KK
       dialog.text = DLG_TEXT[8];
       link.l1 = DLG_TEXT[9];
       link.l1.go = "quests";
       link.l2 = DLG_TEXT[10];
       link.l2.go = "node_2";
     break;
Line 10, where you answer him, is "Just a polite visit, #saddr#, nothing more." The use of the preprocessor seems to be specific to your answer to him; when Christofor Manuel de Alencar wants to address you, he does it with a split dialog such as 'dialog.text = DLG_TEXT[0] + GetMyFullName(NPChar) + DLG_TEXT[1] + GetMyAddressForm(NPChar, PChar, ADDR_CIVIL, false, false) + DLG_TEXT[2];'.

"Gregario Montavez_dialog.c" seems to have it right:
Code:
  case "node_1":
     dialog.text = DLG_TEXT[8];
     Preprocessor_Add("addr", GetCharacterAddressForm(NPChar, ADDR_CIVIL, false, false)); // KK
     link.l1 = DLG_TEXT[9];
     link.l1.go = "quests";
     link.l2 = DLG_TEXT[10];
     link.l2.go = "node_2";
     break;
 
@Grey Roger: Before you start doing a lot of work on this, are you sure you have the latest update I posted last week?
This is what I already have in my copy of "Christofor Manuel de Alencar_dialog.c":
Code:
    case "node_1":
       dialog.snd = "Voice\CHMA\CHMA003";
       Preprocessor_Add("addr", GetCharacterAddressForm(NPChar, ADDR_CIVIL, false, false)); // KK
       dialog.text = DLG_TEXT[8];
       link.l1 = DLG_TEXT[9];
       link.l1.go = "quests";
       link.l2 = DLG_TEXT[10];
       link.l2.go = "node_2";
     break;
That suggests I already changed it in my earlier search-and-replace.
Though it is very likely there are still such errors hiding throughout the game files.
 
I added a correction to the Puerto Rico tavern owner dialog to correctly address the player as female in some cases.
That does work fine. Now all we need to do is continue testing with a female character to find and fix all other incorrect references.
 
Has anyone been keeping an eye out for this?

If you want to help out with testing, I think the following character might tell us quite a lot:
- Female player character, so we can check wrong gender references in dialogs
- Set in Early Explorers, so we can check @Grey Roger's work for that and see if anything is still wrong for the period
- With Naval Officer as player type so that the "random losing of LoM" problem can be tracked down and fixed for good
 
Detected a gender problem on Beta 4 WIP (13th september). I create a new campaign being woman, a navy officer and established in Early Explorers period. Just the first conversation and he called me Mr. Montes (My character is called Virginia Montes). Here you have the screenshot:

Bug con mujeres.jpg
 
He can't believe his eyes. Women didn't join the navy in those days (*), so you're obviously a man with long hair and peculiar armour hidden under your shirt. xD

(*)At least, they weren't supposed to. So any woman who did join the navy disguised herself as a man and had to be very careful not to be spotted washing. ;)
 
Thread retitled for accuracy.

Detected a gender problem on Beta 4 WIP (13th september). I create a new campaign being woman, a navy officer and established in Early Explorers period. Just the first conversation and he called me Mr. Montes (My character is called Virginia Montes). Here you have the screenshot:
Quite right you are!
PROGRAM\Storyline\FreePlay\DIALOGS\Robert Fletcher_dialog.c find:
Code:
dialog.text = "Congratulations on your promotion, Mr. " + GetMyLastName(pchar) + ". You are hereby required and directed to sink, burn or take as a prize all enemy ships that you can.";
Replace with:
Code:
dialog.text = "Congratulations on your promotion, " + GetMyAddressForm(NPChar, PChar, ADDR_CIVIL, false, true) + ". You are hereby required and directed to sink, burn or take as a prize all enemy ships that you can.";
That should be better and takes both gender AND nationality into account. So you'd be called "Senhorita Montes" there instead.
I could also have the rank used instead of the "Mister/Miss" equivalent, but that seems a bit like overkill.... :wp

He can't believe his eyes. Women didn't join the navy in those days (*), so you're obviously a man with long hair and peculiar armour hidden under your shirt. xD
LOL! Very true, of course. But since the game DOES allow it, we might as well have it match up.
Who knows; there might be someone who wants to make such a character, no? :cheeky
 
Last edited:
Actually, it would be "Señorita Montes", not Senhorita; that would be to the portuguese, if I am not mistaken. The thing is, non-spanish people have this letter in their language or in their keyboards: Ñ. This letter is also neccessary, for example, to spanish people, call their country "España", as it is in their original language. xD Unless that letter didn't exist in XVI centruy, though.
 
Actually, it would be "Señorita Montes", not Senhorita; that would be to the portuguese, if I am not mistaken.
Ah, yes; I wasn't sure if you were playing as Spanish or Portuguese and I did my own tests with Portugal.
With my changed code above, it should be correct either way. :yes
 
Back
Top