From 93f7ad4c13374d4a7ef8aff26d5e84ca40730ff2 Mon Sep 17 00:00:00 2001 From: Isaac0-dev <62234577+Isaac0-dev@users.noreply.github.com> Date: Mon, 10 Feb 2025 14:58:19 +1000 Subject: [PATCH] fixed rotation interp logic --- src/pc/djui/djui_hud_utils.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/pc/djui/djui_hud_utils.c b/src/pc/djui/djui_hud_utils.c index 6c3f9ba25..5d28cb7ef 100644 --- a/src/pc/djui/djui_hud_utils.c +++ b/src/pc/djui/djui_hud_utils.c @@ -137,14 +137,14 @@ void patch_djui_hud(f32 delta) { // rotate f32 translatedW = scaleW; f32 translatedH = scaleH; - s32 rotation = delta_interpolate_s32(sRotation.rotation - sRotation.rotationDiff, sRotation.rotation, delta); - f32 pivotX = delta_interpolate_f32(sRotation.prevPivotX, sRotation.pivotX, delta); - f32 pivotY = delta_interpolate_f32(sRotation.prevPivotY, sRotation.pivotY, delta); djui_hud_size_translate(&translatedW); djui_hud_size_translate(&translatedH); if (sRotation.rotationDiff != 0 || sRotation.rotation != 0) { - f32 pivotTranslationX = translatedW * pivotX; - f32 pivotTranslationY = translatedH * pivotY; + s32 rotation = delta_interpolate_s32(sRotation.rotation - sRotation.rotationDiff, sRotation.rotation, delta); + f32 pivotX = delta_interpolate_f32(sRotation.prevPivotX, sRotation.pivotX, delta); + f32 pivotY = delta_interpolate_f32(sRotation.prevPivotY, sRotation.pivotY, delta); + f32 pivotTranslationX = interp->width * translatedW * pivotX; + f32 pivotTranslationY = interp->height * translatedH * pivotY; create_dl_translation_matrix(DJUI_MTX_NOPUSH, +pivotTranslationX, -pivotTranslationY, 0); create_dl_rotation_matrix(DJUI_MTX_NOPUSH, rotation, 0, 0, 1); create_dl_translation_matrix(DJUI_MTX_NOPUSH, -pivotTranslationX, +pivotTranslationY, 0);