diff --git a/.github/workflows/build_viewer.yml b/.github/workflows/build_viewer.yml index 48cbc704de..e16b3e970e 100644 --- a/.github/workflows/build_viewer.yml +++ b/.github/workflows/build_viewer.yml @@ -93,11 +93,11 @@ jobs: with: swap-storage: false - - name: Set gcc version on Linux - if: runner.os == 'Linux' - run: | - echo "CC=gcc-10" >> $GITHUB_ENV - echo "CXX=g++-10" >> $GITHUB_ENV + # - name: Set gcc version on Linux + # if: runner.os == 'Linux' + # run: | + # echo "CC=gcc-10" >> $GITHUB_ENV + # echo "CXX=g++-10" >> $GITHUB_ENV - name: Setup rclone and download the folder diff --git a/README.md b/README.md index 0943130420..e78a22fd54 100644 --- a/README.md +++ b/README.md @@ -23,4 +23,4 @@ Build instructions for each operating system can be found using the links below ## Contribute -Help make Firestorm better! You can get involved with improvements by filing bugs and suggesting enhancements via [JIRA](https://jira.firestormviewer.org) or [creating pull requests](FS_PR_GUIDELINES.md). +Help make Firestorm better! You can get involved with improvements by filing bugs and suggesting enhancements via [JIRA](https://jira.firestormviewer.org) or [creating pull requests](doc/FS_PR_GUIDELINES.md). diff --git a/FS_PR_GUIDELINES.md b/doc/FS_PR_GUIDELINES.md similarity index 100% rename from FS_PR_GUIDELINES.md rename to doc/FS_PR_GUIDELINES.md diff --git a/indra/llwindow/llwindowmacosx.cpp b/indra/llwindow/llwindowmacosx.cpp index 94e7de333f..98ec86305b 100644 --- a/indra/llwindow/llwindowmacosx.cpp +++ b/indra/llwindow/llwindowmacosx.cpp @@ -1656,7 +1656,7 @@ ECursorType LLWindowMacOSX::getCursor() const // Legacy cursor setting from main program //void LLWindowMacOSX::initCursors() -void LLWindowMacOSX::initCursors(BOOL useLegacyCursors) +void LLWindowMacOSX::initCursors(bool useLegacyCursors) { initPixmapCursor(UI_CURSOR_NO, 8, 8); initPixmapCursor(UI_CURSOR_WORKING, 1, 1); diff --git a/indra/llwindow/llwindowmacosx.h b/indra/llwindow/llwindowmacosx.h index f66b66db1b..e3589603bc 100644 --- a/indra/llwindow/llwindowmacosx.h +++ b/indra/llwindow/llwindowmacosx.h @@ -159,7 +159,7 @@ protected: ~LLWindowMacOSX(); //void initCursors(); - void initCursors(BOOL useLegacyCursors); // Legacy cursor setting from main program + void initCursors(bool useLegacyCursors); // Legacy cursor setting from main program bool isValid() override; void moveWindow(const LLCoordScreen& position,const LLCoordScreen& size); diff --git a/indra/newview/fsfloaterim.cpp b/indra/newview/fsfloaterim.cpp index d66c9b5961..fc176e3dc0 100644 --- a/indra/newview/fsfloaterim.cpp +++ b/indra/newview/fsfloaterim.cpp @@ -471,13 +471,42 @@ void FSFloaterIM::sendMsgFromInputEditor(EChatType type) if (FSData::getInstance()->isTestingGroup(mSessionID)) { if(chat_prefix_testing) - utf8_text.insert(insert_pos, ("(" + str_address_size_tag + str_operating_system_tag + " " + LLVersionInfo::getInstance()->getBuildVersion() + skin_indicator + str_viewer_mode + str_rlv_enabled + str_opensim_tag + ") ")); + { + auto viewer_maturity = LLVersionInfo::getInstance()->getFSViewerMaturity(); + if( viewer_maturity == LLVersionInfo::FSViewerMaturity::RELEASE_VIEWER ) + { + utf8_text.insert(insert_pos, "(Release) "); + } + else if( viewer_maturity == LLVersionInfo::FSViewerMaturity::UNOFFICIAL_VIEWER ) + { + utf8_text.insert(insert_pos, "(Unofficial) "); + } + else // In testing groups we'll allow all non-release recognised channels. + { + utf8_text.insert(insert_pos, ("(" + str_address_size_tag + str_operating_system_tag + " " + LLVersionInfo::getInstance()->getBuildVersion() + skin_indicator + str_viewer_mode + str_rlv_enabled + str_opensim_tag + ") ")); + } + } + } //For release support groups, only display the short version(Major.Minor.Patch) since chat can speed by. This makes it easier on Support's eyes. else if(FSData::getInstance()->isSupportGroup(mSessionID)) { if(chat_prefix_support) - utf8_text.insert(insert_pos, ("(" + str_address_size_tag + str_operating_system_tag + " " + LLVersionInfo::getInstance()->getShortVersion() + skin_indicator + str_viewer_mode + str_rlv_enabled + str_opensim_tag + ") ")); + { + auto viewer_maturity = LLVersionInfo::getInstance()->getFSViewerMaturity(); + if( viewer_maturity == LLVersionInfo::FSViewerMaturity::UNOFFICIAL_VIEWER ) + { + utf8_text.insert(insert_pos, "(Unofficial) "); + } + else if( viewer_maturity != LLVersionInfo::FSViewerMaturity::RELEASE_VIEWER ) + { + utf8_text.insert(insert_pos, "(pre-Release) "); + } + else + { + utf8_text.insert(insert_pos, ("(" + str_address_size_tag + str_operating_system_tag + " " + LLVersionInfo::getInstance()->getShortVersion() + skin_indicator + str_viewer_mode + str_rlv_enabled + str_opensim_tag + ") ")); + } + } } } diff --git a/indra/newview/gltf/primitive.cpp b/indra/newview/gltf/primitive.cpp index 81caff8ab2..67bf3d3578 100644 --- a/indra/newview/gltf/primitive.cpp +++ b/indra/newview/gltf/primitive.cpp @@ -134,6 +134,13 @@ struct MikktMesh idx[1] = tri_idx + 1; idx[2] = tri_idx + 2; } + // unknown mode leaves idx uninitialised + else + { + LL_WARNS("GLTF") << "Unsupported primitive mode for conversion to triangles: " << (S32) prim->mMode << LL_ENDL; + return false; + } + // if (indexed) { diff --git a/indra/newview/llfloateravatar.h b/indra/newview/llfloateravatar.h index b1b504a0ba..6d9a4b1a5a 100644 --- a/indra/newview/llfloateravatar.h +++ b/indra/newview/llfloateravatar.h @@ -43,7 +43,7 @@ private: LLMediaCtrl* mAvatarPicker; // Avatar chooser does not change between OpenSim grids - /*virtual*/ void onOpen(const LLSD& key); + /*virtual*/ void onOpen(const LLSD& key) override; void handleUrlChanged(const std::string& url); boost::signals2::connection mAvatarPickerUrlChangedSignal; diff --git a/indra/newview/llfloaterbump.h b/indra/newview/llfloaterbump.h index 7f618aa324..fff4d95280 100644 --- a/indra/newview/llfloaterbump.h +++ b/indra/newview/llfloaterbump.h @@ -49,7 +49,7 @@ public: void onOpen(const LLSD& key) override; // Instant bump list floater update - /*virtual*/ void draw(); + /*virtual*/ void draw() override; void setDirty() { mDirty = true; } static LLFloaterBump* getInstance(); diff --git a/indra/newview/llfloaterpathfindingcharacters.cpp b/indra/newview/llfloaterpathfindingcharacters.cpp index 0df0e3c9ec..f4829f0352 100644 --- a/indra/newview/llfloaterpathfindingcharacters.cpp +++ b/indra/newview/llfloaterpathfindingcharacters.cpp @@ -36,12 +36,18 @@ #include "llfloaterreg.h" #include "llfloaterpathfindingobjects.h" #include "llhandle.h" +// hacky BOOL workaround +#ifndef BOOL +#define BOOL bool +#endif +// #include "llpathfindingcharacter.h" #include "llpathfindingcharacterlist.h" #include "llpathfindingmanager.h" #include "llpathfindingobject.h" #include "llpathfindingobjectlist.h" #include "llpathinglib.h" +#undef BOOL // hacky BOOL workaround #include "llquaternion.h" #include "llsd.h" #include "lluicolortable.h" diff --git a/indra/newview/llfloaterpathfindingconsole.h b/indra/newview/llfloaterpathfindingconsole.h index bcbc94e10e..fe0a9290ca 100644 --- a/indra/newview/llfloaterpathfindingconsole.h +++ b/indra/newview/llfloaterpathfindingconsole.h @@ -33,9 +33,15 @@ #include "llfloater.h" #include "llhandle.h" +// hacky BOOL workaround +#ifndef BOOL +#define BOOL bool +#endif +// #include "llpathfindingnavmeshzone.h" #include "llpathfindingpathtool.h" #include "llpathinglib.h" +#undef BOOL // hacky BOOL workaround #include "v4color.h" class LLButton; diff --git a/indra/newview/llfloaterregioninfo.cpp b/indra/newview/llfloaterregioninfo.cpp index 0254eaa666..7ffc59a247 100644 --- a/indra/newview/llfloaterregioninfo.cpp +++ b/indra/newview/llfloaterregioninfo.cpp @@ -914,8 +914,6 @@ void LLPanelRegionInfo::initCtrl(const std::string& name) template void LLPanelRegionInfo::initAndSetCtrl(CTRL*& ctrl, const std::string& name) { - // Fix broken initialization - //initCtrl(name); ctrl = findChild(name); if (ctrl) ctrl->setCommitCallback(boost::bind(&LLPanelRegionInfo::onChangeAnything, this)); diff --git a/indra/newview/llpathfindingmanager.cpp b/indra/newview/llpathfindingmanager.cpp index 5e7bc4fb3b..1eb0072eb6 100644 --- a/indra/newview/llpathfindingmanager.cpp +++ b/indra/newview/llpathfindingmanager.cpp @@ -41,6 +41,11 @@ #include "llagent.h" #include "llhttpnode.h" #include "llnotificationsutil.h" +// hacky BOOL workaround +#ifndef BOOL +#define BOOL bool +#endif +// #include "llpathfindingcharacterlist.h" #include "llpathfindinglinkset.h" #include "llpathfindinglinksetlist.h" @@ -48,6 +53,7 @@ #include "llpathfindingnavmeshstatus.h" #include "llpathfindingobject.h" #include "llpathinglib.h" +#undef BOOL // hacky BOOL workaround #include "llsingleton.h" #include "llsd.h" #include "lltrans.h" diff --git a/indra/newview/llpathfindingnavmeshzone.cpp b/indra/newview/llpathfindingnavmeshzone.cpp index 012cc11eee..8f6da9d545 100644 --- a/indra/newview/llpathfindingnavmeshzone.cpp +++ b/indra/newview/llpathfindingnavmeshzone.cpp @@ -38,10 +38,16 @@ #include #include "llagent.h" +// hacky BOOL workaround +#ifndef BOOL +#define BOOL bool +#endif +// #include "llpathfindingmanager.h" #include "llpathfindingnavmesh.h" #include "llpathfindingnavmeshstatus.h" #include "llpathinglib.h" +#undef BOOL // hacky BOOL workaround #include "llsd.h" #include "lluuid.h" #include "llviewercontrol.h" diff --git a/indra/newview/llpathfindingpathtool.h b/indra/newview/llpathfindingpathtool.h index 248af63cf0..943784909f 100644 --- a/indra/newview/llpathfindingpathtool.h +++ b/indra/newview/llpathfindingpathtool.h @@ -29,8 +29,13 @@ #include #include - +// hacky BOOL workaround +#ifndef BOOL +#define BOOL bool +#endif +// #include "llpathinglib.h" +#undef BOOL // hacky BOOL workaround #include "llsingleton.h" #include "lltool.h" diff --git a/indra/newview/llversioninfo.cpp b/indra/newview/llversioninfo.cpp index d66597bf05..5938a1cb51 100644 --- a/indra/newview/llversioninfo.cpp +++ b/indra/newview/llversioninfo.cpp @@ -212,6 +212,47 @@ LLVersionInfo::ViewerMaturity LLVersionInfo::getViewerMaturity() const return maturity; } +// Add FS specific maturity grading +LLVersionInfo::FSViewerMaturity LLVersionInfo::getFSViewerMaturity() const +{ + FSViewerMaturity maturity; + + std::string channel = getChannel(); + + static const boost::regex is_manual_channel("\\bManualx64\\b"); + static const boost::regex is_beta_channel("\\bBetax64\\b"); + static const boost::regex is_alpha_channel("\\bAlphax64\\b"); + static const boost::regex is_release_channel("\\bReleasex64\\b"); + static const boost::regex is_nightly_channel("\\bNightlyx64\\b"); + + if (ll_regex_search(channel, is_release_channel)) + { + maturity = FSViewerMaturity::RELEASE_VIEWER; + } + else if (ll_regex_search(channel, is_beta_channel)) + { + maturity = FSViewerMaturity::BETA_VIEWER; + } + else if (ll_regex_search(channel, is_alpha_channel)) + { + maturity = FSViewerMaturity::ALPHA_VIEWER; + } + else if (ll_regex_search(channel, is_manual_channel)) + { + maturity = FSViewerMaturity::MANUAL_VIEWER; + } + else if (ll_regex_search(channel, is_nightly_channel)) + { + maturity = FSViewerMaturity::NIGHTLY_VIEWER; + } + else + { + maturity = FSViewerMaturity::UNOFFICIAL_VIEWER; + } + return maturity; +} +// + std::string LLVersionInfo::getReleaseNotes() const { return mReleaseNotes; diff --git a/indra/newview/llversioninfo.h b/indra/newview/llversioninfo.h index 1e608ab6a3..d399dde814 100644 --- a/indra/newview/llversioninfo.h +++ b/indra/newview/llversioninfo.h @@ -109,6 +109,20 @@ public: } ViewerMaturity; ViewerMaturity getViewerMaturity() const; +// Add an FS specific viewer maturity enum + using FSViewerMaturity = + enum class FSViewerMaturityEnum + { + UNOFFICIAL_VIEWER=0, + ALPHA_VIEWER, + MANUAL_VIEWER, + BETA_VIEWER, + NIGHTLY_VIEWER, + RELEASE_VIEWER, + }; + FSViewerMaturity getFSViewerMaturity() const; +// + /// get the release-notes URL, once it becomes available -- until then, /// return empty string std::string getReleaseNotes() const; diff --git a/indra/newview/llviewertexturelist.cpp b/indra/newview/llviewertexturelist.cpp index 900c98e4db..a8f41ea41c 100644 --- a/indra/newview/llviewertexturelist.cpp +++ b/indra/newview/llviewertexturelist.cpp @@ -949,11 +949,12 @@ void LLViewerTextureList::updateImageDecodePriority(LLViewerFetchedTexture* imag if (face && face->getViewerObject()) { onFace = true; + F32 vsize = face->getPixelArea(); // Particles do not rez properly F32 radius; F32 cos_angle_to_view_dir; bool in_frustum = face->calcPixelArea(cos_angle_to_view_dir, radius); static LLCachedControl bias_unimportant_threshold(gSavedSettings, "TextureBiasUnimportantFactor", 0.25f); - F32 vsize = face->getPixelArea(); + //F32 vsize = face->getPixelArea(); // Particles do not rez properly // Scale desired texture resolution higher or lower depending on texture scale // diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index 7d8fe79c8e..3a8c66ec1b 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -103,7 +103,13 @@ #include "llmutelist.h" #include "lltoolpie.h" #include "llnotifications.h" +// hacky BOOL workaround +#ifndef BOOL +#define BOOL bool +#endif +// #include "llpathinglib.h" +#undef BOOL // hacky BOOL workaround #include "llfloaterpathfindingconsole.h" #include "llfloaterpathfindingcharacters.h" #include "llfloatertools.h" diff --git a/indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml index 17407720fa..d4ecea2c6e 100644 --- a/indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml +++ b/indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml @@ -70,7 +70,7 @@ - + Punkt. Beleucht. (Neustart erf.): diff --git a/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml index 95d2cbe439..b4b8fc6113 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml @@ -421,7 +421,7 @@ layout="topleft" left_delta="-5" name="local lights_label" - tool_tip="Affects the number of rendered light sources when Advanced Lighting Model is disabled. A restart is required to change mode."> + tool_tip="Affects the number of rendered. A restart is required to change mode."> Point Lighting (restart required)