Commit Graph

534 Commits

Author SHA1 Message Date
Alexis Maiquez
061b3bd2e8
Merge 2d6675db0b into be0fc25e72 2025-09-11 15:10:29 +00:00
Almamu
2d6675db0b refactor: overhaul the filesystem layer 2025-09-11 17:10:23 +02:00
Almamu
822891008d fix: casts on old ffmpeg versions 2025-09-05 03:45:48 +02:00
Almamu
8012056342 chore: update to C++20 and take into account endianness 2025-09-05 03:28:25 +02:00
Almamu
896cfe2c4c chore: moved texture assets parsing into the data model too 2025-09-05 01:56:22 +02:00
Almamu
bf44e7d7f0 chore: fix inconsistencies 2025-09-02 00:55:28 +02:00
Almamu
bf74a94420 chore: remove magic string values in favour of enums in Material info 2025-09-02 00:28:34 +02:00
Almamu
b66610cc26 chore: few codefactor issues 2025-09-01 21:41:20 +02:00
Almamu
4c6cfb356c chore: few codefactor issues 2025-09-01 21:40:06 +02:00
Almamu
fd0f142517 chore: detect non-string textures and fix null terminator on custom shaders 2025-08-31 15:05:52 +02:00
Almamu
d6bcd62d1a fix: visibility wasn't entirely right, move dependant elements up the render chain 2025-08-31 14:51:32 +02:00
Almamu
9c62125a1f chore: add parsing of usertextures 2025-08-23 17:42:01 +02:00
Almamu
fc865499fc chore: remove some debug messages that are not useful anymore 2025-08-23 06:17:32 +02:00
Almamu
af02d82ea9 chore: remove annoying debug message that's not needed anymore 2025-08-23 06:12:19 +02:00
Almamu
f400b2abd9 chore: replace old properties with ones following the new model 2025-08-23 06:09:53 +02:00
Almamu
fae2b5e01e chore: parse hex colors in properties 2025-08-20 01:41:01 +02:00
Almamu
cf3774c481 chore: more fixes for visibility + camerashake can be a user setting 2025-08-20 01:12:28 +02:00
Almamu
ce51cd23fa chore: fix default uniform values not being applied in the right order 2025-08-20 00:46:11 +02:00
Almamu
e3e377ecdd chore: fix combo names not being uppercase when they should be 2025-08-20 00:02:42 +02:00
Almamu
d6831ad40f chore: bring back support for pass commands 2025-08-19 21:44:25 +02:00
Almamu
4dc9a61223 chore: cleanup of properties, dynamic values and shader variables 2025-08-19 19:51:19 +02:00
Almamu
806b65b490 chore: cleanup old Core stuff + update shader constant to use user settings as they should 2025-08-19 10:35:33 +02:00
Almamu
2eefc7ff64 chore: update to latest glslang-WallpaperEngine version 2025-08-17 19:13:03 +02:00
Almamu
303a2b5624 chore: DynamicValues now keep track of current type, colors should be converted to vec4/ivec4 upon reading so alpha is correct, keep combo overrides too 2025-08-15 07:20:15 +02:00
Almamu
04c85bebe4 chore: fix audio processing detection 2025-08-15 01:04:32 +02:00
Almamu
1a3f789cee chore: fix binds loading, more fixes on pass overrides, should cleanup soon 2025-08-15 00:53:11 +02:00
Almamu
ace1282522 chore: cleanup bloom effect code 2025-08-15 00:09:31 +02:00
Almamu
aa44d88a2b fix: pass overrides 2025-08-14 23:47:21 +02:00
Almamu
958c97f791 fix: parsing tex0004 2025-08-14 01:56:00 +02:00
Almamu
e5355d0013 fix: small mistakes in parsing (fbos not taken into account, values not validated, failed to parse properties not ignored) 2025-08-14 01:55:39 +02:00
Almamu
2569960681 refactor: update render to use new data model 2025-08-14 00:47:27 +02:00
Almamu
73f716da84 refactor: new project parser 2025-08-12 03:36:44 +02:00
Almamu
be0fc25e72 chore: better error reporting for parameters, highlighting --help usage. fixess #303 and should improve #275
Some checks failed
CMake / build-x11 (ubuntu-22.04) (push) Has been cancelled
CMake / build-x11 (ubuntu-24.04) (push) Has been cancelled
CMake / build-x11-wayland (ubuntu-22.04) (push) Has been cancelled
CMake / build-x11-wayland (ubuntu-24.04) (push) Has been cancelled
CMake / build-wayland (ubuntu-22.04) (push) Has been cancelled
CMake / build-wayland (ubuntu-24.04) (push) Has been cancelled
2025-05-17 03:23:05 +02:00
Almamu
3c334aac29 chore: better error reporting after fix for #300
Some checks failed
CMake / build-x11 (ubuntu-22.04) (push) Has been cancelled
CMake / build-x11 (ubuntu-24.04) (push) Has been cancelled
CMake / build-x11-wayland (ubuntu-22.04) (push) Has been cancelled
CMake / build-x11-wayland (ubuntu-24.04) (push) Has been cancelled
CMake / build-wayland (ubuntu-22.04) (push) Has been cancelled
CMake / build-wayland (ubuntu-24.04) (push) Has been cancelled
2025-05-15 22:28:23 +02:00
Almamu
555b488951 fix: make background id optional so usages of -b, --bg do not require a fallback background (as expected) fixes #300 2025-05-15 22:20:20 +02:00
Almamu
8b131fefb2 chore: add another mention of the site in the README.md
Some checks failed
Arch Linux AUR Package Update / publish (push) Has been cancelled
CMake / build-x11 (ubuntu-22.04) (push) Has been cancelled
CMake / build-x11 (ubuntu-24.04) (push) Has been cancelled
CMake / build-x11-wayland (ubuntu-22.04) (push) Has been cancelled
CMake / build-x11-wayland (ubuntu-24.04) (push) Has been cancelled
CMake / build-wayland (ubuntu-22.04) (push) Has been cancelled
CMake / build-wayland (ubuntu-24.04) (push) Has been cancelled
2025-05-10 22:02:53 +02:00
Almamu
ccdb0576d1 chore: fix for workflows 2025-05-10 21:59:19 +02:00
Almamu
5e9dce8977 chore: add support for manually running the arch package build and ensure it only runs on pushes to main 2025-05-10 21:51:41 +02:00
Alexis Maiquez
e12771b10e
chore: improve workflow running conditions so not everything is run unless needed (#297) 2025-05-10 21:08:55 +02:00
Zebra2711
9cb2e60960
fix: error while loading shared libraries (#296)
Add the linux-wallpaperengine library directory to the LD_LIBRARY_PATH

    The linker cannot find the required library because it is not located
    in the standard system paths. This results in the following error:

    ./linux-wallpaperengine: error while loading shared libraries:
    libkissfft-float.so.131: cannot open shared object file: No such
    file or directory
2025-05-10 21:00:13 +02:00
Almamu
8881996143 chore: ignore some warnings on release build on arch PKGBUILD 2025-05-10 20:24:00 +02:00
Alexis Maiquez
7bffcded09
feat: make custom version of glslang to improve shader compatibility + random improvements (#291)
* feat: added glslang and spirv-core for handling shaders, should provide better results than current systems

* fix: brought back proper include placement, should fix some shaders not working

* chore: dial down required version to 330

* fix: crash when taking screenshot

* fix: use glReadnPixels for X11 copying to be more memory safe

* chore: reverted part of last commit

* chore: delay initialization of browser until it's used once

* chore: do not initialize web browser unless explicitly needed

* chore: cleanup filesystem functions to use containers directly

* chore: memory cleanup fixes

* chore: fix glReadPixels for older opengl versions

* chore: remove shader patches as they shouldn't be needed anymore

* chore: initialise variables

* chore: update deps, actions and readme

* chore: make use of custon glslang and SPIRV-Cross

* Revert "chore: update deps, actions and readme"

This reverts commit c3fbc9340b.

* chore: update actions to include submodules

* chore: do not depend on SPIRV-Tools

* fix: added log10 macro

* feat: update to latest glslang (swizzle and vec2/vec3/vec4 implicit casting to float)

* revert: delayed initialization of cef was causing issues, reverted

* chore: re-organized web wallpaper support to use custom scheme and better handle multiprocessing

* chore: make use of external repos for all deps instead of copying things manually and more cleanup work

* chore: wrong include file used in CGLSLContext.cpp

* chore: fix wayland generation folder not being present

* feat: somewhat support TEXB0004

* chore: improve function call matching and fallback to more lax method if no function is found

* chore: changed shader compilation slightly so they're passed onto glsl just once

* feat: swap android's fft implementation (which wasn't right) with kissfft's and fix update frequency issues

* chore: added missing dependency

* chore: added missing dep to PKGBUILD

* feat: add testing tools to run over all backgrounds and getting output data

* chore: jail CDirectory to the basepath and prevent accessing data outside of the main directory

* chore: process script now scales the previews so the html file is not too big

* chore: add showcase gallery to the README.md

* chore: update README

* chore: some readability improvements on code

* chore: fix segfault after code cleanup

* chore: make use of std::filesystem::canonical instead of basepath and slight typing changes on texture objects

* chore: fix path detection being wrong, make use of std::filesystem::path on CContainers

* chore: cleanup of the core part of the project

* chore: bring back std::move and make some methods const where it makes sense

* feat: added a pretty printer for easier debug and comparison between different versions of linux-wallpaperengine

* chore: refactored shader compilation code once more to be easier to follow and fixed the longstanding bug of #include not being added in the right place

* chore: more debug info for the pretty printer

* fix: some textures applied were not the right ones

* chore: properly set combos based on textures

* feat: take into account project properties for shader values
feat: proper parsing of combo values in shaders
fix: shader units weren't linked as they should
chore: more support for detecting shader things automatically

* fix: blending mode for passes using the wrong value
fix: shader uniforms from project properties should now be taken into account

* chore: use ubuntu 22 and ubuntu 24 as builders, ubuntu 20 is retired

* chore: use ubuntu 22 and ubuntu 24 as builders, ubuntu 20 is retired

* chore: hopefully fix github actions build

* refactor: simplified working with properties, constants and shader variables

* chore: remove a couple of todos that aren't needed anymore

* chore: simplify the texture detection a little bit, still work left to do

* fix: regression on texture setup not working properly

* fix: filenames with dots were not being handled properly

* chore: remove some uselesss messages

* chore: fixed std::string json values not casting anything to it as it was assumed

* fix: null user value for constants means it cannot be modified by the user

* chore: remove exception when a shader constant uses a non-existant property

* fix: angles can be an user setting too, also added detection for animation frames to show a warning

* fix: ensure variable information is not commented out by a line comment

* fix: shader includes weren't being processed properly

* chore: update to latest glslang and SPIRV-Cross to support non-integer array indices

* chore: make use of auto where it made sense

* feat: make use of in/out promotion on glslang-WallpaperEngine
feat: use glslang-WallpaperEngine linkin process as an extra validation

* chore: improve scripts for running the app

* chore: hide background structure dump behind a command-line switch

* chore: rewritten bloom effect as a json object inside C++ so it's easier to follow

* chore: removed deprecated parameters and switched to argparse instead of getopt
fix: clamping mode wasn't applied by background properly, only globally

* chore: removed help prompt from the output unless actually required

* fix: web subprocesses weren't launching due to parameter's parsing, temporal fix

* feat: added material command copy support

* feat: do not initialize some subsystems if they're disabled or not used by backgrounds

* chore: ignore type in combos as only seems to be used in the editor

* chore: update to latest glslang-WallpaperEngine changes

* chore: delete uniforms if they already exist before setting

* chore: more cleanup and fixes

* chore: more cleanup and fixes

* chore: more cleanup and fixes

* chore: update file functions to make use of shared_ptr/unique_ptr instead of copying things around

* chore: more changes to unique_ptr and shared_ptr

* chore: more changes to unique_ptr and shared_ptr

* chore: more changes to unique_ptr and shared_ptr
feat: improved render initialization process to make it easier and simpler to add new drivers (no more #ifdef in CWallpaperApplication.cpp)

* chore: change all is/as castings to use typeid so no string comparison takes place

* chore: more cleanup, default initialization of values wherever possible

* chore: moved more things to std::unique_ptr and std::shared_ptr

* chore: moved more things to std::unique_ptr and std::shared_ptr

* fix: browser context usage crashed the app

* chore: the setting controls fullscreen detection creation the same way audio works

* fix: ensure that at least one frame is rendered before detecting fullscreen windows

* chore: slight changes to output and documentation to properly reflect current build configuration

* chore: fix mipmap texture creation

* chore: fix pass uniforms not taking into account fragment shader's uniforms
chore: keep processed code in the shader sent to opengl so it appears on RenderDoc

* chore: formating issues by codefactor

* chore: do not use new to allocate the pretty printer

* fix: strchr wasn't properly done for window geometry

* chore: add recording mode for status page generation

* chore: update .gitignore

* chore: update script to make use of video generation instead of the old python scripts

* chore: also copy project.json so it can be used on the site too

* fix: regression on invisible images not being rendered

* feat: add option to disable camera parallax

* chore: add the reversing tools I have locally

* chore: mention some of the common issues in the README.md

* chore: take submodules into account for archlinux

* chore: missed cd "$pkgname" in arch's prepare step
2025-05-10 19:34:59 +02:00
Almamu
4a063d0b84 fix: #265 added aarch64 to the list of detected system processors for linux build 2024-11-08 10:24:22 +01:00
Almamu
f71136fd46 fix: #256 non-string properties weren't supported 2024-11-08 03:44:44 +01:00
Almamu
7a4324b2ff chore: use proper defines for wayland buttons and improve click handling code 2024-11-08 03:20:25 +01:00
Almamu
ea9ca543f9 feat: support basic single-mouse-click and release events for web backgrounds 2024-11-08 03:07:42 +01:00
Almamu
dc1d40e8cf chore: add extra info on CEF version being downloaded for debugging system detection 2024-11-08 02:14:39 +01:00
Almamu
458605c218 chore: add extra info on CEF version being downloaded for debugging system detection 2024-11-08 02:13:27 +01:00
moetayuko
bdaf1ec6e4
implement wayland fullscreen detector (#261)
* feat: wayland fullscreen detector

* feat: pause mpv when fullscreen
2024-11-08 01:54:26 +01:00
Alexis Maiquez
ec60a8a571 chore: update readme 2024-10-12 21:00:34 +02:00