Comments (14)
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.
from sanderling.
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.
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.
@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.
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.
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.
The ScrollClipperContentAst itself is not null, but the ScrollClipperContentAst.ListeChild returns null for the Overview window
from sanderling.
How does Bib3.Glob.SuuceFlacMengeAstMitPfaad() translate to English?
from sanderling.
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.
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.
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.
I created release v17.02.17 containing the fix from dreambottle.
@asdfasdf100500 does that release resolve the issue?
from sanderling.
Yup, works perfectly.
from sanderling.
Related Issues (20)
- Choosing Ore type HOT 2
- Sanderling code not accessible to others. HOT 7
- Why does pressing ctrl + alt cause the robot to pause? HOT 2
- unsuppot 64-bit game client HOT 8
- button undock not work HOT 4
- Last Measurement HOT 7
- is there any document for noob dev? HOT 6
- 32 bit eve client deprecated HOT 2
- Could you please tell me how to build readmemory64 in detail? HOT 3
- Broken info link & can't apply --session-length-limit HOT 7
- speedup finding UIRoot HOT 6
- Proposal for optimizing the used RAM HOT 4
- how is the read-memory project used? HOT 3
- Unhandle Exception in the search of the UI_root_address HOT 6
- Too long search time of UI Root HOT 7
- memory reading under wine
- How to find out this way that can reads eveonline memory data HOT 4
- ButtonGroup childrens parsing HOT 1
- High memory consumption during root search HOT 1
- alternate-ui 'From live game client process' mode does not work for me with the latest sanderling HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sanderling.