Fate-Grand-Automata / FGA

Auto-battle app for F/GO Android
https://fate-grand-automata.github.io
MIT License
1.45k stars 267 forks source link

Today there was an update to the FGO JP app, including a resolution extension. #756

Closed sleeping-player closed 3 years ago

sleeping-player commented 3 years ago

Before opening an issue:

Your issue will get closed/locked by the bot in case proper info isn't provided If you open unnecessary/dumb issues, you'll be rewarded with appropriate tags.

Describe the bug Today there was an update to the FGO JP app, including a resolution extension. The screen display area was expanded to the notch area, and when the notch was placed on the left side of the screen, the FGO command of Servant 1 was placed under the FGA pause button during battle. For this reason, when the FGA executes the "a" command, it presses its own pause button located there, and does not apply a buff to the Servant. If the screen is reversed, the FGA works normally.

It seems that there have been people who have said this before, but this JP update seems to make the problem bigger. First of all, it seems necessary to explain in https://github.com/Fate-Grand-Automata/FGA/wiki/Game-Area-detection to play with the cable facing the left side of the device's rotation direction.

Currently, one device is using compose branch build and the other is using normal canary build, both of which have a notch or something like that, so they were affected by the JP update.

Ignore Notch Detection is enabled, of course.

Screenshots

Video https://youtu.be/ITHcHSxOU1s The script in this video starts with "afgh2".

Device Info (please fill at-least 'Device model'):

sleeping-player commented 3 years ago

Mentioning #753

Stundedx commented 3 years ago

I assume you know that you can move the play icon right? It works perfectly for me if I put it to the top-left side of the screen. But for some reason for this update in my case, the support list doesn't work properly, it won't auto pick even if I tuned it to select the first support.

sleeping-player commented 3 years ago

I assume you know that you can move the play icon right? It works perfectly for me if I put it to the top-left side of the screen. But for some reason for this update in my case, the support list doesn't work properly, it won't auto pick even if I tuned it to select the first support.

Oh there was that way too. But from what I've heard, the location of the button was decided after careful consideration, so I was originally told that the location was the best and should not be moved if possible.

Stundedx commented 3 years ago

Yeah, most top left side is going to be a problem too actually, cause that's the reason it doesn't select the supports as the pause button now is blocking an important part.

The update going total full screen really fuck things up. You just need to find a perfect place for the buttons to not block the important part of the screen.

MathewSachin commented 3 years ago

So, going forward, FGA should assume Ignore notch calculation for JP.

I guess I'll have to show one button at a time. How about we only show the Pause button when the script is running and once you pause, you get both the buttons to either Resume or Stop? That should solve this problem if there are no other changes. With these changes, I believe no action would be needed on the user's end.

sleeping-player commented 3 years ago

So, going forward, FGA should assume Ignore notch calculation for JP.

I guess I'll have to show one button at a time. How about we only show the Pause button when the script is running and once you pause, you get both the buttons to either Resume or Stop? That should solve this problem if there are no other changes. With these changes, I believe no action would be needed on the user's end.

I remember that the solution was suggested before. Perhaps it is the time to implement it.

MathewSachin commented 3 years ago

I remember that the solution was suggested before.

I don't remember that 😆. I might've missed that discussion.

I'll implement it in the compose branch first since the UI part is different from the canary one.

WiktorFGO commented 3 years ago

I don't think that the Pause button matters here From what i've seen the whole UI was moved which makes FGA to choose diffrent skills and it has problem with recognizing the places of the buttons.

MathewSachin commented 3 years ago

Ignore Notch Detection is enabled, of course.

@WiktorFGO, this step is important for now. Without it, things would be offset by the notch width.

zyleet commented 3 years ago

Can I add on to this issue? The lottery box command can go through the lotto pulls fine, but is unable to reset the box properly. I have alrdy ignored notch calculation, and changing the screen orientation both ways doesn't fix it.

MathewSachin commented 3 years ago

Can you provide a debug mode video of the lottery script not working?

zyleet commented 3 years ago

record The screen orientation is such that the notch is to the right of the screen

MathewSachin commented 3 years ago

That reset button has shifted a bit to the right. I want to check if it has moved on 16:9 too and also if it is right or center aligned. Can someone get me a screenshot on a 16:9 device?

This is how it looked in 16:9 on last lottery:

image

Skyjersey commented 3 years ago

Taken from my 16:9 phone. Lottery box reset works on it.

Screenshot_20210702-213104_Fate_GO

maayloll commented 3 years ago

my problem https://youtu.be/nJzYh1o8dgA image

GabeZune commented 3 years ago

Not the exact same issue, but I believe it is caused by the same update. I am getting an error when on the support select screen:

Unexpected Error: Width must be positive

Time: 00:01

java.lang.Exception: Unexpected Error: Width must be positive

Time: 00:01 at h.a.a.c.a.a.z(AutoBattle.kt:32) at h.a.b.b.c(EntryPoint.kt:3) at g0.n.a.run(Thread.kt:1) Caused by: java.lang.IllegalArgumentException: Width must be positive at h.a.b.t.(Region.kt:3) at h.a.a.c.k.k$e.apply(Support.kt:18) at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:268) at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1390) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) at java.util.stream.ReduceOps$ReduceTask.doLeaf(ReduceOps.java:747) at java.util.stream.ReduceOps$ReduceTask.doLeaf(ReduceOps.java:721) at java.util.stream.AbstractTask.compute(AbstractTask.java:316) at java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:732) at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:285) at java.util.concurrent.ForkJoinTask.doInvoke(ForkJoinTask.java:397) at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:726) at java.util.stream.ReduceOps$ReduceOp.evaluateParallel(ReduceOps.java:714) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:501) at h.a.a.c.k.k.B(Support.kt:10) at a0.c(kotlin-style lambda group:13) at h.a.a.c.k.s.c(Support.kt:5) at h.a.b.y.a.t(AutomataApi.kt:5) at h.a.a.c.b.t(Unknown Source:7) at h.a.a.c.k.k.t(Unknown Source:7) at h.a.a.c.k.k.G(Support.kt:1) at h.a.a.c.k.k.H(Support.kt:27) at h.a.a.c.a.a$a.c(kotlin-style lambda group:396) at h.a.a.c.a.a.B(AutoBattle.kt:29) at h.a.a.c.a.a.z(AutoBattle.kt:31) ... 2 more

This is on a Samsung Galaxy S8+, tried with ignore notch calculation off and on, I have tried rotating the screen to have the cable end on each side, I have tried moving the play button, and I believe I am on the Canary-1389.

Confirmed scripts will run when in battle and for lottery, only fails and produces error after the initial screen check of the Support Select screen.

MathewSachin commented 3 years ago

Should be fixed with 5e3860c3c3f9ebcbe25bf4954b2559c54d5bdba8