I have a function which fetches the Glide screen width and height and passes it to some set-up function (sub_457048).However, IDA does not recognize that the Glide API function to retrieve the width obviously returns it:This gets interesting when looking into the assembly code:I'm not sure how to tell IDA the grSstScreenWidth returns a value into EBX which is then put in EDX: The set-up function looks correct - I never understood that useless mov of EAX into EBX after the height function was called; height stays in EAX, and width is put into EDX:Am I wrong here? Is IDA wrong? Or is nobody wrong?
What to do when IDA does not recognize return value?
ida;hexrays
You'll need to change the prototype of _grSstScreenWidth() to be a __usercall function with the return value in ebx.For example:int __usercall _grSstScreenWidth@<ebx>()