Let Ctrl/Shift + scrollwheel changing the camera/focus offsets affect the current preset's setting, not the back preset.
This commit is contained in:
@@ -2023,13 +2023,21 @@ LLVector3 LLAgentCamera::getCameraOffsetInitial()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Adds change to vector CachedControl, vec, at idx
|
// Adds change to vector CachedControl, vec, at idx
|
||||||
template <typename T, typename Vec>
|
template <typename Vec, typename T>
|
||||||
void change_vec(const T& change, LLCachedControl<Vec>& vec, const U32& idx = VZ)
|
void change_vec(const T& change, LLCachedControl<Vec>& vec, const U32& idx = VZ)
|
||||||
{
|
{
|
||||||
Vec changed(vec);
|
Vec changed(vec);
|
||||||
changed[idx] += change;
|
changed[idx] += change;
|
||||||
vec = changed;
|
vec = changed;
|
||||||
}
|
}
|
||||||
|
// Same as above, but for ControlVariables
|
||||||
|
template <typename Vec, typename T>
|
||||||
|
void change_vec(const T& change, LLPointer<LLControlVariable>& vec, const U32& idx = VZ)
|
||||||
|
{
|
||||||
|
Vec changed(vec->get());
|
||||||
|
changed[idx] += change;
|
||||||
|
vec->set(changed.getValue());
|
||||||
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// handleScrollWheel()
|
// handleScrollWheel()
|
||||||
@@ -2072,13 +2080,11 @@ void LLAgentCamera::handleScrollWheel(S32 clicks)
|
|||||||
const F32 change(static_cast<F32>(clicks) * 0.1f);
|
const F32 change(static_cast<F32>(clicks) * 0.1f);
|
||||||
if (mask & MASK_SHIFT)
|
if (mask & MASK_SHIFT)
|
||||||
{
|
{
|
||||||
static LLCachedControl<LLVector3d> focus_offset("FocusOffsetRearView");
|
change_vec<LLVector3d>(change, mFocusOffsetInitial[mCameraPreset]);
|
||||||
change_vec(change, focus_offset);
|
|
||||||
}
|
}
|
||||||
if (mask & MASK_CONTROL)
|
if (mask & MASK_CONTROL)
|
||||||
{
|
{
|
||||||
static LLCachedControl<LLVector3> camera_offset("CameraOffsetRearView");
|
change_vec<LLVector3>(change, mCameraOffsetInitial[mCameraPreset]);
|
||||||
change_vec(change, camera_offset);
|
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user