Basically, here is how it works:Also darkhound1 has commented many times before on this being more than just changing a few variables, and quite complex, hence why it has not been put as an option in the game (as of the time writing this post)?
you start with:
player.fname = <first name of player>
player.lname = <last name of player>
All girls start with (as an example I use Amy):
amy.playername = Mr. <last name of player>
The game doesn't really know or care if the girl calls you by first name or whatever.
When a girl is switched to first name basis, what happens is just this:
amy.playername = player.fname
It's a copy and not a reference, so changing player.fname later will not affect amy.playername.
What I could add to the mod would be an option to change the MC's first and last name.
Then do the following:
(pseudo code, so that everyone can understand it - it's not to be used in the console!)
loop over all girls
if girl.playername.startswith("Mr.")
girl.playername = "Mr. " + player.lname
else
girl playername = player.fname
endloop
In addition, the name that is displayed when the player talks has to be changed:
playername = player.fname
All of this would be relatively easy to implement, maybe about half an hour of work.
But it's not easy to do it in the console.