cdaragorn / Ui-Info-Suite

Mod for Stardew Valley.
86 stars 360 forks source link

1.5 Compatibility for Split Screen #61

Closed DiscipleOfEris closed 1 year ago

DiscipleOfEris commented 3 years ago

Fixed issues introduced by 1.5's new Split Screen functionality. As part of this, fixed compatibility with 1.5's new UI Scale feature.

Split Screen users are constrained to using the same mod options.

Fixed #60

DarkIrata commented 3 years ago

Scaling isn't fixed for the Billboard

DiscipleOfEris commented 3 years ago

@DarkIrata It should be fixed now.

DarkIrata commented 3 years ago

Checked, works

DarkIrata commented 3 years ago

Wubs. Nevermind. It always opens the quests tab. My mistake while testing it

DiscipleOfEris commented 3 years ago

@DarkIrata Good catch. Should be good now.

Alex-LauChunHung commented 3 years ago

I'm new in Github. So how can I use this?

DarkIrata commented 3 years ago

@DiscipleOfEris works. LGTM

@Alex-LauChunHung Pull (or Download as ZIP) the Fork (DiscipleOfEris Master Branch) and compile it.

velit commented 3 years ago

@DiscipleOfEris I built this and tested it. While the hovering petting hands and Billboard/Calendar buttons work with unsynchronized Game / UI Zoom the Social tab "Track on map" functionality drifts and is offset.

Concretely it is not possible to press the Social tab checkmarks next to the magnifying glasses directly when Game Zoom differs from UI Zoom.

DiscipleOfEris commented 3 years ago

@velit Your stated issue should be fixed with the latest commit.

At the moment, tracking options cannot be different between players in SplitScreen, and if one player clicks a checkbox it will update the option for all players, but if any other player happens to be looking at the Social menu, it'll appear to update the checkbox in the same visual position, rather than for the correct character. Other players must re-open the social tab to see the changes.

velit commented 3 years ago

Social tab "Track on map" functionality now tested to work with differing zoom levels. Thanks 👍

velit commented 3 years ago

Okay I got a friend to play this evening together. I don't know what scope you're trying to implement this feature but the "Track on map" functionality fully doesn't work for multiplayer farmhands. Previously the farmhand would see NPCs in their homes but it would not update their real location. With current commit NPCs aren't on the map at all for multiplayer farmhands.

DiscipleOfEris commented 3 years ago

@velit Can you describe your issue more? Tracking NPC locations on the map in SplitScreen works flawlessly for me with the latest commit.

velit commented 3 years ago

Very simply the same feature does not work with multiplayer. Ie. not split-screen but when playing with a friend online. (As I said I'm not sure what scope you're reaching with this feature in the sense that are you even trying to make it work in online multiplayer, but I'm reporting it here nonetheless so the info is shared).

DiscipleOfEris commented 3 years ago

@velit Ah, remote multiplayer. I think this commit should fix your issue, but I didn't test it.

velit commented 3 years ago

My friend reports that it's now back to the baseline bugged version. Ie. now my remote multiplayer farmhand friend sees the NPCs in their homes in the map but they never move during the day. Only the host has moving NPCs in the map with correctly reported locations. This is now back to the same behaviour as the 1.9.1-unofficial.2-Strobe version from https://stardewcommunitywiki.com/Modding:Mod_compatibility

DiscipleOfEris commented 3 years ago

@velit Well at least there's that. I don't have a testing environment set up to support remote multiplayer so I probably won't fix this anytime soon.

EDIT: I looked into this some more and I'm guessing this never worked. Try the mod NPC Map Locations. I'm guessing this mod never worked in multiplayer because that mod is doing some network code stuff to work in multiplayer.

EDIT2: Alright, I've got remote multiplayer working locally, so I can work on this.

velit commented 3 years ago

I wanna say you're awesome @DiscipleOfEris. Even if it this would ultimately end up being too much work to fix the fact that you'd go out of your way to set up remote multiplayer locally to try to fix an issue for others is just awesome.

So no matter what happens I want you to know you're appreciated.

DiscipleOfEris commented 3 years ago

@velit Well I have a version working in remote multiplayer, but I had to rewrite some stuff and the old mappings from tile/location to map pixel don't apply perfectly anymore. I haven't decided if it's worth my time to fix pixel things, not really the kinda coding I like to do, haha.

EDIT: Here's the proof of concept: https://github.com/DiscipleOfEris/Ui-Info-Suite/tree/RemoteMultiplayerTest

velit commented 3 years ago

Ah my apologies. My friend and I finished our playthrough and can't really test it anymore.