Translate/Scale/Rotate Testing
DescriptionDue to the fact that translation, scaling and rotation operations are not commutative, it's possible to get different results when changing their order. All of these 3 have been implemented in the Sprite class so far which will serve as a test case.
Use different combinations of x/y coordinates (x, y), offsets (ox, oy), scales (zoom_x, zoom_y) and different rotations (angle). Check out if the results in RMXP match with ARC's display. If they differ, change the Sprite::draw method. There are three blocks of code that might require you to change their order.
if (this->x != 0 || this->y != 0)
{
april::rendersys->translate((float)this->x, (float)this->y);
}
if (this->zoomX != 1.0f || this->zoomY != 1.0f)
{
april::rendersys->scale(this->zoomX, this->zoomY, 1.0f);
}
if (this->angle != 0.0f)
{
april::rendersys->rotate(this->angle);
}
The second part of the task includes checks if the ox and oy for Plane work the same in ARC when using scales as they work in RMXP.
PriorityHigh.
PrerequisitesNone
AssignedForeverZer0
Everything elseThis is a simple task, it just needs some time. I am sure that I have implemented it properly, but testing to make sure would be a good idea.