i had a problem with decompilation process as IDA shows offsets as decimal. this is inconvenient while trying to study/navigate complex structures; hence i went on and set the Decompiler Options → Default radix to 16; this helped a lot.
but now i have another problem; floating points are shown as Hex. tried Alt+D to redefine to no avail.
i read the IDA docs, floating point is meant to be detected but in my case even obvious floats like 1.0 are shown as raw Hex or decimal.
i don’t know if one is supposed to define the immediate value as float or the offset memory as float*. the structure is big so defining and applying a C structure is not very convenient here.
i would really appreciate any help on automation of datatypes recognition.
i updated the post with an example. if needed i could give the decompiled function or a snippet or …
the idb is too big for upload and it’s not a good idea to share it publicly, i hope i convey the situation clear enough
Thank you for the screenshot! The decompiler has no means of knowing what constants to convert. You will have to create a structure. IDA can handle very big structures, please try it.
Why isn’t it convenient? BTW, you can ask the decompiler to create the initial structure type for you by right clicking on ‘this’
well this right click feature reduces the inconveniency of the situation to a great extent. still, because structure is big, one must locate each desired type (here being float) in the create new struct window’s text; in big structs it’s a little tedious. it would be a huge help if decompiled line could be synchronized with the new struct window; like the synchronization with the disassembly.
or a feature like cheat engine’s “Dissect data/structure” that lets user set type for each offset on the fly.
overall this right click saves me from this pinned down situation, thanks.
Честь имею.
alriiiiiight, this was the very hint i was missing. i did create a struct with help of AI (converting dword to float) and got my floats but didn’t know this trick.
thank you very much.