fuzziqersoftware / newserv

Phantasy Star Online game server, proxy, and reverse-engineering tools
MIT License
158 stars 35 forks source link

[Blue Burst] Information menu item not present #552

Open PalasX opened 1 month ago

PalasX commented 1 month ago

Describe the bug Information menu item not present for Blue Burst unnamed

To reproduce

  1. Connect to server
  2. Pass patch menu
  3. Select character
  4. Be at Ship Select Menu

Game version(s) (choose one or more of the following): BB

Additional context Add any other context about the problem here. "InformationMenuContents": config item is default and unmodified from repo.

Is the information menu item even supposed to show in BB? Why would it not be shown?

Thanks for clarification!

Repflez commented 4 weeks ago

It's only shown on the Teth client, and if newserv was compiled with resource_dasm installed on the host so it can send the patches as well

PalasX commented 4 weeks ago

It's only shown on the Teth client, and if newserv was compiled with resource_dasm installed on the host so it can send the patches as well

I am on Teth 12513 client, and built/installed resources dasm. Per the screenshot, i have the patches menu, though the only PSOBB patch is disable idle timeout.

fuzziqersoftware commented 3 weeks ago

The information menu only works on PSO versions that send a command when a message box is closed, or on versions that can access the menu in a place that doesn't otherwise break the interaction mode. Before v3, the information menu was accessible at the lobby counter; in v3, they removed that, but the client (usually) sends a D6 command when a message box is closed, so it's possible to show the information menu at ship select instead since the server can know when the client closes each message box. Unfortunately, on BB, there's no way to see the information menu because it's no longer at the lobby counter, and the client never sends a D6 command, so it would be a broken user experience. This is also why there's no welcome message on BB.

Unfortunately, adding this back in would require a fairly extensive client patch, and I think it's beyond the scope of this project. I could add a $info command that's accessible from the lobby, but there will be some edge cases to figure out, so it's not trivial to add this. I'll leave this open until I get around to doing this.

PalasX commented 3 weeks ago

oh wow! I didnt know there was such a difference in the way clients handled message boxes. That makes total sense why it cant show it, since it cant follow the client state.

I think $info would be more work than it's worth. Since the player is already on PC, it's trivial for them to go to a web page for the info, so it doesn't need to be in-client.

Thanks for clearing this up! I'm good with it being closed, unless you wanted to leave it open as a "well, i mean MAYBE i could, for funsies" ticket.