You are seeing the wrong function I think.
Check the RenderNumber function, since within it the calculations of the position of each number are performed.
I think you should change those calculations making the X angle of the camera affect the result.
In the Season 6 main, i did it like this:
Code:
SetCompleteHook(0xE9, 0x0063764C, &this->RotateFix);
__declspec(naked) void CCamera::RotateFix()
{
static DWORD jmpBack = 0x0063752D;
_asm
{
Lea Eax, [Ebp - 0x38]; //-> p[1]
Lea Ecx, [Ebp - 0x3C]; //-> p[0]
Push Dword Ptr[Ebp + 0x18]; //-> Scale
Push Eax; //-> p[1]
Push Ecx; //-> p[2]
Call RotateDmg;
Add Esp, 0xC;
Jmp[jmpBack];
}
}
void CCamera::RotateDmg(float& X, float& Y, float D)
{
const float Rad = 0.01745329f;
float sinTh = sin(Rad * (*gCamera.m_Address.RotX));
float cosTh = cos(Rad * (*gCamera.m_Address.RotX));
X += D / 0.7071067f * cosTh / 2;
Y -= D / 0.7071067f * sinTh / 2;
}
[Ebp - 0x38] => p[1]
[Ebp - 0x3C] => p[0]
[Ebp - 0x18] => Scale
So you need to change these two lines inside RenderNumber function:
Code:
p[0] += Scale * 0.5f;
p[1] += Scale * 0.5f;
- - - Updated - - -
Try changing these two lines inside RenderNumber function:
Code:
p[0] += Scale * 0.5f;
p[1] += Scale * 0.5f;
For something like this:
Code:
const float Rad = 0.01745329f;
float sinTh = sin(Rad * (Camera.RotX));
float cosTh = cos(Rad * (Camera.RotX));
p[0] += Scale / 0.7071067f * cosTh / 2;
p[1] -= Scale / 0.7071067f * sinTh / 2;
I don't know how your camera system works but if its based on the DLL version, i think this should work.