Merge Firestorm LGPL

meow-7.2.2
Ansariel 2019-03-28 17:59:24 +01:00
commit 28047efe04
8 changed files with 186 additions and 28 deletions

View File

@ -52,9 +52,9 @@
<key>archive</key>
<map>
<key>hash</key>
<string>3156400f22047d6e194884970842f571</string>
<string>08358023ceab8b055af5c3594b3dcc2c</string>
<key>url</key>
<string>http://downloads.phoenixviewer.com/dullahan_gcc5-1.1.1313_3.3626.1895.g7001d56-linux64-190760044.tar.bz2</string>
<string>http://downloads.phoenixviewer.com/dullahan_gcc5-1.1.1320_3.3626.1895.g7001d56-linux64-190811112.tar.bz2</string>
</map>
<key>name</key>
<string>linux64</string>
@ -838,9 +838,9 @@
<key>archive</key>
<map>
<key>hash</key>
<string>ccee21f79ca1628c38c55295cd2544e6</string>
<string>607f824220ac11cdc7ae9b5297f5f57a</string>
<key>url</key>
<string>http://downloads.phoenixviewer.com/dullahan-1.1.1313_3.3626.1895.g7001d56-linux64-190760005.tar.bz2</string>
<string>http://downloads.phoenixviewer.com/dullahan-1.1.1320_3.3626.1895.g7001d56-linux64-190811046.tar.bz2</string>
</map>
<key>name</key>
<string>linux64</string>

View File

@ -25282,6 +25282,28 @@ Change of this parameter will affect the layout of buttons in notification toast
<key>Value</key>
<integer>0</integer>
</map>
<key>FSLookAtTargetLimitDistance</key>
<map>
<key>Comment</key>
<string>Limit look at target distance from head to value of LookAtTargetMaxDistance</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<real>0</real>
</map>
<key>FSLookAtTargetMaxDistance</key>
<map>
<key>Comment</key>
<string>Max lookat distance in meters</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>F32</string>
<key>Value</key>
<real>1</real>
</map>
</map>
</llsd>

View File

@ -476,21 +476,64 @@ BOOL LLHUDEffectLookAt::setLookAt(ELookAtType target_type, LLViewerObject *objec
F32 current_time = mTimer.getElapsedTimeF32();
// type of lookat behavior or target object has changed
BOOL lookAtChanged = (target_type != mTargetType) || (object != mTargetObject);
//<FS:LO> FIRE-23524 Option to limit look at target to a sphere around the avatar's head.
//// type of lookat behavior or target object has changed
//BOOL lookAtChanged = (target_type != mTargetType) || (object != mTargetObject);
// lookat position has moved a certain amount and we haven't just sent an update
lookAtChanged = lookAtChanged || ((dist_vec_squared(position, mLastSentOffsetGlobal) > MIN_DELTAPOS_FOR_UPDATE_SQUARED) &&
((current_time - mLastSendTime) > (1.f / MAX_SENDS_PER_SEC)));
//// lookat position has moved a certain amount and we haven't just sent an update
//lookAtChanged = lookAtChanged || ((dist_vec_squared(position, mLastSentOffsetGlobal) > MIN_DELTAPOS_FOR_UPDATE_SQUARED) &&
// ((current_time - mLastSendTime) > (1.f / MAX_SENDS_PER_SEC)));
if (lookAtChanged)
//if (lookAtChanged)
//{
// mLastSentOffsetGlobal = position;
// F32 timeout = (*mAttentions)[target_type].mTimeout;
// setDuration(timeout);
// setNeedsSendToSim(TRUE);
//}
//
//if (target_type == LOOKAT_TARGET_CLEAR)
//{
// clearLookAtTarget();
//}
//else
//{
// mTargetType = target_type;
// mTargetObject = object;
// if (object)
// {
// mTargetOffsetGlobal.setVec(position);
// }
// else
// {
// mTargetOffsetGlobal = gAgent.getPosGlobalFromAgent(position);
// }
//}
static LLCachedControl<bool> s_EnableLimiter(gSavedSettings, "FSLookAtTargetLimitDistance");
bool lookAtShouldClamp = s_EnableLimiter &&
(*mAttentions)[mTargetType].mName != "None" &&
(*mAttentions)[mTargetType].mName != "Idle" &&
(*mAttentions)[mTargetType].mName != "AutoListen";
if (!lookAtShouldClamp) //We do a similar but seperate calculation if we are doing limited distances
{
mLastSentOffsetGlobal = position;
F32 timeout = (*mAttentions)[target_type].mTimeout;
setDuration(timeout);
setNeedsSendToSim(TRUE);
// type of lookat behavior or target object has changed
bool lookAtChanged = (target_type != mTargetType) || (object != mTargetObject);
// lookat position has moved a certain amount and we haven't just sent an update
lookAtChanged = lookAtChanged || ((dist_vec_squared(position, mLastSentOffsetGlobal) > MIN_DELTAPOS_FOR_UPDATE_SQUARED) &&
((current_time - mLastSendTime) > (1.f / MAX_SENDS_PER_SEC)));
if (lookAtChanged)
{
mLastSentOffsetGlobal = position;
F32 timeout = (*mAttentions)[target_type].mTimeout;
setDuration(timeout);
setNeedsSendToSim(TRUE);
}
}
if (target_type == LOOKAT_TARGET_CLEAR)
{
clearLookAtTarget();
@ -501,12 +544,64 @@ BOOL LLHUDEffectLookAt::setLookAt(ELookAtType target_type, LLViewerObject *objec
mTargetObject = object;
if (object)
{
mTargetOffsetGlobal.setVec(position);
if (lookAtShouldClamp)
{
if (mTargetObject->isAvatar() && ((LLVOAvatar*)(LLViewerObject*)mTargetObject)->isSelf())
{
//We use this branch and mimic our mouse/first person look pose.
mTargetOffsetGlobal.setVec(gAgent.getPosGlobalFromAgent(gAgentAvatarp->mHeadp->getWorldPosition() + position));
mTargetObject = NULL;
}
else
{
//Otherwise, mimic looking at the object.
mTargetOffsetGlobal.setVec(object->getPositionGlobal() + (LLVector3d)(position * object->getRotationRegion()));
mTargetObject = NULL;
}
}
else
{
mTargetOffsetGlobal.setVec(position);
}
}
else
{
mTargetOffsetGlobal = gAgent.getPosGlobalFromAgent(position);
}
if (lookAtShouldClamp)
{
static LLCachedControl<F32> s_Radius(gSavedSettings, "FSLookAtTargetMaxDistance");
LLVector3d headPosition = gAgent.getPosGlobalFromAgent(gAgentAvatarp->mHeadp->getWorldPosition());
float distance = dist_vec(mTargetOffsetGlobal, headPosition);
if (distance > s_Radius)
{
LLVector3d vecDistFromObjectToHead = mTargetOffsetGlobal - headPosition;
vecDistFromObjectToHead *= s_Radius / distance;
mTargetOffsetGlobal.setVec(headPosition + vecDistFromObjectToHead);
}
//Do the changed calculation except this time for limited distances
// type of lookat behavior or target object has changed
bool lookAtChanged = (target_type != mTargetType);
// lookat position has moved a certain amount and we haven't just sent an update
lookAtChanged = lookAtChanged ||
((dist_vec_squared(gAgent.getPosAgentFromGlobal(mTargetOffsetGlobal), mLastSentOffsetGlobal) > MIN_DELTAPOS_FOR_UPDATE_SQUARED) &&
((current_time - mLastSendTime) > (1.f / MAX_SENDS_PER_SEC)));
if (lookAtChanged)
{
mLastSentOffsetGlobal = gAgent.getPosAgentFromGlobal(mTargetOffsetGlobal);
F32 timeout = (*mAttentions)[target_type].mTimeout;
setDuration(timeout);
setNeedsSendToSim(TRUE);
}
}
//</FS:LO> FIRE-23524 Option to limit look at target to a sphere around the avatar's head.
mKillTime = mTimer.getElapsedTimeF32() + mDuration;
update();

View File

@ -76,6 +76,10 @@
<check_box label="Eigenen Kamerafokus nicht an andere senden" name="privatelookat" tool_tip="Verhindert, dass der eigene Kamerafokus an andere gesendet wird."/>
<check_box label="Eigenen Kamerafokus auch lokal nicht setzen" name="privateLocalLookat" tool_tip="Verhindert, dass der Kopf des eigenen Avatars sich zum fokussierten Punkt der Kamera dreht. Die Kopfbewegung muss zwangsläufig nicht nicht anderen sichtbar sein, unabhängig wie diese Option gesetzt ist!"/>
<check_box label="Eigene Bearbeitungsauswahl nicht an andere senden" name="privatepointat" tool_tip="Verhindert, dass die eigene Auswahl an andere gesendet wird."/>
<check_box label="Distanz beschränken (vom eigenen Kopf aus):" name="LimitLookAt" width="270" tool_tip="Beschränkt die Distanz auf die angegebene Entfernung vom eigenen Kopf aus gemessen."/>
<text name="LimitLookAtDistanceMeterText">
m
</text>
</panel>
<!--Autoresponse1-->

View File

@ -165,7 +165,7 @@ Additional code generously contributed to Firestorm by:
top_pad="4"
width="450"
wrap="true">
Albatroz Hird, Alexie Birman, Andromeda Rage, Animats, Armin Weatherwax, Beq Janus, Casper Warden, Chalice Yao, Cron Stardust, Damian Zhaoying, Dan Threebeards, Dawa Gurbux, Denver Maksim, Drake Arconis, Felyza Wishbringer, f0rbidden, Fractured Crystal, Geenz Spad, Gibson Firehawk, Hitomi Tiponi, Inusaito Sayori, Jean Severine, Katharine Berry, Kittin Ninetails, Kool Koolhoven, Lance Corrimal, Lassie, Latif Khalifa, Magne Metaverse LLC, Magus Freston, Manami Hokkigai, MartinRJ Fayray, McCabe Maxstead, Melancholy Lemon, Melysmile, Mimika Oh, Mister Acacia, mygoditsfullofstars, Mysty Saunders, Nagi Michinaga, Name Short, nhede Core, NiranV Dean, Nogardrevlis Lectar, Paladin Forzane, paperwork, Penny Patton, Peyton Menges, programmtest, Qwerty Venom, Revolution Smythe, Sahkolihaa Contepomi, sal Kaligawa, Samm Florian, Satomi Ahn, Sei Lisa, Sempervirens Oddfellow, Shin Wasp, Shyotl Kuhr, Sione Lomu, Skills Hak, StarlightShining, Sunset Faulkes, Thickbrick Sleaford, Vaalith Jinn, Vincent Sylvester, Whirly Fizzle, Xenhat Liamano, Zwagoth Klaar and others.
Albatroz Hird, Alexie Birman, Andromeda Rage, Animats, Armin Weatherwax, Beq Janus, Casper Warden, Chalice Yao, Chaser Zaks, Cron Stardust, Damian Zhaoying, Dan Threebeards, Dawa Gurbux, Denver Maksim, Drake Arconis, Felyza Wishbringer, f0rbidden, Fractured Crystal, Geenz Spad, Gibson Firehawk, Hitomi Tiponi, Inusaito Sayori, Jean Severine, Katharine Berry, Kittin Ninetails, Kool Koolhoven, Lance Corrimal, Lassie, Latif Khalifa, Magne Metaverse LLC, Magus Freston, Manami Hokkigai, MartinRJ Fayray, McCabe Maxstead, Melancholy Lemon, Melysmile, Mimika Oh, Mister Acacia, mygoditsfullofstars, Mysty Saunders, Nagi Michinaga, Name Short, nhede Core, NiranV Dean, Nogardrevlis Lectar, Paladin Forzane, paperwork, Penny Patton, Peyton Menges, programmtest, Qwerty Venom, Revolution Smythe, Sahkolihaa Contepomi, sal Kaligawa, Samm Florian, Satomi Ahn, Sei Lisa, Sempervirens Oddfellow, Shin Wasp, Shyotl Kuhr, Sione Lomu, Skills Hak, StarlightShining, Sunset Faulkes, Thickbrick Sleaford, Vaalith Jinn, Vincent Sylvester, Whirly Fizzle, Xenhat Liamano, Zwagoth Klaar and others.
</text>
<text
follows="top|left"

View File

@ -458,6 +458,42 @@
tool_tip="Prevents your selection point from showing to others"
top_pad="4"
width="350" />
<check_box
control_name="FSLookAtTargetLimitDistance"
height="16"
label="Limit distance from head:"
follows="left|top"
layout="topleft"
name="LimitLookAt"
tool_tip="Clamps your look at target around your head."
top_pad="4"
width="160" />
<slider
control_name="FSLookAtTargetMaxDistance"
decimal_digits="0"
top_delta="0"
left_pad="10"
follows="left|top"
height="15"
increment="1"
initial_value="160"
layout="topleft"
max_val="32"
min_val="1"
name="LimitLookAtDistance"
width="150" />
<text
type="string"
length="1"
follows="left|top"
height="12"
layout="topleft"
left_pad="0"
name="LimitLookAtDistanceMeterText"
top_delta="0"
width="128">
m
</text>
</panel>
<!--Autoresponse-->

View File

@ -70,6 +70,7 @@
<check_box label="Nie pokazuj innym, gdzie patrzę" name="privatelookat" tool_tip="Zapobiega wysyłaniu na serwer informacji o własnym celu spojrzenia"/>
<check_box label="Nie pokazuj celu mojego spojrzenia nawet na moim własnym ekranie" name="privateLocalLookat" tool_tip="Zapobiega poruszaniu głową i skupianiu wzroku Twojego awatara na Twoim własnym ekranie. Ten ruch nie musi być widoczny dla innych nawet gdy ta opcja jest wyłączona."/>
<check_box label="Nie pokazuj innym celów moich wskazań" name="privatepointat" tool_tip="Zapobiega wysyłaniu innym celów wskazanych myszką"/>
<check_box label="Ogranicz odległość (od głowy):" width="270" name="LimitLookAt" tool_tip="Ogranicza Twoje cele spojrzeń, dookoła Twojej głowy, bazując na tej odległości." />
</panel>
<panel label="Autoodpowiedzi 1" name="tab-autoresponse-1">
<text name="text_box3">

View File

@ -1500,17 +1500,17 @@ class DarwinManifest(ViewerManifest):
dylibs += path_optional(os.path.join(relpkgdir, libfile), libfile)
# dylibs that vary based on configuration
# if self.args['configuration'].lower() == 'debug':
# for libfile in (
# "libfmodexL.dylib",
# ):
# dylibs += path_optional(os.path.join(debpkgdir, libfile), libfile)
# else:
# for libfile in (
# "libfmodex.dylib",
# ):
# dylibs += path_optional(os.path.join(relpkgdir, libfile), libfile)
if self.args['configuration'].lower() == 'debug':
for libfile in (
"libfmodexL.dylib",
):
dylibs += path_optional(os.path.join(debpkgdir, libfile), libfile)
else:
for libfile in (
"libfmodex.dylib",
):
dylibs += path_optional(os.path.join(relpkgdir, libfile), libfile)
# our apps
executable_path = {}
for app_bld_dir, app in (("mac_crash_logger", "mac-crash-logger.app"),