소스 검색

Fix stringification of Projection

Rémi Verschelde 9 달 전
부모
커밋
f2f48aaf36

+ 4 - 8
core/math/projection.cpp

@@ -912,14 +912,10 @@ void Projection::set_light_atlas_rect(const Rect2 &p_rect) {
 }
 
 Projection::operator String() const {
-	String str;
-	for (int i = 0; i < 4; i++) {
-		for (int j = 0; j < 4; j++) {
-			str += String((j > 0) ? ", " : "\n") + rtos(columns[i][j]);
-		}
-	}
-
-	return str;
+	return "[X: " + columns[0].operator String() +
+			", Y: " + columns[1].operator String() +
+			", Z: " + columns[2].operator String() +
+			", W: " + columns[3].operator String() + "]";
 }
 
 real_t Projection::get_aspect() const {

+ 1 - 0
modules/gdscript/tests/scripts/runtime/features/stringify.gd

@@ -22,6 +22,7 @@ func test():
 	print(AABB(Vector3.ZERO, Vector3.ONE))
 	print(Basis.from_euler(Vector3(0, 0, 0)))
 	print(Transform3D.IDENTITY)
+	print(Projection.IDENTITY)
 
 	print(Color(1, 2, 3, 4))
 	print(StringName("hello"))

+ 1 - 0
modules/gdscript/tests/scripts/runtime/features/stringify.out

@@ -17,6 +17,7 @@ hello world
 [P: (0.0, 0.0, 0.0), S: (1.0, 1.0, 1.0)]
 [X: (1.0, 0.0, 0.0), Y: (0.0, 1.0, 0.0), Z: (0.0, 0.0, 1.0)]
 [X: (1.0, 0.0, 0.0), Y: (0.0, 1.0, 0.0), Z: (0.0, 0.0, 1.0), O: (0.0, 0.0, 0.0)]
+[X: (1.0, 0.0, 0.0, 0.0), Y: (0.0, 1.0, 0.0, 0.0), Z: (0.0, 0.0, 1.0, 0.0), W: (0.0, 0.0, 0.0, 1.0)]
 (1.0, 2.0, 3.0, 4.0)
 hello
 hello/world