Code: Select all
float rightfac = -r.left;
float leftfac = rightfac - r.width;
float bottomfac = -r.top;
float topfac = bottomfac - r.height;
case RF_FLATSPRITE:
{ //needs careful rethinking
x1 = x + leftfac;
x2 = x + rightfac;
y1 = y - bottomfac;
y2 = y - topfac;
}
I've pushed the result so you can see if I'm missing anything.
Updated test actor:
Code: Select all
Actor A
{
+NOINTERACTION
+ROLLSPRITE
+FLATSPRITE
+DONTFLIP
+SPRITEANGLE
//+ROLLCENTER
States
{
Spawn:
CYBR A 1
{
angle += 1;
angle %= 360;
pitch += 1;
pitch %= 360;
}
Loop
}
}
I still don't know what to do after this point however and I've hit a dead stop on how to fix this rotated issue. I.e. the cyberdemon's supposed to be pivoting from the hooves, not the wired arm.