summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-05-27res-sdl cursor tweakssecretfoxtail
misc adjustments to some of the red-sdl cursors
2025-05-27Exempt logging that prints build-time path on FBSDErik Kundiman
2025-05-27Pass configuration phase with vcpkg replacing MSYS2Erik Kundiman
I happen to be using just Git Bash for convenience for running the commands on the Windows build instructions, hence the build folder pattern to be ignored from the result of running `uname -s` there. The instructions omit the part where you install vcpkg and set the VCPKG_ROOT environment variable, cause it depends on where you install vcpkg to your liking, but the next commands will rely on that variable being set correctly. The CMake used here is MS VS 2022 Community Edition's one, since it will know where the C++ compiler is. $VCPKG_ROOT/downloads/tools/msys2/21caed2f81ec917b/mingw64/bin is where pkg-config.exe can be found. $VCPKG_ROOT/installed/`uname -m|sed 's/86_//'`-windows/tools/libxml2 is where xmllint.exe can be found (from libxml2[tools]). PKG_CONFIG_LIBDIR and PYTHON environment settings are pretty self-explanatory. The flags set on LL_BUILD are now for Visual C++ and not MinGW(64)'s GCC or Clang any more, and copied from most of the flags in the variables file from LL's build-variables repo. vcpkg's apr & apr-util packages don't seem to install their .pc files, hence the manual target_include/link_directories/libraries settings, relying on some automatically generated INTERNAL CMake variable called prefix_result. vcpkg's Boost needs the same treatment, plus some suffix. We still use LL's prebuilt libs for OpenSSL, libcurl and WebRTC. Actually too for ColladaDOM for now, but we prepare Windows ColladaDOM self-building for later. For GLM and Meshoptimizer too, it's just the checking that's skipped otherwise it would fail (but the vcpkg packages can be used). Visual C++ doesn't recognise the no-deprecated-declarations compile option. On Visual C++, the macro to denote x86-64 seems to be _M_X64 (if not added there, it would try to find sse2neon :)) We still aren't using Autobuild here for Windows either, hence the FALSE-d viewer_manifest.py based file bundling.
2025-05-27Add missing FBSD building steps & fix its depsErik Kundiman
Even though the windlight file names containing %20 & %21 isn't liked by either CPack or FBSD packaging problem will eventually have to be solved, the hack steps are small that they should just be documented, in case (more) others would like to build the FBSD package. Use custom PYTHON environment setting instead of relying on creating links named python and/or python 3 to the system Python executable. Reorder build requirements, add missing dependencies that can be set to automatically installed. The absences of some were leftovers from dependency on system ColladaDOM and GTK2 (or my failure to add some package names to the CPack dependencies, caused by the gtk2 vs. gtk20, apr vs. apr1, sdl2 vs. sdl20, etc. FBSD package/port naming confusion).
2025-05-26Make appdelegate-objc compilable again on MontereyErik Kundiman
where the Xcode version is 14.2 and the SDK version is MacOSX13.1, by specifically excluding llappdelegate-objc.mm from being compiled using the C++20 standard. In this case, the standard is reverted to C++17 but specifically only for that file. The errors didn't happen on newer SDK versions such as the one in Sonoma or Sequoia, and the errors looked completely unrelatable: /Users/erik/Documents/Megapahit/viewer/indra/llwindow/llopenglview-objc.h:36:41: warning: cannot find protocol definition for 'NSTextInputClient' @interface LLOpenGLView : NSOpenGLView <NSTextInputClient> ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextInputClient.h:20:11: note: protocol 'NSTextInputClient' has no definition @protocol NSTextInputClient ^ In file included from /Users/erik/Documents/Megapahit/viewer/indra/newview/llappdelegate-objc.mm:27: /Users/erik/Documents/Megapahit/viewer/indra/llwindow/llappdelegate-objc.h:30:38: warning: cannot find protocol definition for 'NSApplicationDelegate' @interface LLAppDelegate : NSObject <NSApplicationDelegate> { ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:318:11: note: protocol 'NSApplicationDelegate' has no definition @protocol NSApplicationDelegate <NSObject> ^ /Users/erik/Documents/Megapahit/viewer/indra/newview/llappdelegate-objc.mm:49:27: warning: instance method '-release' not found (return type defaults to 'id') [-Wobjc-method-access] [currentInputLanguage release]; ^~~~~~~ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSString.h:99:12: note: receiver is instance of class declared here @interface NSString : NSObject <NSCopying, NSMutableCopying, NSSecureCoding> ^ /Users/erik/Documents/Megapahit/viewer/indra/newview/llappdelegate-objc.mm:107:33: warning: instance method '-UTF8String' not found (return type defaults to 'id') [-Wobjc-method-access] const char* url_utf8 = [url UTF8String]; ^~~~~~~~~~ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSString.h:99:12: note: receiver is instance of class declared here @interface NSString : NSObject <NSCopying, NSMutableCopying, NSSecureCoding> ^ /Users/erik/Documents/Megapahit/viewer/indra/newview/llappdelegate-objc.mm:107:17: error: cannot initialize a variable of type 'const char *' with an rvalue of type 'id' const char* url_utf8 = [url UTF8String]; ^ ~~~~~~~~~~~~~~~~ /Users/erik/Documents/Megapahit/viewer/indra/newview/llappdelegate-objc.mm:140:38: warning: instance method '-stopModal' not found (return type defaults to 'id') [-Wobjc-method-access] [[NSApplication sharedApplication] stopModal]; ^~~~~~~~~ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:158:12: note: receiver is instance of class declared here @interface NSApplication : NSResponder <NSUserInterfaceValidations, NSMenuItemValidation, NSAccessibilityElement, NSAccessibility> ^ /Users/erik/Documents/Megapahit/viewer/indra/newview/llappdelegate-objc.mm:144:15: warning: instance method '-release' not found (return type defaults to 'id') [-Wobjc-method-access] [frameTimer release]; ^~~~~~~ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSTimer.h:10:12: note: receiver is instance of class declared here @interface NSTimer : NSObject ^ /Users/erik/Documents/Megapahit/viewer/indra/newview/llappdelegate-objc.mm:157:15: warning: instance method '-release' not found (return type defaults to 'id') [-Wobjc-method-access] [frameTimer release]; ^~~~~~~ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSTimer.h:10:12: note: receiver is instance of class declared here @interface NSTimer : NSObject ^ /Users/erik/Documents/Megapahit/viewer/indra/newview/llappdelegate-objc.mm:158:38: warning: instance method '-terminate:' not found (return type defaults to 'id') [-Wobjc-method-access] [[NSApplication sharedApplication] terminate:self]; ^~~~~~~~~ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:158:12: note: receiver is instance of class declared here @interface NSApplication : NSResponder <NSUserInterfaceValidations, NSMenuItemValidation, NSAccessibilityElement, NSAccessibility> ^ /Users/erik/Documents/Megapahit/viewer/indra/newview/llappdelegate-objc.mm:206:35: error: declaration of 'arrayWithObjects:count:' is missing in NSArray class NSArray* nonRomanScript = @[@"ja", @"ko", @"zh-Hant", @"zh-Hans"]; ^ /Users/erik/Documents/Megapahit/viewer/indra/newview/llappdelegate-objc.mm:207:29: warning: instance method '-containsObject:' not found (return type defaults to 'id') [-Wobjc-method-access] if ([nonRomanScript containsObject:currentInputLanguage]) ^~~~~~~~~~~~~~ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSArray.h:17:12: note: receiver is instance of class declared here @interface NSArray<__covariant ObjectType> : NSObject <NSCopying, NSMutableCopying, NSSecureCoding, NSFastEnumeration> ^ /Users/erik/Documents/Megapahit/viewer/indra/newview/llappdelegate-objc.mm:40:17: warning: method 'isEqual:' in protocol 'NSObject' not implemented [-Wprotocol] @implementation LLAppDelegate ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/objc/NSObject.h:17:1: note: method 'isEqual:' declared here - (BOOL)isEqual:(id)object; ^ /Users/erik/Documents/Megapahit/viewer/indra/newview/llappdelegate-objc.mm:40:17: warning: method 'class' in protocol 'NSObject' not implemented [-Wprotocol] @implementation LLAppDelegate ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/objc/NSObject.h:21:1: note: method 'class' declared here - (Class)class OBJC_SWIFT_UNAVAILABLE("use 'type(of: anObject)' instead"); ^ /Users/erik/Documents/Megapahit/viewer/indra/newview/llappdelegate-objc.mm:40:17: warning: method 'self' in protocol 'NSObject' not implemented [-Wprotocol] @implementation LLAppDelegate ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/objc/NSObject.h:22:1: note: method 'self' declared here - (instancetype)self; ^ /Users/erik/Documents/Megapahit/viewer/indra/newview/llappdelegate-objc.mm:40:17: warning: method 'performSelector:' in protocol 'NSObject' not implemented [-Wprotocol] @implementation LLAppDelegate ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/objc/NSObject.h:24:1: note: method 'performSelector:' declared here - (id)performSelector:(SEL)aSelector; ^ /Users/erik/Documents/Megapahit/viewer/indra/newview/llappdelegate-objc.mm:40:17: warning: method 'performSelector:withObject:' in protocol 'NSObject' not implemented [-Wprotocol] @implementation LLAppDelegate ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/objc/NSObject.h:25:1: note: method 'performSelector:withObject:' declared here - (id)performSelector:(SEL)aSelector withObject:(id)object; ^ /Users/erik/Documents/Megapahit/viewer/indra/newview/llappdelegate-objc.mm:40:17: warning: method 'performSelector:withObject:withObject:' in protocol 'NSObject' not implemented [-Wprotocol] @implementation LLAppDelegate ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/objc/NSObject.h:26:1: note: method 'performSelector:withObject:withObject:' declared here - (id)performSelector:(SEL)aSelector withObject:(id)object1 withObject:(id)object2; ^ /Users/erik/Documents/Megapahit/viewer/indra/newview/llappdelegate-objc.mm:40:17: warning: method 'isProxy' in protocol 'NSObject' not implemented [-Wprotocol] @implementation LLAppDelegate ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/objc/NSObject.h:28:1: note: method 'isProxy' declared here - (BOOL)isProxy; ^ /Users/erik/Documents/Megapahit/viewer/indra/newview/llappdelegate-objc.mm:40:17: warning: method 'isKindOfClass:' in protocol 'NSObject' not implemented [-Wprotocol] @implementation LLAppDelegate ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/objc/NSObject.h:30:1: note: method 'isKindOfClass:' declared here - (BOOL)isKindOfClass:(Class)aClass; ^ /Users/erik/Documents/Megapahit/viewer/indra/newview/llappdelegate-objc.mm:40:17: warning: method 'isMemberOfClass:' in protocol 'NSObject' not implemented [-Wprotocol] @implementation LLAppDelegate ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/objc/NSObject.h:31:1: note: method 'isMemberOfClass:' declared here - (BOOL)isMemberOfClass:(Class)aClass; ^ /Users/erik/Documents/Megapahit/viewer/indra/newview/llappdelegate-objc.mm:40:17: warning: method 'conformsToProtocol:' in protocol 'NSObject' not implemented [-Wprotocol] @implementation LLAppDelegate ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/objc/NSObject.h:32:1: note: method 'conformsToProtocol:' declared here - (BOOL)conformsToProtocol:(Protocol *)aProtocol; ^ /Users/erik/Documents/Megapahit/viewer/indra/newview/llappdelegate-objc.mm:40:17: warning: method 'respondsToSelector:' in protocol 'NSObject' not implemented [-Wprotocol] @implementation LLAppDelegate ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/objc/NSObject.h:34:1: note: method 'respondsToSelector:' declared here - (BOOL)respondsToSelector:(SEL)aSelector; ^ /Users/erik/Documents/Megapahit/viewer/indra/newview/llappdelegate-objc.mm:40:17: warning: method 'retain' in protocol 'NSObject' not implemented [-Wprotocol] @implementation LLAppDelegate ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/objc/NSObject.h:36:1: note: method 'retain' declared here - (instancetype)retain OBJC_ARC_UNAVAILABLE; ^ /Users/erik/Documents/Megapahit/viewer/indra/newview/llappdelegate-objc.mm:40:17: warning: method 'release' in protocol 'NSObject' not implemented [-Wprotocol] @implementation LLAppDelegate ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/objc/NSObject.h:37:1: note: method 'release' declared here - (oneway void)release OBJC_ARC_UNAVAILABLE; ^ /Users/erik/Documents/Megapahit/viewer/indra/newview/llappdelegate-objc.mm:40:17: warning: method 'autorelease' in protocol 'NSObject' not implemented [-Wprotocol] @implementation LLAppDelegate ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/objc/NSObject.h:38:1: note: method 'autorelease' declared here - (instancetype)autorelease OBJC_ARC_UNAVAILABLE; ^ /Users/erik/Documents/Megapahit/viewer/indra/newview/llappdelegate-objc.mm:40:17: warning: method 'retainCount' in protocol 'NSObject' not implemented [-Wprotocol] @implementation LLAppDelegate ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/objc/NSObject.h:39:1: note: method 'retainCount' declared here - (NSUInteger)retainCount OBJC_ARC_UNAVAILABLE; ^ /Users/erik/Documents/Megapahit/viewer/indra/newview/llappdelegate-objc.mm:40:17: warning: method 'zone' in protocol 'NSObject' not implemented [-Wprotocol] @implementation LLAppDelegate ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/objc/NSObject.h:41:1: note: method 'zone' declared here - (struct _NSZone *)zone OBJC_ARC_UNAVAILABLE; ^ /Users/erik/Documents/Megapahit/viewer/indra/newview/llappdelegate-objc.mm:374:12: warning: 'NSApplication' may not respond to 'sendEvent:' [super sendEvent:event]; ~~~~~ ^ /Users/erik/Documents/Megapahit/viewer/indra/newview/llappdelegate-objc.mm:377:27: warning: 'NSWindow' may not respond to 'sendEvent:' [[self keyWindow] sendEvent:event]; ~~~~~~~~~~~~~~~~ ^
2025-05-25Install libvk_swiftshader.so to system lib folderErik Kundiman
Thank you Fritigern Gothly for noticing this lot of GPU/EGL and/or shader related errors. After the Megapahit process have exited, she still saw the system trying to find Vulkan libs in the Megapahit installation folder, [0522/173723.156996:FATAL:gpu_init.cc(500)] Passthrough is not supported, GL is angle, ANGLE is swiftshader Warning: Couldn't load Vulkan. Searched /usr/libexec/megapahit/libvk_swiftshader.so, /usr/lib/x86_64-linux-gnu/libvk_swiftshader.so, /usr/libexec/megapahit/libvk_swiftshader.so, libvk_swiftshader.so. at operator() (../../third_party/dawn/src/dawn/nativWarning: Couldn't load Vulkan. Searched /usr/libexec/megapahit/libvk_swiftshader.so, /usr/lib/x86_64-linux-gnu/libvk_swiftshadere/vulkan/BackendVk.cpp:299) at Initialize (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:310) at Create (..so, /usr/libexec/megapahit/libvk_swiftshader.so, libvk_swiftshader.so. at operator() (../../third_party/dawn/src/dawn/nativ./../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:266) at operator() (../../third_party/dawn/src/dawn/native/vulkane/vulkan/BackendVk.cpp:299) at Initialize (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:310) at Create (./BackendVk.cpp:521) ./../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:266) at operator() (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:521) Warning: Couldn't load Vulkan. Searched /usr/libexec/megapahit/libvk_swiftshader.so, /usr/lib/x86_64-linux-gnu/libvk_swiftshader.so, /usr/libexec/megapahit/libvk_swiftshader.so, libvk_swiftshader.so. at operator() (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:299) at Initialize (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:310) at Create (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:266) at operator() (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:521) Since SwiftShader doesn't seem to be available on Linux distro repos, it's going to have to be bundled and just placed in normal paths since it wouldn't conflict, instead of having some SwiftShader system library being pulled.
2025-05-24Fix mouselook attachment offsetsecretfoxtail
Disable shortening avatar skeleton in mouselook like other TPVs
2025-05-24Slightly faster avatar zoom insecretfoxtail
bump ANIM_METERS_PER_SECOND to 20.0
2025-05-14Revert "Revert to LL's OpenJPEG fork"Erik Kundiman
This reverts commit 3a36cdf6ebd9d2795bdcd14162f38df568d51796.
2025-05-13Include Expat *before* APR when configuring depsErik Kundiman
On some platforms where there's no such system library, and no prebuilt binaries for them, Expat needs to be built first before APR, because apr-util depends on Expat.
2025-05-13GNU sed editing in place syntax without repetitionErik Kundiman
2025-05-13Reduce 2-line CPack settings clutter to 1-linesErik Kundiman
2025-05-13Lose the not really required double quotesErik Kundiman
on the CMake string match tests.
2025-05-13Like the previous commit, except the oppositeErik Kundiman
cause this one spans a bit far, that we need to set some value in the parentheses as a reminder.
2025-05-13Empty CMake elses & endifs parenthesesErik Kundiman
to make it more flexible the next time a value in the if's parentheses gets changed again, and also to reduce duplicate pattern matches when grepping those CMake files with certain keywords.
2025-05-13Not rely on (LL_)USESYSTEMLIBS macro & CMake settingErik Kundiman
but the fact that we keep on using as many system libraries as we can (and only resort to other sources in certain cases), hasn't changed, of course. Also stop having to set USE_AUTOBUILD_3P to OFF. Lines are reindented, and when a system library can be found for a dependency, then that should be the way. If later we find out that using some other way is better, than stick to that. So, one option at a time, whichever is best for the situation. GLEXT hasn't been used, and in order to be not having to hack its .cmake file, we bypass it and refer to GLH (which is still used) right away in LLWindow. CMake commands that need to be bypassed, if it's a one-liner then it's just commented out, but if it's multiple lines, then scope them with if (FALSE) to minimise difference.
2025-05-12Not redeclare DOM/DAE classes in any conditionErik Kundiman
They haven't been used anyway because of LL_USESYSTEMLIBS (before), and it still works even though we reverted to using LL's fork in ColladaDOM's case, by building the fork instead of using any system library vanilla version.
2025-05-12Similar to commit 2a57b9 but for xxHashErik Kundiman
2025-05-12Similar to commit 0500c7 but for libjpeg(-turbo)Erik Kundiman
2025-05-12Not rely on LL_USESYSTEMLIBS for choosing zlib implErik Kundiman
with the effect of choosing zlib over zlib-ng in any condition, which has been the case so far. But this opens the way to relying on some other condition, such as which platform, for deciding whether we can use zlib-ng or not, instead of zlib. So we can freely use, for example LL's prebuilt, zlib-ng while still using system libraries for others.
2025-05-12Unencapsulated Meshoptimizer headers in any conditionErik Kundiman
Pretty much similar to the previous commit (especially that the the encapsulating directory, in cases where LL's prebuilt is used, is already a searched directory by the last line in its .cmake file), except there had never been any use of LL_USESYSTEMLIBS for this one, so just replacing the single upstream lines would be the minimal difference.
2025-05-12Have unencapsulated Expat headers in any conditionErik Kundiman
The only condition where Expat headers would be encapsulated is when using LL's Autobuild-based prebuilt libraries, and we're never using any of LL's prebuilt binary for Expat on desktop, since Expat is practically available on any supported desktop platform. The system Expat headers are never encapsulated in any of those platforms. This is the beginning of not relying on the LL_USESYSTEMLIBS macro any more (eventually not relying on the custom USESYSTEMLIBS CMake setting either). Keeping the build system still flexible to have the option to use LL's prebuilt libraries *fully* (we still use some of them in cases where the platform may not have the related system library or for convenience, so the term USESYSTEMLIBS may not always be consistent), is getting harder to maintain. The way it's done is using #if 1, in order to minimise difference from upstream.
2025-05-11Remove unneeded RLV_VERIFY + undefine accidental RLV_DEBUG define (should ↵Kitty Barnett
fix Linux build)
2025-05-11Replace None and Success. Those are X11 defines and thus lead to compile errorsNicky
when compiling a Linux viewer.
2025-05-11Mac build fixes: Reapply the template fix in rlvhelper.h + point to ↵Kitty Barnett
LLFloaterReg in the global namespace
2025-05-11Fix tab vs whitespace lineKitty Barnett
2025-05-11Add proper file headersKitty Barnett
2025-05-11Don't compose emojis on the RLVa console inputKitty Barnett
2025-05-11Add the RLVa menuKitty Barnett
2025-05-11Add the RLVa consoleKitty Barnett
2025-05-11Add the @getcommand command query reply commandKitty Barnett
2025-05-11Add basic scaffolding to support reply commands and handle @versionXXX as an ↵Kitty Barnett
illustration
2025-05-11Add owner say chat hookKitty Barnett
2025-05-11Minimal code needed to add RLVa with an on/off toggleKitty Barnett
2025-05-08Build Dullahan in Linux aarch64 config stageErik Kundiman
GCC needs cstdint header inclusion for it to compile. include/cef needs to exist first otherwise configuration would fail. INSTALL_RPATH is needed in try_compile-ing. PROJECT_ARCH needs to be set on aarch64 to avoid -m64 and -march(=x86-64) settings which aren't recognised (and wouldn't be correct) on aarch64. ENABLE_CXX11_ABI needs to be set ON, otherwise it would use C++ 03's ABI and cause a linking failure. Dullahan headers don't seem to be included in the installation upstream, and dullahan_version.h gets generated only at least after Dullahan configuration, hence the 2 files copying. dullahan_host rpath removal is taken out of scope because the Fedora we support isn't only x86-64 now. The reindentations are just to make the uniform with the rest in the file.
2025-05-08Fix "Too many fragment shader texture samplers"Erik Kundiman
Linux on M1 crash, caused by PBR Terrain. M1 only supports 16 image samplers in the fragment shader (GL_MAX_TEXTURE_IMAGE_UNITS). That's why we need to be able to mask RenderTerrainPBRDetail on Linux too by adding it to an also added TexUnit16orLess list to its feature table, and to the graphic settings lists above it in the file.
2025-04-27Add dependency on libgles-dev on Debian/UbuntuErik Kundiman
Thanks to Jenni Windrider for the bug report and solution. On startup, the log gets flooded with: [0426/150813.911339:ERROR:viz_main_impl.cc(196)] Exiting GPU process due to errors during initialization [0426/150813.918965:ERROR:egl_util.cc(44)] Failed to load GLES library: /usr/lib/x86_64-linux-gnu/libGLESv2.so: /usr/lib/x86_64-linux-gnu/libGLESv2.so: cannot open shared object file: No such file or directory doing a ls shows there's indeed no libGLESv2.so: ll /usr/lib/x86_64-linux-gnu/libGLESv2* - rw-r--r-- root root 110.39K 18.Mar'25 15:10  libGLESv2_nvidia.so.2 - rw-r--r-- root root 110.39K 18.Mar'25 15:10  libGLESv2_nvidia.so.570.133.07 - rw-r--r-- root root 70.30K 08.Apr'24 10:04  libGLESv2.so.2 - rw-r--r-- root root 70.30K 08.Apr'24 10:04  libGLESv2.so.2.1.0 The package that provides this isn't installed by default: apt-file search libGLESv2.so libgles-dev: /usr/lib/x86_64-linux-gnu/libGLESv2.so So installing libgles-dev fixes that.
2025-04-27Replace {.._DIR}/lib/release with ARCH_PREBUILT_DIRS_RELEASEErik Kundiman
Shorter.
2025-04-27Replace USE_AUTOBUILD_3P OR USE_CONAN with USESYSTEMLIBSErik Kundiman
Simpler.
2025-04-27Reseparate target_include_directories condition checkErik Kundiman
The two conditions might not be exclusive for some platforms (in another branch).
2025-04-27Config libcurl install dirs so it can make installErik Kundiman
Same as reason as previous commit, plus the moving of OpenSSL libs up 1 directory is still needed.
2025-04-27Config OpenSSL install dirs so it can make installErik Kundiman
so there's no need to have the long list of installed files. openssldir is set to isolate the files so they won't pollute the packages directory (which could lead to confusion).
2025-04-27One Collada DOM try_compile for all platformsErik Kundiman
On macOS, it's static library too, now, hence the stream editing is done out of any platform scope (which it's still needed because BUILD_SHARED_LIBS is ignored), and the (so)versions don't need to be set any more. CMAKE_INSTALL_LIBDIR is also ignored, hence the libcollada14dom.a moving.
2025-04-27One OpenJPEG try_compile for all OSesErik Kundiman
Same as previous commits, plus reminding CMAKE_BUILD_WITH_INSTALL_RPATH needs to be set ON otherwise there would be configure error on FreeBSD, plus the codec executables aren't needed (they would encounter linking errors on FreeBSD, because /usr/local/lib isn't automatically added as a header search directory). By default OpenJPEG installation header directory is "openjpeg-2.5", hence the renaming. The 3 non-API headers are copied, still.
2025-04-27Explicit significant NDOF try_compile settingsErik Kundiman
and use ARCH_PREBUILT_DIRS_RELEASE for shortening paths.
2025-04-27Back to one Meshoptimizer try_compile for all OSesErik Kundiman
CMAKE_OSX_ARCHITECTURES & CMAKE_OSX_DEPLOYMENT_TARGET won't affect non-macOS. Settings such as those 2, and CMAKE_BUILD_TYPE, aren't inherited, so the significant ones should be set explicitly. Meshoptimizer default installation header directory is without the encapsulating "meshoptimizer" directory.
2025-04-27Suppress repetitive SSE2NEON warnings on macOSErik Kundiman
2025-04-25Unset CFLAGS after building libcurlErik Kundiman
so that the C90 standard setting is not used when compiling other dependencies such as OpenJPEG.
2025-04-22Exempt Gentoo from PipeWire tooErik Kundiman
Pipewire in Portage has been upgraded from 1.2.7 to 1.4.2 recently. Among our supported distros, Debian and Ubuntu are the only ones left whose Pipewire versions are still 1.2.7, hence the changed logics.
2025-04-22Adjust Arch build instruction to have NDOF onErik Kundiman
Our Arch builds have been having NDOF enabled all this time.