Added comments all over the codebase to explain things a bit better
Improved CApplicationContext to be a bit more self-explanatory
Abstracted CRenderContext access away into a helper that every render class should use
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
Window mode now has extra settings for setting the position and size
Fixed audio not muting when --silent was used
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
- use of auto in some places (more of this to come)
- use for loops instead of iterators for most of the loops
- extracted glfw/glew code into it's own class
- make usage of std::filesystem instead of checking things with old C libraries
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
Simplified how passes rendering works and separated it into a two stages process
Setup (prepares shaders, uniforms, attributes, etc)
Render (only performs the actual rendering)
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
~ written close to equivalent versions in OpenGL code using GLM and GLFW
~ written replacements for texture and package loading to not use irrlicht anymore
~ updated shader compiler as we now don't need to replace attributes anymore
+ added support for texture flags in the texture header (as they're needed for opengl to get proper information)
TODO: REWRITE VIDEO PLAYER SUPPORT AS THIS UPDATE EFFECTIVELY BREAKS IT
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
Added positioning code based on material origin, size, and scale.
Fixed mirrored vertices and mirrored BGRA pixels.
Added DXT3 support.
Fixed DXT decompression segfault due to sizeof (long).
Fixed RGBA packing order.
Enabled PKGV0008 support.
Fixed detection of json "scene" string with uppercase characters.
Fixed positioning of miscellaneous foreground objects.
(commits 72831e1b2f, 9017a5732e, 853d128830, af846053c8 and c45b58bc96)
~ updated CRotationRandom to support numeric and vectorial rotations
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
* Adds FFmpeg to CMake
* Refactors to allow support for other wallpaper types
* Updates README.md for compilation requirements
* Initial video support without audio
* Properly support different wallpapers
* Fixes videos not rendering
* Nitpicks
* Moves code related to rendering from Core::CVideo to Render::CVideo
~ changed most pointers to const references to prevent modification, specially from the background parser
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
~ Updated #include directives to include full paths to files
~ Re-organized folder structure for the project
Signed-off-by: Alexis Maiquez <almamu@almamu.com>