Archipelago icon indicating copy to clipboard operation
Archipelago copied to clipboard

FF1: Place incentive items and disconnect if ROM changes

Open Alchav opened this issue 3 years ago • 0 comments
trafficstars

What is this fixing or adding?

The yamls generated by the Final Fantasy Randomizer specify which items and locations were selected as incentive, but this information is ignored by AP. This changes that, by running the items and locations into fill_restrictive.

I would personally not use this feature much, as it would lead to major items being forced locally, but if a user wants to use this, and we have the data, we might as well do what they wanted.

Also modifies FF1Client to continually check for the slot name reported by the lua changing, and disconnecting from the lua and server if this happens. My brother reported switching games and checks being sent out erroneously. When I tried to reproduce this, the lua seemed to always disconnect from the client when I switched ROMs, and fail to reconnect until I restarted BizHawk. However, since this problem was reported, I don't think it could hurt to check for it.

How was this tested?

Generating games using incentive items and locations specified. I tested both having more items than locations, and more locations than items. Results appeared to be as expected.

Connected to an FF1 slot, collected checks, and then switched ROMs. The lua stopped working, and I restarted BizHawk and loaded the second ROM and connected to the FF1 Client, and my code to close the connections was triggered.

If this makes graphical changes, please attach screenshots.

Alchav avatar Oct 15 '22 03:10 Alchav