Arcitectus / Sanderling

APIs and libraries to read information directly from the EVE Online game client.
https://forum.botlab.org
Apache License 2.0
258 stars 117 forks source link

ButtonGroup childrens parsing #82

Open Nimistren opened 1 year ago

Nimistren commented 1 year ago

Good afternoon: could you help me? I'm trying to find the exit buttons in the memory of the game, but for some reason they are not there. This behavior is typical for the ButtonGroup object - it does not have clildrens, because list_ob_size is clearly getting wrong for it. I couldn't figure out why, but I think it will be easy for you

https://github.com/Arcitectus/Sanderling/blob/bfcc3eb8bf22f2aa4ca874e0e2298de3829e73e8/implement/read-memory-64-bit/Program.cs#LL1165C13-L1165C13

image image

Viir commented 1 year ago

This issue of buttons not being present in memory readings looks familiar. Earlier this year, we encountered a similar issue when looking at message boxes and the repair shop window.

You can see the discussions in these GitHub issues:

Since we did not find a representation in memory, we solved the reading using image processing. Now most bots read the pixels to classify the button labels. At the moment, they classify the whole label, not individual characters. With this approach, we add training data for each new button label you want to use.

You can see some examples of training data here: https://github.com/Viir/bots/blob/ea2d4213ab59776fb32fc1f80592bff1d3fa8a53/implement/applications/eve-online/eve-online-framework-test/tests/ParseGuiFromScreenshotTest.elm