Merge branch 'master' of https://github.com/FirestormViewer/phoenix-firestorm-atlasaurus
commit
4eab7c2b1c
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -123,7 +123,18 @@ public:
|
|||
static bool destroyInstance(const std::string& name, const LLSD& key = LLSD());
|
||||
|
||||
// Iterators
|
||||
// <FS> ignore dangling reference false positives in gcc13
|
||||
#if defined(__GNUC__) && (__GNUC__ >= 13)
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wdangling-reference"
|
||||
#endif
|
||||
// </FS>
|
||||
static const_instance_list_t& getFloaterList(const std::string& name);
|
||||
// <FS> ignore dangling reference false positives in gcc13
|
||||
#if defined(__GNUC__) && (__GNUC__ >= 13)
|
||||
#pragma GCC diagnostic pop
|
||||
#endif
|
||||
// </FS>
|
||||
|
||||
// Visibility Management
|
||||
// [RLVa:KB] - Checked: 2012-02-07 (RLVa-1.4.5) | Added: RLVa-1.4.5
|
||||
|
|
|
|||
|
|
@ -1656,7 +1656,7 @@ ECursorType LLWindowMacOSX::getCursor() const
|
|||
|
||||
// <FS:LO> 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);
|
||||
|
|
|
|||
|
|
@ -159,7 +159,7 @@ protected:
|
|||
~LLWindowMacOSX();
|
||||
|
||||
//void initCursors();
|
||||
void initCursors(BOOL useLegacyCursors); // <FS:LO> Legacy cursor setting from main program
|
||||
void initCursors(bool useLegacyCursors); // <FS:LO> Legacy cursor setting from main program
|
||||
bool isValid() override;
|
||||
void moveWindow(const LLCoordScreen& position,const LLCoordScreen& size);
|
||||
|
||||
|
|
|
|||
|
|
@ -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 + ") "));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -134,6 +134,13 @@ struct MikktMesh
|
|||
idx[1] = tri_idx + 1;
|
||||
idx[2] = tri_idx + 2;
|
||||
}
|
||||
// <FS:Beq> unknown mode leaves idx uninitialised
|
||||
else
|
||||
{
|
||||
LL_WARNS("GLTF") << "Unsupported primitive mode for conversion to triangles: " << (S32) prim->mMode << LL_ENDL;
|
||||
return false;
|
||||
}
|
||||
// </FS:Beq>
|
||||
|
||||
if (indexed)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ private:
|
|||
LLMediaCtrl* mAvatarPicker;
|
||||
|
||||
// <FS:Ansariel> 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;
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ public:
|
|||
void onOpen(const LLSD& key) override;
|
||||
|
||||
// <FS:Ansariel> Instant bump list floater update
|
||||
/*virtual*/ void draw();
|
||||
/*virtual*/ void draw() override;
|
||||
void setDirty() { mDirty = true; }
|
||||
|
||||
static LLFloaterBump* getInstance();
|
||||
|
|
|
|||
|
|
@ -36,12 +36,18 @@
|
|||
#include "llfloaterreg.h"
|
||||
#include "llfloaterpathfindingobjects.h"
|
||||
#include "llhandle.h"
|
||||
// <FS:Beq> hacky BOOL workaround
|
||||
#ifndef BOOL
|
||||
#define BOOL bool
|
||||
#endif
|
||||
// </FS:Beq>
|
||||
#include "llpathfindingcharacter.h"
|
||||
#include "llpathfindingcharacterlist.h"
|
||||
#include "llpathfindingmanager.h"
|
||||
#include "llpathfindingobject.h"
|
||||
#include "llpathfindingobjectlist.h"
|
||||
#include "llpathinglib.h"
|
||||
#undef BOOL // <FS:Beq/> hacky BOOL workaround
|
||||
#include "llquaternion.h"
|
||||
#include "llsd.h"
|
||||
#include "lluicolortable.h"
|
||||
|
|
|
|||
|
|
@ -33,9 +33,15 @@
|
|||
|
||||
#include "llfloater.h"
|
||||
#include "llhandle.h"
|
||||
// <FS:Beq> hacky BOOL workaround
|
||||
#ifndef BOOL
|
||||
#define BOOL bool
|
||||
#endif
|
||||
// </FS:Beq>
|
||||
#include "llpathfindingnavmeshzone.h"
|
||||
#include "llpathfindingpathtool.h"
|
||||
#include "llpathinglib.h"
|
||||
#undef BOOL // <FS:Beq/> hacky BOOL workaround
|
||||
#include "v4color.h"
|
||||
|
||||
class LLButton;
|
||||
|
|
|
|||
|
|
@ -41,6 +41,11 @@
|
|||
#include "llagent.h"
|
||||
#include "llhttpnode.h"
|
||||
#include "llnotificationsutil.h"
|
||||
// <FS:Beq> hacky BOOL workaround
|
||||
#ifndef BOOL
|
||||
#define BOOL bool
|
||||
#endif
|
||||
// </FS:Beq>
|
||||
#include "llpathfindingcharacterlist.h"
|
||||
#include "llpathfindinglinkset.h"
|
||||
#include "llpathfindinglinksetlist.h"
|
||||
|
|
@ -48,6 +53,7 @@
|
|||
#include "llpathfindingnavmeshstatus.h"
|
||||
#include "llpathfindingobject.h"
|
||||
#include "llpathinglib.h"
|
||||
#undef BOOL // <FS:Beq/> hacky BOOL workaround
|
||||
#include "llsingleton.h"
|
||||
#include "llsd.h"
|
||||
#include "lltrans.h"
|
||||
|
|
|
|||
|
|
@ -139,7 +139,18 @@ void LLPathfindingNavMesh::handleNavMeshResult(const LLSD &pContent, U32 pNavMes
|
|||
ENavMeshRequestStatus status;
|
||||
if ( pContent.has(NAVMESH_DATA_FIELD) )
|
||||
{
|
||||
// <FS> ignore dangling reference false positives in gcc13
|
||||
#if defined(__GNUC__) && (__GNUC__ >= 13)
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wdangling-reference"
|
||||
#endif
|
||||
// </FS>
|
||||
const LLSD::Binary &value = pContent.get(NAVMESH_DATA_FIELD).asBinary();
|
||||
// <FS> ignore dangling reference false positives in gcc13
|
||||
#if defined(__GNUC__) && (__GNUC__ >= 13)
|
||||
#pragma GCC diagnostic pop
|
||||
#endif
|
||||
// </FS>
|
||||
auto binSize = value.size();
|
||||
std::string newStr(reinterpret_cast<const char *>(&value[0]), binSize);
|
||||
std::istringstream streamdecomp( newStr );
|
||||
|
|
|
|||
|
|
@ -38,10 +38,16 @@
|
|||
#include <boost/signals2.hpp>
|
||||
|
||||
#include "llagent.h"
|
||||
// <FS:Beq> hacky BOOL workaround
|
||||
#ifndef BOOL
|
||||
#define BOOL bool
|
||||
#endif
|
||||
// </FS:Beq>
|
||||
#include "llpathfindingmanager.h"
|
||||
#include "llpathfindingnavmesh.h"
|
||||
#include "llpathfindingnavmeshstatus.h"
|
||||
#include "llpathinglib.h"
|
||||
#undef BOOL // <FS:Beq/> hacky BOOL workaround
|
||||
#include "llsd.h"
|
||||
#include "lluuid.h"
|
||||
#include "llviewercontrol.h"
|
||||
|
|
|
|||
|
|
@ -29,8 +29,13 @@
|
|||
|
||||
#include <boost/function.hpp>
|
||||
#include <boost/signals2.hpp>
|
||||
|
||||
// <FS:Beq> hacky BOOL workaround
|
||||
#ifndef BOOL
|
||||
#define BOOL bool
|
||||
#endif
|
||||
// </FS:Beq>
|
||||
#include "llpathinglib.h"
|
||||
#undef BOOL // <FS:Beq/> hacky BOOL workaround
|
||||
#include "llsingleton.h"
|
||||
#include "lltool.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -211,7 +211,47 @@ LLVersionInfo::ViewerMaturity LLVersionInfo::getViewerMaturity()
|
|||
}
|
||||
return maturity;
|
||||
}
|
||||
// <FS:Beq> Add FS specific maturity grading
|
||||
LLVersionInfo::FSViewerMaturity LLVersionInfo::getFSViewerMaturity()
|
||||
{
|
||||
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;
|
||||
}
|
||||
// </FS:Beq>
|
||||
std::string LLVersionInfo::getReleaseNotes()
|
||||
{
|
||||
return mReleaseNotes;
|
||||
|
|
|
|||
|
|
@ -109,6 +109,20 @@ public:
|
|||
} ViewerMaturity;
|
||||
ViewerMaturity getViewerMaturity();
|
||||
|
||||
// <FS:Beq> 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();
|
||||
// </FS:Beq>
|
||||
|
||||
/// get the release-notes URL, once it becomes available -- until then,
|
||||
/// return empty string
|
||||
std::string getReleaseNotes();
|
||||
|
|
|
|||
|
|
@ -103,7 +103,13 @@
|
|||
#include "llmutelist.h"
|
||||
#include "lltoolpie.h"
|
||||
#include "llnotifications.h"
|
||||
// <FS:Beq> hacky BOOL workaround
|
||||
#ifndef BOOL
|
||||
#define BOOL bool
|
||||
#endif
|
||||
// </FS:Beq>
|
||||
#include "llpathinglib.h"
|
||||
#undef BOOL // <FS:Beq/> hacky BOOL workaround
|
||||
#include "llfloaterpathfindingconsole.h"
|
||||
#include "llfloaterpathfindingcharacters.h"
|
||||
#include "llfloatertools.h"
|
||||
|
|
|
|||
|
|
@ -490,7 +490,14 @@ void RlvUtil::filterLocation(std::string& strUTF8Text)
|
|||
{
|
||||
// Filter any mention of the surrounding region names
|
||||
LLWorld::region_list_t regions = LLWorld::getInstance()->getRegionList();
|
||||
#if defined(__GNUC__) && (__GNUC__ >= 13)
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wdangling-reference"
|
||||
#endif
|
||||
const std::string& strHiddenRegion = RlvStrings::getString(RlvStringKeys::Hidden::Region);
|
||||
#if defined(__GNUC__) && (__GNUC__ >= 13)
|
||||
#pragma GCC diagnostic pop
|
||||
#endif
|
||||
for (LLWorld::region_list_t::const_iterator itRegion = regions.begin(); itRegion != regions.end(); ++itRegion)
|
||||
boost::replace_all_regex(strUTF8Text, boost::regex("\\b" + escape_for_regex((*itRegion)->getName()) + "\\b", boost::regex::icase), strHiddenRegion);
|
||||
|
||||
|
|
|
|||
|
|
@ -374,7 +374,14 @@ void RlvHandler::getAttachmentResourcesCoro(const std::string& strUrl)
|
|||
for (LLSD::array_const_iterator itAttachObj = sdAttachObjects.beginArray(), endAttachObj = sdAttachObjects.endArray(); itAttachObj != endAttachObj; ++itAttachObj)
|
||||
{
|
||||
const LLUUID idObj = itAttachObj->get("id").asUUID();
|
||||
#if defined(__GNUC__) && (__GNUC__ >= 13)
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wdangling-reference"
|
||||
#endif
|
||||
const std::string& strObjName = itAttachObj->get("name").asStringRef();
|
||||
#if defined(__GNUC__) && (__GNUC__ >= 13)
|
||||
#pragma GCC diagnostic pop
|
||||
#endif
|
||||
|
||||
// If it's an attachment, it should be a temporary one (NOTE: we might catch it before it's had a chance to attach)
|
||||
const LLViewerObject* pObj = gObjectList.findObject(idObj);
|
||||
|
|
|
|||
|
|
@ -1425,6 +1425,9 @@ class Darwin_x86_64_Manifest(ViewerManifest):
|
|||
idnadir = os.path.join(pkgdir, "lib", "python", "idna")
|
||||
|
||||
with self.prefix(src="", dst="Contents"): # everything goes in Contents
|
||||
with self.prefix(dst="MacOS"):
|
||||
executable = self.dst_path_of("Firestorm") # locate the executable within the bundle.
|
||||
|
||||
bugsplat_db = self.args.get('bugsplat')
|
||||
print(f"debug: bugsplat_db={bugsplat_db}")
|
||||
if bugsplat_db:
|
||||
|
|
@ -1535,10 +1538,11 @@ class Darwin_x86_64_Manifest(ViewerManifest):
|
|||
self.path(libfile)
|
||||
|
||||
oldpath = os.path.join("@rpath", libfile)
|
||||
print(f"debug: oldpath={oldpath} executable={executable} libfile={libfile}")
|
||||
self.run_command(
|
||||
['install_name_tool', '-change', oldpath,
|
||||
'@executable_path/../Resources/%s' % libfile,
|
||||
executable])
|
||||
['install_name_tool', '-change',
|
||||
oldpath,
|
||||
'@executable_path/../Resources/%s' % libfile, executable])
|
||||
|
||||
# dylibs is a list of all the .dylib files we expect to need
|
||||
# in our bundled sub-apps. For each of these we'll create a
|
||||
|
|
@ -1952,6 +1956,7 @@ class Darwin_x86_64_Manifest(ViewerManifest):
|
|||
for tries in range(10):
|
||||
try:
|
||||
self.run_command(['hdiutil', 'detach', '-force', devfile])
|
||||
break # Exit loop if detach worked
|
||||
except ManifestError as err:
|
||||
print(f"detach failed on attempt {tries}")
|
||||
time.sleep(1)
|
||||
|
|
|
|||
Loading…
Reference in New Issue