Cuyler36 / ACSE

A Save Editor for the Animal Crossing main series games written in C#
MIT License
198 stars 34 forks source link

Potential Errand Bug? #13

Closed DoctorSupernova closed 6 years ago

DoctorSupernova commented 6 years ago

(Applies to NTSC Animal Crossing for Gamecube)

After editing a save where I had an errand for a villager in progress (going to pick up an item), a strange bug happened. When I select the "I'm picking up!" prompt, the game acts as though I'm delivering the first item in my inventory to the villager.

image image

If I choose to give it, my player gives nothing, the villager gets angry, and the game softlocks with my player frozen in place mid-giving animation.

image image

If I don't choose to give it, the villager just gets angry and I can move, but I still can't complete the errand.

I've been playing this game for years, and I've never encountered this bug on any save file until now, so I think ACSE caused it somehow. I'm using the latest release. What might have caused this, and is there any way to debug this on my end?

Cuyler36 commented 6 years ago

Did you change your characters name? Or your towns name? What about the villager in question? I haven't experienced this bug myself, so I'll need more information to track down what's happening.

DoctorSupernova commented 6 years ago

I didn't change any of those names in between saving and loading the game.

I attempted to use a RAM tracker to see what was going on here compared to any other errand. I found a set of addresses that, when talking to a villager involved, store the strings of the villagers' names and the item in question. But changing them doesn't fix the problem and I can't find what processes wrote to those addresses.

I've given up and started a new town, but I kept a copy of this save. I'll let you know if I encounter this bug again, but in the meantime, I can send that GCI file to you if you want to take a look yourself.

Cuyler36 commented 6 years ago

Sure, that would be useful. Normally when something with villagers happens, it's because either the town or player name changed. In this case, it seems like the game was keeping track of some errand that never existed. I haven't looked at how errands are stored in the save file, but I'll give it a look with your save file and see if I can't get to the bottom of the issue.

Cuyler36 commented 6 years ago

Closing this due to no followup. The issue will be fixed eventually. It will require removal of the ability to set the player's town name separately from the actual town name.

Cuyler36 commented 6 years ago

This should be fixed in the newest release. Once I implement the VillagerRelation class, any chance of this happening will be gone.