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

Possibility of making $edit npc work on Ep3 and PSO GC Plus? #536

Open
Star-X555 opened this issue Jul 5, 2024 · 3 comments
Open

Possibility of making $edit npc work on Ep3 and PSO GC Plus? #536

Star-X555 opened this issue Jul 5, 2024 · 3 comments

Comments

@Star-X555
Copy link

The recent development of a way to run patches on PSO GC Plus makes me wonder if the $edit command could be expanded to cover V3 games and Ep3. Since, to my knowledge, no save editor exists for PSO GC, or Ep3, it's very difficult to get a working NPC skin in those games, and in Ep3's case, damn near impossible.

The protections on the Plus client were formerly thought to be insurmountable, but obviously that wasn't the case. Is it therefore possible to get the $edit command working on V3 games and/or Ep3, especially the NPC option?

@fuzziqersoftware
Copy link
Owner

This is indeed possible, but is a nontrivial amount of work. We would either need to save the entire character file on the server side, edit it, then load it to the client again, or write a client function that updates the character data in-place. I'll probably implement this by doing the latter, but I can't promise when I'll get to it.

@Star-X555
Copy link
Author

Yeah, no rush. That being said, if/when I recompile my Steam Deck's newserv instance, I'll be experimenting with the $savechar command and seeing how it's actually formatted. Would be funny as hell if it turned out to be in a format where even someone who's pretty bleh with hex editing and/or programming could find the one variable in the entire file that controls NPC appearance XD

@fuzziqersoftware
Copy link
Owner

$savechar saves files in BB format on the server side; the format is documented in SaveFileFormats.hh. For setting NPC flags in a hex editor, I think you'll want to set disp.visual.extra_model (byte at 394 in the .psochar file) to the NPC value (see name_to_npc_id) and set disp.visual.validation_flags (byte at 3AA in the file) to 2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants