diff options
author | Armin Weatherwax | 2011-04-10 11:51:41 +0200 |
---|---|---|
committer | McCabe Maxsted | 2011-04-19 17:50:49 -0700 |
commit | 96f007a9f0e83a62492366c66f5ad3ecdf483c4a (patch) | |
tree | 674b6077b554e1647202fda5d561cbe24824808e | |
parent | add some basic cloud preferences in prefs > advanced >eye candy - please revi... (diff) | |
download | meta-impy-96f007a9f0e83a62492366c66f5ad3ecdf483c4a.zip meta-impy-96f007a9f0e83a62492366c66f5ad3ecdf483c4a.tar.gz meta-impy-96f007a9f0e83a62492366c66f5ad3ecdf483c4a.tar.bz2 meta-impy-96f007a9f0e83a62492366c66f5ad3ecdf483c4a.tar.xz |
fix some flaws in the cloud particle prefs
-rw-r--r-- | linden/indra/llcommon/imageids.cpp | 2 | ||||
-rw-r--r-- | linden/indra/llcommon/imageids.h | 1 | ||||
-rw-r--r-- | linden/indra/newview/app_settings/settings.xml | 11 | ||||
-rw-r--r-- | linden/indra/newview/llprefsadvanced.cpp | 32 | ||||
-rw-r--r-- | linden/indra/newview/llprefsadvanced.h | 1 | ||||
-rw-r--r-- | linden/indra/newview/llviewermenu.cpp | 14 | ||||
-rw-r--r-- | linden/indra/newview/llvoavatar.cpp | 25 | ||||
-rw-r--r-- | linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml | 7 | ||||
-rw-r--r-- | linden/indra/newview/skins/default/xui/en-us/panel_particle_settings.xml | 9 | ||||
-rw-r--r-- | linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml | 7 |
10 files changed, 73 insertions, 36 deletions
diff --git a/linden/indra/llcommon/imageids.cpp b/linden/indra/llcommon/imageids.cpp index 6b4fcd3..e5343fe 100644 --- a/linden/indra/llcommon/imageids.cpp +++ b/linden/indra/llcommon/imageids.cpp | |||
@@ -75,3 +75,5 @@ const LLUUID TERRAIN_MOUNTAIN_DETAIL ("303cd381-8560-7579-23f1-f0a880799740"); / | |||
75 | const LLUUID TERRAIN_ROCK_DETAIL ("53a2f406-4895-1d13-d541-d2e3b86bc19c"); // VIEWER | 75 | const LLUUID TERRAIN_ROCK_DETAIL ("53a2f406-4895-1d13-d541-d2e3b86bc19c"); // VIEWER |
76 | 76 | ||
77 | const LLUUID DEFAULT_WATER_NORMAL ("822ded49-9a6c-f61c-cb89-6df54f42cdf4"); // VIEWER | 77 | const LLUUID DEFAULT_WATER_NORMAL ("822ded49-9a6c-f61c-cb89-6df54f42cdf4"); // VIEWER |
78 | |||
79 | const LLUUID DEFAULT_UNREZZED_AVATAR_PARTICLE ("c6e07fda-aea5-4149-acb6-6f09980e0db5"); // VIEWER only | ||
diff --git a/linden/indra/llcommon/imageids.h b/linden/indra/llcommon/imageids.h index dc726dc..516fda1 100644 --- a/linden/indra/llcommon/imageids.h +++ b/linden/indra/llcommon/imageids.h | |||
@@ -72,4 +72,5 @@ LL_COMMON_API extern const LLUUID TERRAIN_ROCK_DETAIL; | |||
72 | 72 | ||
73 | LL_COMMON_API extern const LLUUID DEFAULT_WATER_NORMAL; | 73 | LL_COMMON_API extern const LLUUID DEFAULT_WATER_NORMAL; |
74 | 74 | ||
75 | LL_COMMON_API extern const LLUUID DEFAULT_UNREZZED_AVATAR_PARTICLE; | ||
75 | #endif | 76 | #endif |
diff --git a/linden/indra/newview/app_settings/settings.xml b/linden/indra/newview/app_settings/settings.xml index bdaf8cc..80eb65a 100644 --- a/linden/indra/newview/app_settings/settings.xml +++ b/linden/indra/newview/app_settings/settings.xml | |||
@@ -938,6 +938,17 @@ | |||
938 | <key>Value</key> | 938 | <key>Value</key> |
939 | <integer>1</integer> | 939 | <integer>1</integer> |
940 | </map> | 940 | </map> |
941 | <key>PreviewAvatarAsCloud</key> | ||
942 | <map> | ||
943 | <key>Comment</key> | ||
944 | <string>Turns your avatar into the paricle clud if true</string> | ||
945 | <key>Persist</key> | ||
946 | <integer>0</integer> | ||
947 | <key>Type</key> | ||
948 | <string>Boolean</string> | ||
949 | <key>Value</key> | ||
950 | <integer>0</integer> | ||
951 | </map> | ||
941 | <key>PrivateLookAtTarget</key> | 952 | <key>PrivateLookAtTarget</key> |
942 | <map> | 953 | <map> |
943 | <key>Comment</key> | 954 | <key>Comment</key> |
diff --git a/linden/indra/newview/llprefsadvanced.cpp b/linden/indra/newview/llprefsadvanced.cpp index ad60694..f1b2428 100644 --- a/linden/indra/newview/llprefsadvanced.cpp +++ b/linden/indra/newview/llprefsadvanced.cpp | |||
@@ -119,7 +119,7 @@ BOOL LLPrefsAdvanced::postBuild() | |||
119 | getChild<LLButton>("ac_button")->setClickedCallback(onAutoCorrectButton,this); | 119 | getChild<LLButton>("ac_button")->setClickedCallback(onAutoCorrectButton,this); |
120 | initHelpBtn("EmeraldHelp_SpellCheck", "EmeraldHelp_SpellCheck"); | 120 | initHelpBtn("EmeraldHelp_SpellCheck", "EmeraldHelp_SpellCheck"); |
121 | 121 | ||
122 | 122 | getChild<LLButton>("reset_cloud_this_account")->setClickedCallback(onResetThisCloudButton,this); | |
123 | getChild<LLButton>("save_cloud_this_account")->setClickedCallback(onSaveThisCloudButton,this); | 123 | getChild<LLButton>("save_cloud_this_account")->setClickedCallback(onSaveThisCloudButton,this); |
124 | getChild<LLButton>("save_cloud_any_account")->setClickedCallback(onSaveAnyoneCloudButton,this); | 124 | getChild<LLButton>("save_cloud_any_account")->setClickedCallback(onSaveAnyoneCloudButton,this); |
125 | 125 | ||
@@ -214,8 +214,11 @@ void LLPrefsAdvanced::apply() | |||
214 | 214 | ||
215 | LLComboBox* crash_behavior_combobox = getChild<LLComboBox>("crash_behavior_combobox"); | 215 | LLComboBox* crash_behavior_combobox = getChild<LLComboBox>("crash_behavior_combobox"); |
216 | gCrashSettings.setS32(CRASH_BEHAVIOR_SETTING, crash_behavior_combobox->getCurrentIndex()); | 216 | gCrashSettings.setS32(CRASH_BEHAVIOR_SETTING, crash_behavior_combobox->getCurrentIndex()); |
217 | 217 | ||
218 | onSaveThisCloudButton(NULL); | 218 | if (LLStartUp::isLoggedIn() && LLVOAvatar::sHasCloud) |
219 | { | ||
220 | onSaveThisCloudButton(NULL); | ||
221 | } | ||
219 | } | 222 | } |
220 | 223 | ||
221 | void LLPrefsAdvanced::cancel() | 224 | void LLPrefsAdvanced::cancel() |
@@ -344,13 +347,15 @@ void LLPrefsAdvanced::draw() | |||
344 | 347 | ||
345 | void LLPrefsAdvanced::setParticleControls(bool is_logged_in) | 348 | void LLPrefsAdvanced::setParticleControls(bool is_logged_in) |
346 | { | 349 | { |
347 | 350 | childSetEnabled("reset_cloud_this_account", is_logged_in ); | |
348 | childSetEnabled("save_cloud_this_account", is_logged_in); | 351 | childSetEnabled("save_cloud_this_account", is_logged_in); |
349 | childSetEnabled("save_cloud_any_account", is_logged_in); | 352 | childSetEnabled("save_cloud_any_account", is_logged_in); |
350 | childSetEnabled("part_start_color_swatch", is_logged_in); | 353 | childSetEnabled("part_start_color_swatch", is_logged_in); |
351 | childSetEnabled("part_end_color_swatch", is_logged_in); | 354 | childSetEnabled("part_end_color_swatch", is_logged_in); |
352 | childSetEnabled("part_texture_picker", is_logged_in ); | 355 | childSetEnabled("part_texture_picker", is_logged_in ); |
353 | 356 | ||
357 | childSetEnabled("preview_cloud", is_logged_in); | ||
358 | childSetVisible("preview_cloud", is_logged_in); | ||
354 | childSetVisible("must_be_logged_in_textbox", !is_logged_in); | 359 | childSetVisible("must_be_logged_in_textbox", !is_logged_in); |
355 | } | 360 | } |
356 | 361 | ||
@@ -419,6 +424,25 @@ void LLPrefsAdvanced::onClickCommandLine(void* data) | |||
419 | FloaterCommandLine::getInstance()->center(); | 424 | FloaterCommandLine::getInstance()->center(); |
420 | } | 425 | } |
421 | 426 | ||
427 | void LLPrefsAdvanced::onResetThisCloudButton(void * data) | ||
428 | { | ||
429 | LLPrefsAdvanced* self = (LLPrefsAdvanced*)data; | ||
430 | if (!self) | ||
431 | { | ||
432 | return; | ||
433 | } | ||
434 | |||
435 | // keep draw() from overriding the cloud with the values from the UI | ||
436 | LLVOAvatar::sHasCloud = false; | ||
437 | std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "cloud.xml"); | ||
438 | LLVOAvatar::loadCloud(filename, LLVOAvatar::sCloud); | ||
439 | |||
440 | // tell draw() to override values from the UI with the data from the new cloud | ||
441 | self-> mWasLoggedIn = !(LLStartUp::isLoggedIn()); | ||
442 | |||
443 | LLVOAvatar::sHasCloud = true; | ||
444 | } | ||
445 | |||
422 | void LLPrefsAdvanced::onSaveThisCloudButton(void * data) | 446 | void LLPrefsAdvanced::onSaveThisCloudButton(void * data) |
423 | { | 447 | { |
424 | std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, "cloud.xml"); | 448 | std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, "cloud.xml"); |
diff --git a/linden/indra/newview/llprefsadvanced.h b/linden/indra/newview/llprefsadvanced.h index 87ddc59..e4febcc 100644 --- a/linden/indra/newview/llprefsadvanced.h +++ b/linden/indra/newview/llprefsadvanced.h | |||
@@ -59,6 +59,7 @@ private: | |||
59 | static void onSpellEditCustom(void* data); | 59 | static void onSpellEditCustom(void* data); |
60 | static void onSpellBaseComboBoxCommit(LLUICtrl* ctrl, void* userdata); | 60 | static void onSpellBaseComboBoxCommit(LLUICtrl* ctrl, void* userdata); |
61 | static void onAutoCorrectButton(void * data); | 61 | static void onAutoCorrectButton(void * data); |
62 | static void onResetThisCloudButton(void * data); | ||
62 | static void onSaveThisCloudButton(void * data); | 63 | static void onSaveThisCloudButton(void * data); |
63 | static void onSaveAnyoneCloudButton(void * data); | 64 | static void onSaveAnyoneCloudButton(void * data); |
64 | 65 | ||
diff --git a/linden/indra/newview/llviewermenu.cpp b/linden/indra/newview/llviewermenu.cpp index e270dbb..c8adf7b 100644 --- a/linden/indra/newview/llviewermenu.cpp +++ b/linden/indra/newview/llviewermenu.cpp | |||
@@ -10724,19 +10724,6 @@ class LLAdvancedDumpAvatarLocalTextures : public view_listener_t | |||
10724 | } | 10724 | } |
10725 | }; | 10725 | }; |
10726 | 10726 | ||
10727 | /////////////////////////////////// | ||
10728 | // Reload Avatar Cloud Particles // | ||
10729 | /////////////////////////////////// | ||
10730 | |||
10731 | |||
10732 | class LLAdvancedReloadAvatarCloudParticle : public view_listener_t | ||
10733 | { | ||
10734 | bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) | ||
10735 | { | ||
10736 | LLVOAvatar::initCloud(); | ||
10737 | return true; | ||
10738 | } | ||
10739 | }; | ||
10740 | 10727 | ||
10741 | /////////// | 10728 | /////////// |
10742 | // Crash // | 10729 | // Crash // |
@@ -11526,7 +11513,6 @@ void initialize_menus() | |||
11526 | addMenu(new LLAdvancedDumpAttachments(), "Advanced.DumpAttachments"); | 11513 | addMenu(new LLAdvancedDumpAttachments(), "Advanced.DumpAttachments"); |
11527 | addMenu(new LLAdvancedDebugAvatarTextures(), "Advanced.DebugAvatarTextures"); | 11514 | addMenu(new LLAdvancedDebugAvatarTextures(), "Advanced.DebugAvatarTextures"); |
11528 | addMenu(new LLAdvancedDumpAvatarLocalTextures(), "Advanced.DumpAvatarLocalTextures"); | 11515 | addMenu(new LLAdvancedDumpAvatarLocalTextures(), "Advanced.DumpAvatarLocalTextures"); |
11529 | addMenu(new LLAdvancedReloadAvatarCloudParticle(), "Advanced.ReloadAvatarCloudParticle"); | ||
11530 | 11516 | ||
11531 | // Advanced > Crash | 11517 | // Advanced > Crash |
11532 | addMenu(new LLAdvancedCrash(), "Advanced.Crash"); | 11518 | addMenu(new LLAdvancedCrash(), "Advanced.Crash"); |
diff --git a/linden/indra/newview/llvoavatar.cpp b/linden/indra/newview/llvoavatar.cpp index d8b0994..8ddc936 100644 --- a/linden/indra/newview/llvoavatar.cpp +++ b/linden/indra/newview/llvoavatar.cpp | |||
@@ -1521,10 +1521,12 @@ void LLVOAvatar::loadCloud(const std::string& filename, LLPartSysData& particle | |||
1521 | LLSDSerialize::fromXMLDocument(cloud, in_file); | 1521 | LLSDSerialize::fromXMLDocument(cloud, in_file); |
1522 | 1522 | ||
1523 | particles.fromLLSD(cloud); | 1523 | particles.fromLLSD(cloud); |
1524 | if(particles.mPartImageID.isNull()) | 1524 | const LLUUID default_id = DEFAULT_UNREZZED_AVATAR_PARTICLE; |
1525 | if(particles.mPartImageID.isNull() || default_id == particles.mPartImageID) | ||
1525 | { | 1526 | { |
1526 | LLViewerImage* cloud_image = gImageList.getImageFromFile("cloud-particle.j2c"); | 1527 | LLViewerImage* cloud_image = |
1527 | particles.mPartImageID = cloud_image->getID(); | 1528 | gImageList.getImageFromFile("cloud-particle.j2c", MIPMAP_YES, IMMEDIATE_YES, 0, 0, default_id); |
1529 | particles.mPartImageID = default_id; | ||
1528 | } | 1530 | } |
1529 | } | 1531 | } |
1530 | 1532 | ||
@@ -7431,6 +7433,7 @@ BOOL LLVOAvatar::isVisible() | |||
7431 | // returns true if the value has changed. | 7433 | // returns true if the value has changed. |
7432 | BOOL LLVOAvatar::updateIsFullyLoaded() | 7434 | BOOL LLVOAvatar::updateIsFullyLoaded() |
7433 | { | 7435 | { |
7436 | |||
7434 | // a "heuristic" to determine if we have enough avatar data to render | 7437 | // a "heuristic" to determine if we have enough avatar data to render |
7435 | // (to avoid rendering a "Ruth" - DEV-3168) | 7438 | // (to avoid rendering a "Ruth" - DEV-3168) |
7436 | 7439 | ||
@@ -7510,11 +7513,19 @@ BOOL LLVOAvatar::updateIsFullyLoaded() | |||
7510 | 7513 | ||
7511 | BOOL LLVOAvatar::isFullyLoaded() | 7514 | BOOL LLVOAvatar::isFullyLoaded() |
7512 | { | 7515 | { |
7516 | static BOOL* sPreviewAvatarCloud = rebind_llcontrol<BOOL>("PreviewAvatarAsCloud", &gSavedSettings, true); | ||
7513 | static BOOL* sRenderUnloadedAvatar = rebind_llcontrol<BOOL>("RenderUnloadedAvatar", &gSavedSettings, true); | 7517 | static BOOL* sRenderUnloadedAvatar = rebind_llcontrol<BOOL>("RenderUnloadedAvatar", &gSavedSettings, true); |
7514 | if (*sRenderUnloadedAvatar) | 7518 | |
7515 | return TRUE; | 7519 | if(*sPreviewAvatarCloud && mIsSelf) |
7516 | else | 7520 | { |
7517 | return mFullyLoaded; | 7521 | return FALSE; |
7522 | } | ||
7523 | else if (*sRenderUnloadedAvatar) | ||
7524 | { | ||
7525 | return TRUE; | ||
7526 | } | ||
7527 | |||
7528 | return mFullyLoaded; | ||
7518 | } | 7529 | } |
7519 | 7530 | ||
7520 | 7531 | ||
diff --git a/linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml b/linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml index b31122a..d5b07c8 100644 --- a/linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml +++ b/linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml | |||
@@ -1992,13 +1992,6 @@ | |||
1992 | <on_click function="Advanced.DumpAttachments" | 1992 | <on_click function="Advanced.DumpAttachments" |
1993 | userdata="" /> | 1993 | userdata="" /> |
1994 | </menu_item_call> | 1994 | </menu_item_call> |
1995 | <menu_item_call | ||
1996 | label="Reload Avatar Cloud Particle" | ||
1997 | name="Reload Avatar Cloud Particle"> | ||
1998 | <on_click | ||
1999 | function="Advanced.ReloadAvatarCloudParticle" | ||
2000 | userdata="" /> | ||
2001 | </menu_item_call> | ||
2002 | </menu> | 1995 | </menu> |
2003 | 1996 | ||
2004 | <!-- CRASH --> | 1997 | <!-- CRASH --> |
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_particle_settings.xml b/linden/indra/newview/skins/default/xui/en-us/panel_particle_settings.xml index e5064dd..c1e1da9 100644 --- a/linden/indra/newview/skins/default/xui/en-us/panel_particle_settings.xml +++ b/linden/indra/newview/skins/default/xui/en-us/panel_particle_settings.xml | |||
@@ -9,7 +9,7 @@ left="1" mouse_opaque="true" name="ParticleSettings" width="418"> | |||
9 | Start Color: | 9 | Start Color: |
10 | </text> | 10 | </text> |
11 | <color_swatch border_color="0.45098 0.517647 0.607843 1" bottom_delta="-44" | 11 | <color_swatch border_color="0.45098 0.517647 0.607843 1" bottom_delta="-44" |
12 | can_apply_immediately="false" color="1 1 1 1" | 12 | can_apply_immediately="true" color="1 1 1 1" |
13 | enabled="true" follows="left|top" height="55" label="" left_delta="53" | 13 | enabled="true" follows="left|top" height="55" label="" left_delta="53" |
14 | mouse_opaque="true" name="part_start_color_swatch" | 14 | mouse_opaque="true" name="part_start_color_swatch" |
15 | tool_tip="Click to open Color Picker" width="45" /> | 15 | tool_tip="Click to open Color Picker" width="45" /> |
@@ -20,7 +20,7 @@ left="1" mouse_opaque="true" name="ParticleSettings" width="418"> | |||
20 | End Color: | 20 | End Color: |
21 | </text> | 21 | </text> |
22 | <color_swatch border_color="0.45098 0.517647 0.607843 1" bottom_delta="-44" | 22 | <color_swatch border_color="0.45098 0.517647 0.607843 1" bottom_delta="-44" |
23 | can_apply_immediately="false" color="1 1 1 1" | 23 | can_apply_immediately="true" color="1 1 1 1" |
24 | enabled="true" follows="left|top" height="55" label="" left_delta="53" | 24 | enabled="true" follows="left|top" height="55" label="" left_delta="53" |
25 | mouse_opaque="true" name="part_end_color_swatch" | 25 | mouse_opaque="true" name="part_end_color_swatch" |
26 | tool_tip="Click to open Color Picker" width="45" /> | 26 | tool_tip="Click to open Color Picker" width="45" /> |
@@ -32,10 +32,13 @@ left="1" mouse_opaque="true" name="ParticleSettings" width="418"> | |||
32 | </text> | 32 | </text> |
33 | 33 | ||
34 | <texture_picker border_color="0.45098 0.517647 0.607843 1" bottom_delta="-44" | 34 | <texture_picker border_color="0.45098 0.517647 0.607843 1" bottom_delta="-44" |
35 | can_apply_immediately="false" color="1 1 1 1" | 35 | can_apply_immediately="true" color="1 1 1 1" |
36 | enabled="true" follows="left|top" height="55" label="" left_delta="53" | 36 | enabled="true" follows="left|top" height="55" label="" left_delta="53" |
37 | mouse_opaque="true" name="part_texture_picker" | 37 | mouse_opaque="true" name="part_texture_picker" |
38 | tool_tip="Click to open Texture Chooser" width="45" /> | 38 | tool_tip="Click to open Texture Chooser" width="45" /> |
39 | <button name="reset_cloud_this_account" label="reset for this account" halign="center" | ||
40 | tool_tip="reset the Avatar particle cloud to default for this account" left="12" | ||
41 | bottom_delta="-50" width="180" height="20" font="SansSerifSmall" follows="left|top"/> | ||
39 | <button name="save_cloud_this_account" label="save for this account" halign="center" | 42 | <button name="save_cloud_this_account" label="save for this account" halign="center" |
40 | tool_tip="save the Avatar particle cloud for this account" left="12" | 43 | tool_tip="save the Avatar particle cloud for this account" left="12" |
41 | bottom_delta="-50" width="180" height="20" font="SansSerifSmall" follows="left|top"/> | 44 | bottom_delta="-50" width="180" height="20" font="SansSerifSmall" follows="left|top"/> |
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml index 2d2b810..3b66fb8 100644 --- a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml +++ b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml | |||
@@ -194,7 +194,12 @@ To use spellcheck, right-click a misspelled word | |||
194 | mouse_opaque="true" name="must_be_logged_in_textbox" v_pad="0" width="394"> | 194 | mouse_opaque="true" name="must_be_logged_in_textbox" v_pad="0" width="394"> |
195 | You must be logged in to change this | 195 | You must be logged in to change this |
196 | </text> | 196 | </text> |
197 | <check_box bottom_delta="-4" control_name="PreviewAvatarAsCloud" enabled="true" | ||
198 | follows="left|top" font="SansSerifSmall" height="16" | ||
199 | label="Preview avatar as cloud" left="10" | ||
200 | mouse_opaque="true" name="preview_cloud" | ||
201 | radio_style="false" tool_tip="Preview avatar as cloud when already rezzed" | ||
202 | width="80" /> | ||
197 | </panel> | 203 | </panel> |
198 | |||
199 | </tab_container> | 204 | </tab_container> |
200 | </panel> | 205 | </panel> |