Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


Binary types in Structure Dissect

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
weetabixharry
How do I cheat?
Reputation: 0

Joined: 27 Feb 2020
Posts: 4

PostPosted: Thu Feb 27, 2020 2:14 pm    Post subject: Binary types in Structure Dissect Reply with quote

The structure dissector is really useful, but as far as I can see it currently only supports data types that are an exact number of bytes. Is that correct, or did I miss something?

I'm currently wrestling with a game that has masses of arbitrarily sized fields, so it would be amazing to have something like the "binary" type that's available in the main address list.

In general, I'm a bit confused by differences between the main address list and the structure dissector. For example, I can easily change font color in the main address list, whereas in the structure dissector it seems easy to change the background color instead. Was there a rationale behind making them different?
Back to top
View user's profile Send private message
DanyDollaro
Master Cheater
Reputation: 3

Joined: 01 Aug 2019
Posts: 334

PostPosted: Fri Feb 28, 2020 7:31 am    Post subject: Re: Binary types in Structure Dissect Reply with quote

weetabixharry wrote:
The structure dissector is really useful, but as far as I can see it currently only supports data types that are an exact number of bytes. Is that correct, or did I miss something?

I'm currently wrestling with a game that has masses of arbitrarily sized fields, so it would be amazing to have something like the "binary" type that's available in the main address list.


What it supports are the types of fundamental variables (4-Byte, 8-Byte, etc ...), and most likely what you are looking for is not a variable but a data structure, a set of data that tend to manage a single entity in the game (In object-oriented programming languages they are also called classes).


weetabixharry wrote:
In general, I'm a bit confused by differences between the main address list and the structure dissector. For example, I can easily change font color in the main address list, whereas in the structure dissector it seems easy to change the background color instead. Was there a rationale behind making them different?


Of course! The color is used to give more prominence to particular values you are looking for, if you go to the display settings you can see the listing in the attached image that explains the meaning of the various colors (it is also explained in step number 9 of the Cheat Engine tutorial).

In addition if you want to see a class in the structure dissector the way you're saying I think it's much more convenient to use an array of byte instead of the binary type.



View.png
 Description:
 Filesize:  15.13 KB
 Viewed:  2054 Time(s)

View.png


Back to top
View user's profile Send private message
weetabixharry
How do I cheat?
Reputation: 0

Joined: 27 Feb 2020
Posts: 4

PostPosted: Fri Feb 28, 2020 2:01 pm    Post subject: Re: Binary types in Structure Dissect Reply with quote

I'm not 100% sure what you would consider to be a fundamental variable, but I guess you mean something akin to the meaning in a C++ context.

However, I'm talking about cases where distinct pieces of information do not map to distinct C-like variables. Instead, multiple distinct pieces of information may be packed into one byte, or one 32-bit variable.

Maybe this is something you would see very little of in a modern game (because storage is abundantly available these days, and execution speed is the priority). However, it's common in embedded software. And, as far as I can see, old games.

It is true that, at a high level, these pieces of information may not map directly to a C-like variable in a struct. However, at a lower level, the principle is exactly the same (i.e. different fields of information stored in contiguous memory), except there is no particular restriction on the sizes or formats of each field.

In this context, it would be extremely useful to be able to add arbitrary-length bit-fields in the structure dissector. An array of bytes wouldn't be suitable, for example, for 2-bit or 5-bit fields.

Regarding the colors, I guess I didn't make my question clear, but to be honest this is not so important.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites