Skip to content

Rect2 * Transform2D broken in 3.x LTS for C# #86415

Closed
@andy-noisyduck

Description

Tested versions

Reproducible in 3.x. Fixed in 4.x.

System information

Godot 3.5 Mono

Issue description

Multiplying a Rect2 by a transform gives incorrect results (see example steps). The inverse is also incorrect.

Looks like this was introduced by #52666 with the 3.x backport #52762. Master waster later fixed by #64729, but this fix was never backported.

I note the comment by aaronfranke about sneaking the fix into the PR for 4.x rather than a separate PR (#64729 (comment)) 👀

Steps to reproduce

var r = new Rect2(0, 0, 100, 100);
var foo = r * new Transform2D( 1, 0, 0, 1, 0, 0);  // = ((0, 0), (100, 100)) - OK
var bar = r * new Transform2D(-1, 0, 0, 1, 0, 0);  // = ((-100, 0), (200, 100)) - Incorrect

Minimal reproduction project (MRP)

N/A

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions