Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Name change issue #439

Open
Chees3y opened this issue Dec 29, 2020 · 9 comments
Open

Name change issue #439

Chees3y opened this issue Dec 29, 2020 · 9 comments
Labels
good issue A good issue that someone should research

Comments

@Chees3y
Copy link

Chees3y commented Dec 29, 2020

Hello!
I downloaded the latest build of NHSE and used it to edit the name of my villager, however, the letters in-game are still sent from my old name and the villagers treat me like a brand-new person. Is there a way to fix this?

@kwsch
Copy link
Owner

kwsch commented Dec 29, 2020

Changing the player's name runs a bytewise replacement throughout all of the loaded savefile-parts.

if (pers.PlayerName != TB_Name.Text)
{
var orig = pers.GetPlayerIdentity();
pers.PlayerName = TB_Name.Text;
var updated = pers.GetPlayerIdentity();
SAV.ChangeIdentity(orig, updated);

If the mail/villagers are comparing things differently, then things will need to be documented on how they need to be updated, prior to being able to be implemented in NHSE.

@Chees3y
Copy link
Author

Chees3y commented Dec 30, 2020

Is this something I can go in and fix later? Or is my save kinda fucked?

@kwsch
Copy link
Owner

kwsch commented Dec 31, 2020

You can always change it back to your original name, or reuse the same backup.

You can also try hex editing the decrypted save files to do a byteswap (with 00 padded to match the same length) with the unicode strings you want to replace.

I did the identity-replace (which is a u64+string byte pattern) rather than just a string-replace, because some people can enter really dumb names (short) that may be present elsewhere in the save but not stored as a string value.

Example:

Player name is "H", wants to replace with "Herman"

Replace: 48 00 00 00 00 00 00 00 00 00 00
With:    48 00 65 00 72 00 6D 00 61 00 6E

This becomes problematic if:

Player name is "H", wants to replace with "J"

Replace: 48 00
With:    49 00

Doing the ^ replacement will likely hit other regions that weren't storing the players name, and just so happened to have the same value. So it's something to be careful of.

@berichan
Copy link
Collaborator

berichan commented Feb 7, 2021

You can manually update a villager's player name/island name memory string as of b97082c. Identities will not update, but this should be enough if all you've done is changed your name in NHSE.

The postbox editing is a whole other can of worms.

@LauraWebdev
Copy link

Am I reading this issue correctly, that there isn't a way to change your name, at least in a way where you don't see your old name in game anymore (in new content)?

@cactysman
Copy link

cactysman commented Dec 20, 2021

I've discovered that a villager's personal.dat in decrypted dumps contains a line that seems to be the mail's signature line starting at 0x00041BD8 (please someone confirm if this is a static offset).

Just go search for 46 00 72 00 6F 00 6D in a hex editor to find the "From".

image
image

But since that is an English string there, maybe switching to a different language (Switch settings) and back would also solve this without having to hack this in, at least for now 🤔

@hp3721
Copy link
Collaborator

hp3721 commented Dec 20, 2021

@cactysman 0x36a50 (GSavePlayerOther) + 0xb188 (GSaveMailUserInfo) = 0x41BD8, which is the offset you found, so I would assume it is right.

@Maryjoanna25
Copy link

How can I change my villagers name on animal crossing new Horizon

@Gamerguy2234
Copy link

Hey, I'm trying NHSE for the first time and I'm mainly concerned with the issue of villagers treating me like a new person. I'm speaking from experience using the latest release as of this comment. Is there a workaround for this?

@berichan berichan added the good issue A good issue that someone should research label Dec 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good issue A good issue that someone should research
Projects
None yet
Development

No branches or pull requests

8 participants