Admiral-Fish / CitraRNG

GNU General Public License v3.0
4 stars 7 forks source link

Handle SOS crashing, DexNav/Radar chain and step counter offsets #16

Open Bambo-Rambo opened 1 year ago

Bambo-Rambo commented 1 year ago

Gen 6: The chain length and step counter offsets for Radar/DexNav, are pretty useful, but their current position is annoying and they block the user from copying nearby fields (Current Seed, Frame).

Gen 7: When trying to read the SOS initial seed at the first turn of the battle, more than half of the time, the script returns the infinite loop message. This happens because the seed value is being read slightly wrong (usually off by ±1/2), something happening with Pcalc as well. The workaround I thought for this, is to allow the user edit the SOS initial seed manually by trying close seeds until the script confirms that the edited value is the correct one. This is also necessary for abusing the Citra save states, because immediately after the first turn, and every 624 advances (reasonable since SFMT), the Initial Seed value is being replaced by the Current seed value in memory so reloading a save state will result in the infinite loop message again. In general: If the SOS Seed field is empty, the script will try read from memory, otherwise it will try the existing value.

Bambo-Rambo commented 1 year ago

Left some comments.

Why does the chain length/step count prevent copying text from nearby fields? This should be fixed or these UI elements should be moved to a more suitable location.

Any ideas why the SOS seed fails to read? If the offset is incorrect then it should be fixed instead of the requiring the user to guess their seed, seems very annoying from a UX perspective.

Not sure about the SOS offset. If we can't find the issue, then we could possibly make the script check close values in the range [-2,2] automatically, although save states would still be an issue.

I tried reorganizing the existing UI elements in order for the new ones to fit better but my options seem restricted. Any idea why it messes up like this: https://i.imgur.com/qnsgKGE.png