Sometimes gamedev
Obsesses over projects
Not great at doing either
Current focus is Psychonauts


Psychonauts reverse engineering/modding blog
jillcrungus.com/projects/psychonauts/blog/
Mastodon, slightly less seldom used
mastodon.gamedev.place/@jill

Earlier today I was investigating why Psychonauts turns so blurry and low res during freezeframes. Obviously it was a rendertexture issue so I hunted down the function responsible for setting up the rendertexture that it will draw in the background when doing freezeframes. At first glance, I saw that it was indeed using the functions ERenderer::GetDisplayWidth and ERenderer:GetDisplayHeight.

So I thought to myself, "Hmm, if it's based on the display width and height then why-- oh."
A screenshot of the function "ERenderer:GetDisplayWidth" in the Ghidra decompiler. The decompile shows that the function just returns the value 640.


No points for guessing what ERenderer::GetDisplayHeight returns.


You must log in to comment.

in reply to @JillCrungus's post:

In essence yes - the freezeframe effect (and several other visual effects in the game!) renders to an internal 640x480 space which is then enlarged which results in some things looking very blurry and not great.