From 80e2a367a367a275b9dd5b92c9a01bea5501114c Mon Sep 17 00:00:00 2001 From: kadah Date: Sat, 15 Jan 2011 20:07:08 -0800 Subject: [PATCH] Added support for legacy cursors --- indra/llcommon/llcursortypes.cpp | 1 + indra/llcommon/llcursortypes.h | 1 + indra/llwindow/llwindow.cpp | 9 +++--- indra/llwindow/llwindow.h | 3 +- indra/llwindow/llwindowmacosx.cpp | 29 ++++++++++-------- indra/llwindow/llwindowmacosx.h | 5 +-- indra/llwindow/llwindowsdl.cpp | 22 +++++++++---- indra/llwindow/llwindowsdl.h | 5 +-- indra/llwindow/llwindowwin32.cpp | 24 +++++++++++---- indra/llwindow/llwindowwin32.h | 4 +-- indra/newview/app_settings/settings.xml | 11 +++++++ .../cursors_mac/UI_CURSOR_TOOLBUY_LEGACY.tif | Bin 0 -> 14776 bytes .../cursors_mac/UI_CURSOR_TOOLOPEN_LEGACY.tif | Bin 0 -> 15144 bytes .../cursors_mac/UI_CURSOR_TOOLPAY_LEGACY.tif | Bin 0 -> 15464 bytes .../cursors_mac/UI_CURSOR_TOOLSIT_LEGACY.tif | Bin 0 -> 15176 bytes indra/newview/lltoolpie.cpp | 2 +- indra/newview/llviewerwindow.cpp | 3 +- indra/newview/res-sdl/toolbuy-legacy.BMP | Bin 0 -> 3126 bytes indra/newview/res-sdl/toolopen-legacy.BMP | Bin 0 -> 3126 bytes indra/newview/res-sdl/toolpay-legacy.BMP | Bin 0 -> 3128 bytes indra/newview/res-sdl/toolsit-legacy.BMP | Bin 0 -> 3126 bytes indra/newview/res/toolbuy-legacy.cur | Bin 0 -> 2238 bytes indra/newview/res/toolopen-legacy.cur | Bin 0 -> 2238 bytes indra/newview/res/toolpay-legacy.cur | Bin 0 -> 2238 bytes indra/newview/res/toolsit-legacy.cur | Bin 0 -> 2238 bytes indra/newview/res/viewerRes.rc.in | 5 +++ .../xui/en/panel_preferences_skins.xml | 25 +++++++++++++++ 27 files changed, 112 insertions(+), 37 deletions(-) create mode 100644 indra/newview/cursors_mac/UI_CURSOR_TOOLBUY_LEGACY.tif create mode 100644 indra/newview/cursors_mac/UI_CURSOR_TOOLOPEN_LEGACY.tif create mode 100644 indra/newview/cursors_mac/UI_CURSOR_TOOLPAY_LEGACY.tif create mode 100644 indra/newview/cursors_mac/UI_CURSOR_TOOLSIT_LEGACY.tif create mode 100644 indra/newview/res-sdl/toolbuy-legacy.BMP create mode 100644 indra/newview/res-sdl/toolopen-legacy.BMP create mode 100644 indra/newview/res-sdl/toolpay-legacy.BMP create mode 100644 indra/newview/res-sdl/toolsit-legacy.BMP create mode 100644 indra/newview/res/toolbuy-legacy.cur create mode 100644 indra/newview/res/toolopen-legacy.cur create mode 100644 indra/newview/res/toolpay-legacy.cur create mode 100644 indra/newview/res/toolsit-legacy.cur diff --git a/indra/llcommon/llcursortypes.cpp b/indra/llcommon/llcursortypes.cpp index e987c397bd..2db209a02d 100644 --- a/indra/llcommon/llcursortypes.cpp +++ b/indra/llcommon/llcursortypes.cpp @@ -68,6 +68,7 @@ ECursorType getCursorFromString(const std::string& cursor_string) cursor_string_table["UI_CURSOR_PIPETTE"] = UI_CURSOR_PIPETTE; cursor_string_table["UI_CURSOR_TOOLSIT"] = UI_CURSOR_TOOLSIT; cursor_string_table["UI_CURSOR_TOOLBUY"] = UI_CURSOR_TOOLBUY; + cursor_string_table["UI_CURSOR_TOOLPAY"] = UI_CURSOR_TOOLPAY; cursor_string_table["UI_CURSOR_TOOLOPEN"] = UI_CURSOR_TOOLOPEN; } diff --git a/indra/llcommon/llcursortypes.h b/indra/llcommon/llcursortypes.h index bacb0a80ba..d675c2e882 100644 --- a/indra/llcommon/llcursortypes.h +++ b/indra/llcommon/llcursortypes.h @@ -64,6 +64,7 @@ enum ECursorType { UI_CURSOR_PIPETTE, UI_CURSOR_TOOLSIT, UI_CURSOR_TOOLBUY, + UI_CURSOR_TOOLPAY, UI_CURSOR_TOOLOPEN, UI_CURSOR_COUNT // Number of elements in this enum (NOT a cursor) }; diff --git a/indra/llwindow/llwindow.cpp b/indra/llwindow/llwindow.cpp index 072f694c24..f71b49c12d 100644 --- a/indra/llwindow/llwindow.cpp +++ b/indra/llwindow/llwindow.cpp @@ -338,7 +338,8 @@ LLWindow* LLWindowManager::createWindow( BOOL disable_vsync, BOOL use_gl, BOOL ignore_pixel_depth, - U32 fsaa_samples) + U32 fsaa_samples, + BOOL use_legacy_cursors) { LLWindow* new_window; @@ -351,15 +352,15 @@ LLWindow* LLWindowManager::createWindow( #elif LL_SDL new_window = new LLWindowSDL(callbacks, title, x, y, width, height, flags, - fullscreen, clearBg, disable_vsync, use_gl, ignore_pixel_depth, fsaa_samples); + fullscreen, clearBg, disable_vsync, use_gl, ignore_pixel_depth, fsaa_samples, use_legacy_cursors); #elif LL_WINDOWS new_window = new LLWindowWin32(callbacks, title, name, x, y, width, height, flags, - fullscreen, clearBg, disable_vsync, use_gl, ignore_pixel_depth, fsaa_samples); + fullscreen, clearBg, disable_vsync, use_gl, ignore_pixel_depth, fsaa_samples, use_legacy_cursors); #elif LL_DARWIN new_window = new LLWindowMacOSX(callbacks, title, name, x, y, width, height, flags, - fullscreen, clearBg, disable_vsync, use_gl, ignore_pixel_depth, fsaa_samples); + fullscreen, clearBg, disable_vsync, use_gl, ignore_pixel_depth, fsaa_samples, use_legacy_cursors); #endif } else diff --git a/indra/llwindow/llwindow.h b/indra/llwindow/llwindow.h index e8a86a1880..c681a38182 100644 --- a/indra/llwindow/llwindow.h +++ b/indra/llwindow/llwindow.h @@ -258,7 +258,8 @@ public: BOOL disable_vsync = TRUE, BOOL use_gl = TRUE, BOOL ignore_pixel_depth = FALSE, - U32 fsaa_samples = 0); + U32 fsaa_samples = 0, + BOOL use_legacy_cursors = TRUE); static BOOL destroyWindow(LLWindow* window); static BOOL isWindowValid(LLWindow *window); }; diff --git a/indra/llwindow/llwindowmacosx.cpp b/indra/llwindow/llwindowmacosx.cpp index 44c0913c98..8ee2c86336 100644 --- a/indra/llwindow/llwindowmacosx.cpp +++ b/indra/llwindow/llwindowmacosx.cpp @@ -217,7 +217,8 @@ LLWindowMacOSX::LLWindowMacOSX(LLWindowCallbacks* callbacks, BOOL fullscreen, BOOL clearBg, BOOL disable_vsync, BOOL use_gl, BOOL ignore_pixel_depth, - U32 fsaa_samples) + U32 fsaa_samples, + BOOL use_legacy_cursors) : LLWindow(NULL, fullscreen, flags) { // *HACK: During window construction we get lots of OS events for window @@ -319,7 +320,7 @@ LLWindowMacOSX::LLWindowMacOSX(LLWindowCallbacks* callbacks, } //start with arrow cursor - initCursors(); + initCursors(use_legacy_cursors); setCursor( UI_CURSOR_ARROW ); } @@ -2739,7 +2740,7 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e return result; } -const char* cursorIDToName(int id) +const char* cursorIDToName(int id, BOOL use_legacy_cursors) { switch (id) { @@ -2776,9 +2777,10 @@ const char* cursorIDToName(int id) case UI_CURSOR_TOOLPAUSE: return "UI_CURSOR_TOOLPAUSE"; case UI_CURSOR_TOOLMEDIAOPEN: return "UI_CURSOR_TOOLMEDIAOPEN"; case UI_CURSOR_PIPETTE: return "UI_CURSOR_PIPETTE"; - case UI_CURSOR_TOOLSIT: return "UI_CURSOR_TOOLSIT"; - case UI_CURSOR_TOOLBUY: return "UI_CURSOR_TOOLBUY"; - case UI_CURSOR_TOOLOPEN: return "UI_CURSOR_TOOLOPEN"; + case UI_CURSOR_TOOLSIT: if (use_legacy_cursors) return "UI_CURSOR_TOOLSIT_LEGACY"; else return "UI_CURSOR_TOOLSIT"; + case UI_CURSOR_TOOLBUY: if (use_legacy_cursors) return "UI_CURSOR_TOOLBUY_LEGACY"; else return "UI_CURSOR_TOOLBUY"; + case UI_CURSOR_TOOLOPEN: if (use_legacy_cursors) return "UI_CURSOR_TOOLOPEN_LEGACY"; else return "UI_CURSOR_TOOLOPEN"; + case UI_CURSOR_TOOLPAY: if (use_legacy_cursors) return "UI_CURSOR_TOOLBUY_LEGACY"; else return "UI_CURSOR_TOOLPAY"; } llerrs << "cursorIDToName: unknown cursor id" << id << llendl; @@ -2789,14 +2791,14 @@ const char* cursorIDToName(int id) static CursorRef gCursors[UI_CURSOR_COUNT]; -static void initPixmapCursor(int cursorid, int hotspotX, int hotspotY) +static void initPixmapCursor(int cursorid, int hotspotX, int hotspotY, BOOL use_legacy_cursors = TRUE) { // cursors are in /Contents/Resources/cursors_mac/UI_CURSOR_FOO.tif std::string fullpath = gDirUtilp->getAppRODataDir(); fullpath += gDirUtilp->getDirDelimiter(); fullpath += "cursors_mac"; fullpath += gDirUtilp->getDirDelimiter(); - fullpath += cursorIDToName(cursorid); + fullpath += cursorIDToName(cursorid, use_legacy_cursors); fullpath += ".tif"; gCursors[cursorid] = createImageCursor(fullpath.c_str(), hotspotX, hotspotY); @@ -2883,6 +2885,7 @@ void LLWindowMacOSX::setCursor(ECursorType cursor) case UI_CURSOR_TOOLMEDIAOPEN: case UI_CURSOR_TOOLSIT: case UI_CURSOR_TOOLBUY: + case UI_CURSOR_TOOLPAY: case UI_CURSOR_TOOLOPEN: result = setImageCursor(gCursors[cursor]); break; @@ -2902,7 +2905,8 @@ ECursorType LLWindowMacOSX::getCursor() const return mCurrentCursor; } -void LLWindowMacOSX::initCursors() +void LLWindowMacOSX::initCursors(BOOL use_legacy_cursors) +{ { initPixmapCursor(UI_CURSOR_NO, 8, 8); initPixmapCursor(UI_CURSOR_WORKING, 1, 1); @@ -2925,9 +2929,10 @@ void LLWindowMacOSX::initCursors() initPixmapCursor(UI_CURSOR_TOOLPLAY, 1, 1); initPixmapCursor(UI_CURSOR_TOOLPAUSE, 1, 1); initPixmapCursor(UI_CURSOR_TOOLMEDIAOPEN, 1, 1); - initPixmapCursor(UI_CURSOR_TOOLSIT, 20, 15); - initPixmapCursor(UI_CURSOR_TOOLBUY, 20, 15); - initPixmapCursor(UI_CURSOR_TOOLOPEN, 20, 15); + initPixmapCursor(UI_CURSOR_TOOLSIT, 20, 15, use_legacy_cursors); + initPixmapCursor(UI_CURSOR_TOOLBUY, 20, 15, use_legacy_cursors); + initPixmapCursor(UI_CURSOR_TOOLOPEN, 20, 15, use_legacy_cursors); + initPixmapCursor(UI_CURSOR_TOOLPAY, 20, 15, use_legacy_cursors); initPixmapCursor(UI_CURSOR_SIZENWSE, 10, 10); initPixmapCursor(UI_CURSOR_SIZENESW, 10, 10); diff --git a/indra/llwindow/llwindowmacosx.h b/indra/llwindow/llwindowmacosx.h index 6dc093b4be..336d08234e 100644 --- a/indra/llwindow/llwindowmacosx.h +++ b/indra/llwindow/llwindowmacosx.h @@ -123,10 +123,11 @@ protected: const std::string& title, const std::string& name, int x, int y, int width, int height, U32 flags, BOOL fullscreen, BOOL clearBg, BOOL disable_vsync, BOOL use_gl, BOOL ignore_pixel_depth, - U32 fsaa_samples); + U32 fsaa_samples, + BOOL use_legacy_cursors); ~LLWindowMacOSX(); - void initCursors(); + void initCursors(BOOL use_legacy_cursors = TRUE); BOOL isValid(); void moveWindow(const LLCoordScreen& position,const LLCoordScreen& size); diff --git a/indra/llwindow/llwindowsdl.cpp b/indra/llwindow/llwindowsdl.cpp index 5bfa437fc8..00adfd0ae7 100644 --- a/indra/llwindow/llwindowsdl.cpp +++ b/indra/llwindow/llwindowsdl.cpp @@ -187,7 +187,7 @@ LLWindowSDL::LLWindowSDL(LLWindowCallbacks* callbacks, S32 height, U32 flags, BOOL fullscreen, BOOL clearBg, BOOL disable_vsync, BOOL use_gl, - BOOL ignore_pixel_depth, U32 fsaa_samples) + BOOL ignore_pixel_depth, U32 fsaa_samples, BOOL use_legacy_cursors) : LLWindow(callbacks, fullscreen, flags), Lock_Display(NULL), Unlock_Display(NULL), mGamma(1.0f) @@ -233,7 +233,7 @@ LLWindowSDL::LLWindowSDL(LLWindowCallbacks* callbacks, gGLManager.initGL(); //start with arrow cursor - initCursors(); + initCursors(use_legacy_cursors); setCursor( UI_CURSOR_ARROW ); } @@ -2023,7 +2023,7 @@ void LLWindowSDL::setCursor(ECursorType cursor) } } -void LLWindowSDL::initCursors() +void LLWindowSDL::initCursors(BOOL use_legacy_cursors) { int i; // Blank the cursor pointer array for those we may miss. @@ -2068,9 +2068,19 @@ void LLWindowSDL::initCursors() mSDLCursors[UI_CURSOR_TOOLPAUSE] = makeSDLCursorFromBMP("toolpause.BMP",0,0); mSDLCursors[UI_CURSOR_TOOLMEDIAOPEN] = makeSDLCursorFromBMP("toolmediaopen.BMP",0,0); mSDLCursors[UI_CURSOR_PIPETTE] = makeSDLCursorFromBMP("lltoolpipette.BMP",2,28); - mSDLCursors[UI_CURSOR_TOOLSIT] = makeSDLCursorFromBMP("toolsit.BMP",20,15); - mSDLCursors[UI_CURSOR_TOOLBUY] = makeSDLCursorFromBMP("toolbuy.BMP",20,15); - mSDLCursors[UI_CURSOR_TOOLOPEN] = makeSDLCursorFromBMP("toolopen.BMP",20,15); + if (use_legacy_cursors) { + mSDLCursors[UI_CURSOR_TOOLSIT] = makeSDLCursorFromBMP("toolsit-legacy.BMP",20,15); + mSDLCursors[UI_CURSOR_TOOLBUY] = makeSDLCursorFromBMP("toolbuy-legacy.BMP",20,15); + mSDLCursors[UI_CURSOR_TOOLOPEN] = makeSDLCursorFromBMP("toolopen-legacy.BMP",20,15); + mSDLCursors[UI_CURSOR_TOOLPAY] = makeSDLCursorFromBMP("toolpay-legacy.BMP",20,15); + } + else + { + mSDLCursors[UI_CURSOR_TOOLSIT] = makeSDLCursorFromBMP("toolsit.BMP",20,15); + mSDLCursors[UI_CURSOR_TOOLBUY] = makeSDLCursorFromBMP("toolbuy.BMP",20,15); + mSDLCursors[UI_CURSOR_TOOLOPEN] = makeSDLCursorFromBMP("toolopen.BMP",20,15); + mSDLCursors[UI_CURSOR_TOOLPAY] = makeSDLCursorFromBMP("toolbuy.BMP",20,15); + } if (getenv("LL_ATI_MOUSE_CURSOR_BUG") != NULL) { llinfos << "Disabling cursor updating due to LL_ATI_MOUSE_CURSOR_BUG" << llendl; diff --git a/indra/llwindow/llwindowsdl.h b/indra/llwindow/llwindowsdl.h index fa544b16ce..2f777cb831 100644 --- a/indra/llwindow/llwindowsdl.h +++ b/indra/llwindow/llwindowsdl.h @@ -146,13 +146,14 @@ protected: LLWindowSDL(LLWindowCallbacks* callbacks, const std::string& title, int x, int y, int width, int height, U32 flags, BOOL fullscreen, BOOL clearBg, BOOL disable_vsync, BOOL use_gl, - BOOL ignore_pixel_depth, U32 fsaa_samples); + BOOL ignore_pixel_depth, U32 fsaa_samples, BOOL use_legacy_cursors); + BOOL ignore_pixel_depth, U32 fsaa_samples, BOOL use_legacy_cursors); ~LLWindowSDL(); /*virtual*/ BOOL isValid(); /*virtual*/ LLSD getNativeKeyData(); - void initCursors(); + void initCursors(BOOL use_legacy_cursors = TRUE); void quitCursors(); void moveWindow(const LLCoordScreen& position,const LLCoordScreen& size); diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp index 87075c7318..ed46226b47 100644 --- a/indra/llwindow/llwindowwin32.cpp +++ b/indra/llwindow/llwindowwin32.cpp @@ -363,7 +363,8 @@ LLWindowWin32::LLWindowWin32(LLWindowCallbacks* callbacks, BOOL fullscreen, BOOL clearBg, BOOL disable_vsync, BOOL use_gl, BOOL ignore_pixel_depth, - U32 fsaa_samples) + U32 fsaa_samples, + BOOL use_legacy_cursors) : LLWindow(callbacks, fullscreen, flags) { mFSAASamples = fsaa_samples; @@ -612,7 +613,7 @@ LLWindowWin32::LLWindowWin32(LLWindowCallbacks* callbacks, } //start with arrow cursor - initCursors(); + initCursors(use_legacy_cursors); setCursor( UI_CURSOR_ARROW ); // Initialize (boot strap) the Language text input management, @@ -1504,7 +1505,7 @@ HCURSOR LLWindowWin32::loadColorCursor(LPCTSTR name) } -void LLWindowWin32::initCursors() +void LLWindowWin32::initCursors(BOOL use_legacy_cursors) { mCursor[ UI_CURSOR_ARROW ] = LoadCursor(NULL, IDC_ARROW); mCursor[ UI_CURSOR_WAIT ] = LoadCursor(NULL, IDC_WAIT); @@ -1538,9 +1539,20 @@ void LLWindowWin32::initCursors() mCursor[ UI_CURSOR_TOOLZOOMIN ] = LoadCursor(module, TEXT("TOOLZOOMIN")); mCursor[ UI_CURSOR_TOOLPICKOBJECT3 ] = LoadCursor(module, TEXT("TOOLPICKOBJECT3")); mCursor[ UI_CURSOR_PIPETTE ] = LoadCursor(module, TEXT("TOOLPIPETTE")); - mCursor[ UI_CURSOR_TOOLSIT ] = LoadCursor(module, TEXT("TOOLSIT")); - mCursor[ UI_CURSOR_TOOLBUY ] = LoadCursor(module, TEXT("TOOLBUY")); - mCursor[ UI_CURSOR_TOOLOPEN ] = LoadCursor(module, TEXT("TOOLOPEN")); + if (use_legacy_cursors) + { + mCursor[ UI_CURSOR_TOOLSIT ] = LoadCursor(module, TEXT("TOOLSIT-LEGACY")); + mCursor[ UI_CURSOR_TOOLBUY ] = LoadCursor(module, TEXT("TOOLBUY-LEGACY")); + mCursor[ UI_CURSOR_TOOLOPEN ] = LoadCursor(module, TEXT("TOOLOPEN-LEGACY")); + mCursor[ UI_CURSOR_TOOLPAY ] = LoadCursor(module, TEXT("TOOLPAY-LEGACY")); + } + else + { + mCursor[ UI_CURSOR_TOOLSIT ] = LoadCursor(module, TEXT("TOOLSIT")); + mCursor[ UI_CURSOR_TOOLBUY ] = LoadCursor(module, TEXT("TOOLBUY")); + mCursor[ UI_CURSOR_TOOLOPEN ] = LoadCursor(module, TEXT("TOOLOPEN")); + mCursor[ UI_CURSOR_TOOLPAY ] = LoadCursor(module, TEXT("TOOLBUY")); + } // Color cursors mCursor[ UI_CURSOR_TOOLPLAY ] = loadColorCursor(TEXT("TOOLPLAY")); diff --git a/indra/llwindow/llwindowwin32.h b/indra/llwindow/llwindowwin32.h index 387e4cbdb6..2011894a7a 100644 --- a/indra/llwindow/llwindowwin32.h +++ b/indra/llwindow/llwindowwin32.h @@ -118,10 +118,10 @@ protected: LLWindowWin32(LLWindowCallbacks* callbacks, const std::string& title, const std::string& name, int x, int y, int width, int height, U32 flags, BOOL fullscreen, BOOL clearBg, BOOL disable_vsync, BOOL use_gl, - BOOL ignore_pixel_depth, U32 fsaa_samples); + BOOL ignore_pixel_depth, U32 fsaa_samples, BOOL use_legacy_cursors); ~LLWindowWin32(); - void initCursors(); + void initCursors(BOOL use_legacy_cursors = TRUE); void initInputDevices(); HCURSOR loadColorCursor(LPCTSTR name); BOOL isValid(); diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 8d59a90d39..db84782c7d 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -12842,5 +12842,16 @@ Value 1 + UseLegacyCursors + + Comment + Use 1.x style cursors instead + Persist + 1 + Type + Boolean + Value + 1 + diff --git a/indra/newview/cursors_mac/UI_CURSOR_TOOLBUY_LEGACY.tif b/indra/newview/cursors_mac/UI_CURSOR_TOOLBUY_LEGACY.tif new file mode 100644 index 0000000000000000000000000000000000000000..39d89987aaa1677c04ae02ff908de03373fae363 GIT binary patch literal 14776 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 literal 0 HcmV?d00001 diff --git a/indra/newview/cursors_mac/UI_CURSOR_TOOLOPEN_LEGACY.tif b/indra/newview/cursors_mac/UI_CURSOR_TOOLOPEN_LEGACY.tif new file mode 100644 index 0000000000000000000000000000000000000000..864c8dee7aedbcfa459e49649c80eaabfe53294a GIT binary patch literal 15144 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 literal 0 HcmV?d00001 diff --git a/indra/newview/cursors_mac/UI_CURSOR_TOOLPAY_LEGACY.tif b/indra/newview/cursors_mac/UI_CURSOR_TOOLPAY_LEGACY.tif new file mode 100644 index 0000000000000000000000000000000000000000..2bbb3b31caa95fd38a48f7690e736c22a342f41d GIT binary patch literal 15464 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 literal 0 HcmV?d00001 diff --git a/indra/newview/cursors_mac/UI_CURSOR_TOOLSIT_LEGACY.tif b/indra/newview/cursors_mac/UI_CURSOR_TOOLSIT_LEGACY.tif new file mode 100644 index 0000000000000000000000000000000000000000..d6d835a90bc790a75fa65bcacb7679152b6a592f GIT binary patch literal 15176 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 DM3f_N literal 0 HcmV?d00001 diff --git a/indra/newview/lltoolpie.cpp b/indra/newview/lltoolpie.cpp index 71ce6d7464..83a375b8f3 100644 --- a/indra/newview/lltoolpie.cpp +++ b/indra/newview/lltoolpie.cpp @@ -450,7 +450,7 @@ ECursorType cursor_from_object(LLViewerObject* object) if ((object && object->flagTakesMoney()) || (parent && parent->flagTakesMoney())) { - cursor = UI_CURSOR_TOOLBUY; + cursor = UI_CURSOR_TOOLPAY; } break; case CLICK_ACTION_ZOOM: diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 75111b7a79..ca788833e1 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1358,7 +1358,8 @@ LLViewerWindow::LLViewerWindow( gSavedSettings.getBOOL("DisableVerticalSync"), !gNoRender, ignore_pixel_depth, - gSavedSettings.getBOOL("RenderUseFBO") ? 0 : gSavedSettings.getU32("RenderFSAASamples")); //don't use window level anti-aliasing if FBOs are enabled + gSavedSettings.getBOOL("RenderUseFBO") ? 0 : gSavedSettings.getU32("RenderFSAASamples"), //don't use window level anti-aliasing if FBOs are enabled + gSavedSettings.getBOOL("UseLegacyCursors")); if (!LLAppViewer::instance()->restoreErrorTrap()) { diff --git a/indra/newview/res-sdl/toolbuy-legacy.BMP b/indra/newview/res-sdl/toolbuy-legacy.BMP new file mode 100644 index 0000000000000000000000000000000000000000..a00bdb2c58d3a4650eb93999d6252cede3028185 GIT binary patch literal 3126 zcmdUtF;W9D3`NZhUFc{iDLFw7K+nA?xD))zOa5qN#dsOJK$BHu>FY_}PR?{t*ARRQ(OgHTWDSr%0@>@}rU<(2`(& z#F$^gnKe1WeDuBd<|wUKUh%JQ$@)?ptHkmItM~x%Fcqb?b-RwvD4C3^yx@+}=xCs0PfVQgF_9CW zDV{Y(%~#{j9^p+0=4rjM!<8 literal 0 HcmV?d00001 diff --git a/indra/newview/res-sdl/toolopen-legacy.BMP b/indra/newview/res-sdl/toolopen-legacy.BMP new file mode 100644 index 0000000000000000000000000000000000000000..93c7e44b28d960eb0c67de79a5c6e3846dbdf0b2 GIT binary patch literal 3126 zcmc(hF;2uV6hwox9dtC5l=PAI0Q9+rkHQ^tBZ?e`o+8Yj@&D^2_Qr?;D{DDU_RajU z*YG}Fp9Z!o`Zs)D^XFlB!3Yh{pC9$n#4vpRQya$dH&?>T7q(8nct53iNHh8v@HVOE zB(Qjj8RMt4^h=1pg@Xje+>>cHHZzhxFGIHk_%dJXvxJv$^N$i##c4`qK7~XMM-j0W zpFuwJ3V3G;Wj^#-Sp`PK{5_vEn}3ynwYXD7!@pMCJ=@YV9IdbWk19_2E$75KTw6%_ zxPO&!#z&YIOQ^)a^LL5tf3YRtF0vBF@r+*~OM)wFdsRX<8UC44Cx7Q3w>O}}xysuA zW?oB-UDW5l9+B(b7TWzof+~G{ahxXe3eCuzxBX+wjeHjQKj-ThL8|4o)8eCz{~69r zLj1Lr58x{s2DWhad&$m2g635MyyI#3R|&QXoqYP-6tbIPKHNXcY9-{W&WGo(Z*z|U z4D??~`A0r;&Ig?GSAg3Hhj1%=u;Zn5#ZxmggYOc!1sOmzNnj9g&1~U99sBTL5~jk4 zg0D2Bwd2=RT7{JJc2<{sNmSvIK)mvH?C(4(Jqs=&W_H297=oi0_Ji#>#?0;!X7t_2 zJop+M;llRxQBl=D_$A!UTfF=`o_pL*(-ixv9COn0tnzp8k{`5kP?9y)zZ3W(+Ag0e zJlnQIfaY-|@aMo|joZd&OqXYc;5+^iju#ksx%Vn#$(cHvl95FCZ^HGJvp%2FTl3++ o4bP{2afCuCj?)KG+J3%rnIDTtnEDthv6z*fdVeUS@fC39cN)OChiu_xHAbMKi}KD z1g^Ks-i0`$KB4%zY}^qo=e8I>?5KneRO3H#9e7z7d*-r7K)bHHM*|bGPY?^E?0Ha& zU)S|CO-n^BJ~-a{zVC&EA|EJ3+qUl#=*c@`EEJq4Jw($qJcN!P;#XB==MTtU!xIZQ z=g;?<&4(Of^~jPs0TFP1HRY?oBmN|r5ShI6M=Ns@6?|Q|@CP4nWT$yU>OTaL2Kl3I M3#))^2ZxGt5AN;GD*ylh literal 0 HcmV?d00001 diff --git a/indra/newview/res-sdl/toolsit-legacy.BMP b/indra/newview/res-sdl/toolsit-legacy.BMP new file mode 100644 index 0000000000000000000000000000000000000000..ca911ece719e9101d9615e23a32b8a4d84611e2b GIT binary patch literal 3126 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 literal 0 HcmV?d00001 diff --git a/indra/newview/res/viewerRes.rc.in b/indra/newview/res/viewerRes.rc.in index fe6ae14711..8d5b9239e0 100644 --- a/indra/newview/res/viewerRes.rc.in +++ b/indra/newview/res/viewerRes.rc.in @@ -135,6 +135,11 @@ TOOLBUY CURSOR "toolbuy.cur" TOOLOPEN CURSOR "toolopen.cur" TOOLSIT CURSOR "toolsit.cur" +TOOLBUY-LEGACY CURSOR "toolbuy-legacy.cur" +TOOLPAY-LEGACY CURSOR "toolpay-legacy.cur" +TOOLOPEN-LEGACY CURSOR "toolopen-legacy.cur" +TOOLSIT-LEGACY CURSOR "toolsit-legacy.cur" + ///////////////////////////////////////////////////////////////////////////// // // Version diff --git a/indra/newview/skins/default/xui/en/panel_preferences_skins.xml b/indra/newview/skins/default/xui/en/panel_preferences_skins.xml index 189e694c90..eb92c18b0f 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_skins.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_skins.xml @@ -78,5 +78,30 @@ width="200"> (Requires restart) + + + + (Requires restart) +