Commit graph

204 commits

Author SHA1 Message Date
Christoph Oelckers
6055ff029d the remaining GetChars additions.
The offending operator const char * no longer exists.
2023-10-07 23:44:01 +02:00
Christoph Oelckers
7a5a2858a2 yet even more GetChars calls added. 2023-10-07 23:29:24 +02:00
Christoph Oelckers
c94c63110e added a third batch of GetChars call to FStrings. 2023-10-07 23:03:40 +02:00
Christoph Oelckers
89535b803a Backend update from Raze. 2023-10-07 18:42:24 +02:00
Professor Hastig
ab8711b57a removed several bad casts to 'long'.
The 'long' type should generally be avoided because its size differs on Windows and Linux/Mac so it is almost guaranteed to cause undefined behavior
2023-10-04 16:47:43 +02:00
Cacodemon345
ba9ce0e83f Switch to miniz from zlib 2023-09-17 23:52:51 +02:00
Christoph Oelckers
ef8fd472a8 - fixed bad virtual override in FSheetTexture. 2023-09-03 19:52:53 +02:00
Christoph Oelckers
4baabf98c4 - use stb-image for JPEG decoding.
the statically provided library did not provide any advantage over it whatsoever and even libjpeg-turbo's better performance cannot really play out here so ease of use and getting rid of a dependency wins.
2023-09-03 08:34:58 +02:00
Christoph Oelckers
ccd39d6df7 - code cleanup 2023-08-25 20:07:48 +02:00
Christoph Oelckers
afecb1ca0f - avoid high stack usage in anmtexture.cpp
MSVC warned about this one.
2023-08-25 20:07:48 +02:00
Christoph Oelckers
c6e2e0add2 - fix compilation 2023-08-23 18:26:42 +02:00
Cacodemon345
7c90ea6b84 - Convert the entire image backend infrastructure to be animation-friendly 2023-08-23 18:18:45 +02:00
Christoph Oelckers
53d8a5bb2c - Reverted JPEG XL support because the project is not really usable on vcpkg. 2023-08-23 18:18:45 +02:00
alexey.lysiuk
bfefc12427 - fixed a bunch of Linux and macOS compilation errors 2023-08-23 12:34:33 +03:00
Cacodemon345
99fd354dd9 Fix copyright mistake 2023-08-22 23:11:00 +02:00
Cacodemon345
44a3bd719c JPEG XL implementation 2023-08-22 23:11:00 +02:00
Christoph Oelckers
42283f56ab - added a quick header check for WebP before loading the entire file for real identification.
This allows quick rejection of virtually everything that's not a WebP without loading the entire file first.
2023-08-22 22:54:54 +02:00
Christoph Oelckers
1748477086 - use FileData for readinf WebP 2023-08-22 22:54:54 +02:00
Christoph Oelckers
ebb71cebf1 - put the entire filesystem code into a namespace and created some subdirectories. 2023-08-22 22:54:54 +02:00
Christoph Oelckers
2c2bf0265f - refactored all places which treated FileData as zero terminated. 2023-08-22 22:54:53 +02:00
Christoph Oelckers
535eb9a853 - use std::vector in GetFilesInFolder 2023-08-22 22:54:52 +02:00
Christoph Oelckers
4906d287cb - use std::vector<std::string> to pass the file list to InitMultipleFiles 2023-08-22 22:54:52 +02:00
Christoph Oelckers
a0d679b84b - FileData cleanup and uncoupling from FString.
Work is still needed to allow this to use the lump cache directly because some decisions in the past made this data padded by a zero byte.
2023-08-22 22:54:52 +02:00
Christoph Oelckers
ca1d7fd539 - store longName in a std::string and use std::vector for FileInfo
TArray cannot handle std::string so this must both be changed together.
2023-08-22 22:48:06 +02:00
Christoph Oelckers
8a5d3c096b - return a std::string from GetFileFullPath 2023-08-22 22:18:54 +02:00
Christoph Oelckers
25b7b18c3d - got rid of the two copying variants of fileSystem.GetFileShortName. 2023-08-22 22:18:53 +02:00
Christoph Oelckers
5398045f7d - got rid of FileSystem::GetFileData.
Using FMemFile is better in all these places.
2023-08-22 22:18:53 +02:00
Christoph Oelckers
21d6eb99eb use std::vector as return value for the FileReader's buffer readers. 2023-08-22 22:18:21 +02:00
Christoph Oelckers
f0bbc32bae - add m_swap.h to several files. 2023-08-22 21:49:55 +02:00
Christoph Oelckers
2524ea6b0e - moved linked textures from file system to texture manager. 2023-08-22 21:49:54 +02:00
Cacodemon345
145450a044 WebP image support 2023-08-22 19:14:21 +02:00
Cacodemon345
a4573b4ad1 Fix QOI image loading 2023-08-17 08:56:50 -04:00
Christoph Oelckers
74b3d8e0a0 - optimized the QOI loader
* removed the intermediate pixel buffer
* instead of calling the file API for each single byte, load it into a buffer and use direct memory access. Using a file API like this can be magnitudes slower, depending on the underlying data.
* don't store the header in the image source object, it is never used again after validatipn.
2023-08-13 19:03:20 +02:00
Cacodemon345
c727e40e6c Add support for QOI image formats 2023-08-13 06:04:15 -04:00
Cacodemon345
fe7beaaf17 Add support for HDR canvas textures
Vulkan only.
2023-08-12 06:46:05 -04:00
Christoph Oelckers
979f4311fa - moved stb_image.h to third party folder. 2023-08-09 08:22:47 +02:00
l2ksolkov
245dac814e Add missing include guards 2023-05-29 07:35:26 +02:00
Christoph Oelckers
acfe82b9a8 - Backend update from Raze. 2023-05-27 09:31:17 +02:00
Marisa the Magician
81e7d77b44 Fix diffuse-only material shaders not applying. 2023-01-12 17:01:59 +01:00
Christoph Oelckers
aceafecce6 - optimized sheet font texture generation.
Instead of reloading the base image over and over again, let's cache it so that less time is needed for each single character.
2023-01-07 19:12:19 +01:00
Christoph Oelckers
4c751db489 - silence some warnings. 2023-01-07 18:35:30 +01:00
Christoph Oelckers
1a0aa95ff4 - changed return value of CreatePalettedPixels.
The new struct will allpw return of static pixel data without reallocation and copying.
2023-01-07 17:55:55 +01:00
Christoph Oelckers
4e4642d0ed - fixed buffer size checks for raw textures. 2023-01-07 16:15:32 +01:00
Christoph Oelckers
941c0850ba - Backend update from Raze.
Mainly optimizations for the sound system and texture manager.
2022-12-18 16:19:18 +01:00
Christoph Oelckers
4103b282bb - fixed: The raw texture caching in the texture manager did not work.
This erroneously checked for FrontSkyLayer.
Also including some change here that allows explicit setting of the RawTexture (not used yet.)
2022-11-25 12:29:36 +01:00
Christoph Oelckers
7e0084f56b - Backend update from Raze. 2022-10-25 07:02:45 +02:00
Christoph Oelckers
2b805e196d - do two-step init of CVARs to ensure that flag and mask vars always find their master CVar. 2022-10-24 19:27:04 +02:00
Christoph Oelckers
6ba4295136 - don't crash when destroying incomplete textures.
This can happen during TEXTURES parsing in case of an error.
2022-10-20 17:12:43 +02:00
Christoph Oelckers
2c29a93f1f - fixed compile. 2022-10-02 20:45:00 +02:00
Christoph Oelckers
f63d4d8a12 - handle Build tiles via explicit callback to the init function. 2022-10-02 16:54:43 +02:00