@@ -173,7 +173,7 @@ namespace LevelEditor
173
173
void drawArrow3d (f32 width, f32 lenInPixels, Vec3f pos, Vec3f dir, Vec3f nrm, u32 color);
174
174
void drawArrow3d_Segment (f32 width, f32 lenInPixels, Vec3f pos0, Vec3f pos1, Vec3f nrm, u32 color);
175
175
void drawNoteIcon3d (LevelNote* note, s32 id, u32 objColor, const Vec3f& cameraRgt, const Vec3f& cameraUp);
176
- void drawTransformGizmo3d ();
176
+ void drawTransformGizmo ();
177
177
bool computeSignCorners (const EditorSector* sector, const EditorWall* wall, Vec3f* corners);
178
178
179
179
void viewport_init ()
@@ -316,21 +316,24 @@ namespace LevelEditor
316
316
camera.projMtx .m3 .w = 1 .0f ;
317
317
}
318
318
319
- void drawTransformGizmo2d ()
319
+ void drawTransformGizmo ()
320
320
{
321
321
if (!edit_isTransformToolActive ()) { return ; }
322
-
323
- TransformMode mode = edit_getTransformMode ();
324
- if (mode == TRANS_MOVE)
325
- {
326
- const Vec3f p0 = edit_getTransformAnchor ();
327
- const Vec3f p1 = edit_getTransformPos ();
328
- gizmo_drawMove2d (p0, p1);
329
- }
330
- else if (mode == TRANS_ROTATE)
322
+ switch (edit_getTransformMode ())
331
323
{
332
- const Vec3f centerWS = edit_getTransformAnchor ();
333
- gizmo_drawRotation2d ({ centerWS.x , centerWS.z });
324
+ case TRANS_MOVE:
325
+ {
326
+ const Vec3f p0 = edit_getTransformAnchor ();
327
+ const Vec3f p1 = edit_getTransformPos ();
328
+ if (s_view == EDIT_VIEW_2D) { gizmo_drawMove2d (p0, p1); }
329
+ else { gizmo_drawMove3d (p0, p1); }
330
+ } break ;
331
+ case TRANS_ROTATE:
332
+ {
333
+ const Vec3f centerWS = edit_getTransformAnchor ();
334
+ if (s_view == EDIT_VIEW_2D) { gizmo_drawRotation2d ({ centerWS.x , centerWS.z }); }
335
+ else { gizmo_drawRotation3d (centerWS); }
336
+ } break ;
334
337
}
335
338
}
336
339
@@ -532,7 +535,7 @@ namespace LevelEditor
532
535
}
533
536
534
537
// Transform Gizmos
535
- drawTransformGizmo2d ();
538
+ drawTransformGizmo ();
536
539
537
540
// Compute the camera and projection for the model draw.
538
541
Camera3d camera;
@@ -1836,7 +1839,7 @@ namespace LevelEditor
1836
1839
triDraw3d_begin (&s_grid);
1837
1840
lineDraw3d_begin (s_viewportSize.x , s_viewportSize.z );
1838
1841
1839
- drawTransformGizmo3d ();
1842
+ drawTransformGizmo ();
1840
1843
1841
1844
triDraw3d_draw (&s_camera, (f32 )s_viewportSize.x , (f32 )s_viewportSize.z , s_grid.size , 0 .0f , false , false );
1842
1845
lineDraw3d_drawLines (&s_camera, false , false );
@@ -2133,21 +2136,7 @@ namespace LevelEditor
2133
2136
2134
2137
return u32 (colorSum.x * 255 .0f ) | (u32 (colorSum.y * 255 .0f ) << 8 ) | (u32 (colorSum.z * 255 .0f ) << 16 ) | (u32 (alpha * 255 .0f ) << 24 );
2135
2138
}
2136
-
2137
- void drawTransformGizmo3d ()
2138
- {
2139
- if (!edit_isTransformToolActive ()) { return ; }
2140
-
2141
- TransformMode mode = edit_getTransformMode ();
2142
- if (mode == TRANS_ROTATE)
2143
- {
2144
- Vec3f centerWS = edit_getTransformAnchor ();
2145
- Vec3f rotation = edit_getTransformRotation ();
2146
-
2147
- gizmo_drawRotation3d (centerWS);
2148
- }
2149
- }
2150
-
2139
+
2151
2140
void renderLevel3D ()
2152
2141
{
2153
2142
viewport_updateRail ();
0 commit comments