GithubHelp home page GithubHelp logo

Comments (14)

asdfasdf100500 avatar asdfasdf100500 commented on July 1, 2024 1

I'm more than willling to try and fix this according to your guide.

I work as a software engineer, but I have very little experience with Python memory management and memory reading in general.

from sanderling.

Statter avatar Statter commented on July 1, 2024 1

image 2

from sanderling.

Viir avatar Viir commented on July 1, 2024

I will add guidance about how to go about such an issue soon.
It will probably start with how to reproduce the issue in Visual Studio using a process sample from the eve online client.

Anyone who wants to work on this will need such a sample. See the guide at http://forum.botengine.de/t/collecting-samples-for-memory-reading-development/50 for how to collect such a sample.

from sanderling.

Statter avatar Statter commented on July 1, 2024

I can confirm, that the Entry object is "null ". It has become that right after the latest update.
WindowInventory.[Long path].[AnyViewType].Entry is null
WindowOverview.[AnyViewType].Entry is null
I think, that all windows are affected.
They are null both in Parsed and not Parsed memory measurments.

from sanderling.

Viir avatar Viir commented on July 1, 2024

@asdfasdf100500 Thanks for offering to help with this. Usually, adjustments to python reading code are not needed. Most of the time when something broke, CCP simply changed some symbols for types or type members in their code.

I added the memory reading code to the repository as well as guidance on how to reproduce the memory reading and inspect its results. See the guide at https://github.com/Arcitectus/Sanderling/blob/master/guide/Adapt-memory-reading.md

from sanderling.

Viir avatar Viir commented on July 1, 2024

WindowOverview.ListView.Entry is null
Seems to affect other ListViews too

@asdfasdf100500, what about WindowOverview.ListView? Is this null too?
As far as I see, everything that could end up in the Entry property has to go through SictAuswertGbsListViewport<EntryT>.Berecne. If the ListView itself is found, we should take a closer look at that method and the intermediate results there.
Is there the Scroll in there found?

from sanderling.

Viir avatar Viir commented on July 1, 2024

Ok, so in the screenshot of the API explorer @Statter posted I see that the Scroll property the instance of ListViewAndControl<EntryT> is not null.
Now there is not much more left in between computation of Scroll and Entry:

  • Do we have instances for ScrollClipperContentAst?
  • AFAIR, the number of items in ScrollClipperContentAst?.ListeChild should equal the number of entries in the list. What do we have in there?

from sanderling.

dreambottle avatar dreambottle commented on July 1, 2024

The ScrollClipperContentAst itself is not null, but the ScrollClipperContentAst.ListeChild returns null for the Overview window

from sanderling.

dreambottle avatar dreambottle commented on July 1, 2024

How does Bib3.Glob.SuuceFlacMengeAstMitPfaad() translate to English?

from sanderling.

dreambottle avatar dreambottle commented on July 1, 2024

Ok, I think I found the root cause. Please review #12.

P.S. Sanderling works notably faster with the sensor branch, where you removed linking to the memreading dll.

from sanderling.

Viir avatar Viir commented on July 1, 2024

P.S. Sanderling works notably faster with the sensor branch, where you removed linking to the memreading dll.

@dreambottle Thank you for reviewing the functionality of this change. I merged this into master together with your fix.

from sanderling.

Viir avatar Viir commented on July 1, 2024

A summary of what I see in the commit ad1c44f contributed by dreambottle:

First some context

The memory reading expects the ListViews items to be contained in a Scroll. The scroll UIElement contains the actual item in one of its child nodes. The scroll can also contain other stuff like a scroll handle the user can interact with. So when reading the Scroll, we want to find different things in there and the items are to be found in the portion labeled as Content in the code.

Dreambottle changed how the Content node is selected

The SuuceFlacMengeAstFrüheste method used for this selection step first does a Breadth-first search within the node passed as the first argument and returns the first node which matches the predicate which is passed as the second argument. The changed line only affects the predicate and makes it more restrictive.
So the reason for the old version failing could be the introduction of another node in the UITree which matches the predicate and comes first in the breadth-first order but is not the node which contains the nodes for the items in the list view.

from sanderling.

Viir avatar Viir commented on July 1, 2024

I created release v17.02.17 containing the fix from dreambottle.
@asdfasdf100500 does that release resolve the issue?

from sanderling.

asdfasdf100500 avatar asdfasdf100500 commented on July 1, 2024

Yup, works perfectly.

from sanderling.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.