Gleb Mazovetskiy
6c5b5612c2
CMake: Fix MinGW pkgconfig
...
`PKG_CONFIG_EXECUTABLE` must be a cache variable, otherwise only the first call to `find_program(PkgConfig)` succeeds.
Also bumps the CI environment to Ubuntu 22.04, because Ubuntu 20.04
version of mingw pkgconfig is bugged.
4 years ago
Gleb Mazovetskiy
1334ee8b96
CMake: Always strip the Release binary
4 years ago
Gleb Mazovetskiy
e53a3edc61
CMake SDL1: Set minimum version to 1.2.10
4 years ago
Gleb Mazovetskiy
ac88a38377
Fix macOS build with the SDL2 2.24.0
...
SDL2 2.24.0 has a bug in its cmake for macOS: https://github.com/libsdl-org/SDL/issues/6119
This bug has already been fixed upstream. This is a workaround until the
next version of SDL2 is released.
4 years ago
Gleb Mazovetskiy
f4827a0cb6
Replace default palette PCX files with PAL files
...
These PCX files were only used to load the default palette.
Replaces them with PAL files.
4 years ago
staphen
a3e94d6b55
[Switch] Bundle assets directly in romfs
4 years ago
staphen
5a2b167728
[3DS] Bundle assets directly in romfs
4 years ago
Gleb Mazovetskiy
6327e713e0
Lowercase all file paths
...
We want to be able to use unpacked MPQs on low-end platforms
(PS2/rg99/etc).
This is tricky on case-sensitive filesystems. Avoids case issues by
lowercasing all paths in the code (then we'll just need lowercased
listfiles).
4 years ago
Anders Jenbo
6cb42ceb10
Make Threads stub avalible to other platforms
4 years ago
Gleb Mazovetskiy
3b357f3936
CMake: An option to disable demomode support
...
Useful for targets with limited RAM.
Reduces RG99 binary size by 8 KiB.
4 years ago
Gleb Mazovetskiy
609b711d32
Render char panel as CLX
...
Converted with:
```
pcx2clx --num-sprites 6 data/panel8bucp.pcx && rm data/panel8bucp.pcx
```
Size: 112640 -> 93215 bytes, -17.2%
4 years ago
Gleb Mazovetskiy
94ab0ad05a
devilutionx.mpq: Use BZIP2 instead of PKWARE
...
4.7 MiB -> 4.3 MiB
4 years ago
Gleb Mazovetskiy
17a97450bc
Convert assets to CLX
...
Converted using the following commands:
```
cd Packaging/resources/assets
pcx2clx --transparent-color 1 --num-sprites 256 fonts/*.pcx && rm fonts/*.pcx
pcx2clx --num-sprites 2 ui_art/dvl_but_sml.pcx && rm ui_art/dvl_but_sml.pcx
pcx2clx --transparent-color 1 data/hintbox.pcx data/hintboxbackground.pcx && rm data/hintbox.pcx data/hintboxbackground.pcx
pcx2clx --transparent-color 1 --num-sprites 6 data/hinticons.pcx && rm data/hinticons.pcx
pcx2clx --num-sprites 2 data/panel8buc.pcx data/dirtybuc.pcx data/dirtybucp.pcx && rm data/panel8buc.pcx data/dirtybuc.pcx data/dirtybucp.pcx
pcx2clx --transparent-color 1 data/healthbox.pcx && rm data/healthbox.pcx
pcx2clx --transparent-color 1 --num-sprites 6 data/resistance.pcx && rm data/resistance.pcx
pcx2clx --transparent-color 1 --num-sprites 5 data/monstertags.pcx && rm data/monstertags.pcx
pcx2clx --transparent-color 1 data/stash.pcx && rm data/stash.pcx
pcx2clx --transparent-color 1 --num-sprites 5 data/stashnavbtns.pcx && rm data/stashnavbtns.pcx
pcx2clx **/*.pcx && rm **/*.pcx
git checkout master -- ui_art/black_diablo.pcx ui_art/black_hellfire.pcx data/charbg.pcx data/talkbutton.pcx data/panel8bucp.pcx
rm ui_art/black_diablo.clx ui_art/black_hellfire.clx data/charbg.clx data/talkbutton.clx data/panel8bucp.clx
```
4 years ago
Anders Jenbo
efe6b18900
Move two basic crypt setpices in to dun files
4 years ago
Anders Jenbo
bb76b5fbcd
Bump NDK version ( #5115 )
4 years ago
Gleb Mazovetskiy
337336de6b
OpenDingux rg350: Actually disable LTO ( #5116 )
...
Follow-up to #5088
4 years ago
Gleb Mazovetskiy
d68de7b0bc
OpenDingux rg350: Disable LTO
...
Thanks to @pcercuei we've learned that currently enabling LTO breaks
the rg350 build.
Disable it for now.
4 years ago
Brocky
1d7f20c9ec
Added build steps for new platform Miyoo Mini ( #5057 )
4 years ago
Gleb Mazovetskiy
052e38e59c
Xbox NXDK: Use diasurgical fork of libfmt
4 years ago
Gleb Mazovetskiy
9cdb9e9585
rg99: Enable `-fmerge-all-constants`
4 years ago
Gleb Mazovetskiy
2a7f771bd8
CMake: Use the mold linker where available
...
Linking a debug build:
GNU LD: 1.82s
Mold: 0.03s
4 years ago
Gleb Mazovetskiy
6181e53c10
OpenDingux: rg99 port
4 years ago
Gleb Mazovetskiy
4063afb792
Xbox NXDK platform
4 years ago
Gleb Mazovetskiy
c8ddf7df65
Crawl: Move implementation from header to cpp
4 years ago
qndel
98a2fc53c9
disable attributes file in devilutionx.mpq - timestamp causes a diff on every rebuild ( #4876 )
4 years ago
Gleb Mazovetskiy
ad7ca97ae1
Fix black background palette ( #4831 )
...
Diablo and Hellfire have different palettes in `ui_art\black.pcx`.
We now ship our own tiny `black.pcx` that takes priority over the
other ones. This `black.pcx` had the Diablo palette which resulted in an
incorrect palette in the Settings screen.
Split our own `black.pcx` file into `black_diablo.pcx` and
`black_hellfire.pcx` and load the correct one depending on the mode.
4 years ago
Gleb Mazovetskiy
cbf5ab385d
CMake: Clean up option definitions ( #4771 )
...
1. Make the vcpkg hack minimal by only defining the options it needs
before `include(Platforms)`.
Every dependent option needed by vcpkg has to be recalculated
after `include(Platforms)`. This brings the count of such options
down to 1 (`PACKET_ENCRYPTION`).
2. `include(Platforms)` before the rest of the options.
3. Group related options together into sections and add comments.
4. Fix `--gc-sections` for C files. Also adds `-Wl,--as-needed`.
Note: `PIE` can now be `ON` even if `BUILD_TESTING` is `OFF`.
4 years ago
Gleb Mazovetskiy
c6e107433a
CMake: Fix SimpleIni on vcpkg
4 years ago
Gleb Mazovetskiy
d2d9fcb5b5
Update SDL_audiolib
...
The latest version uses libfmt internally
and removes the need for exceptions.
4 years ago
Gleb Mazovetskiy
127c6bc9e1
Fix finding SimpleIni
...
The version in Ubuntu 22.04 comes without `ConvertUTF.{h,c}`.
We actually do not need `ConvertUTF.{h,c}` and starting from
v4.19 it is possible to tell SimpleIni to not include it
by setting `SI_NO_CONVERSION`.
Sets `SI_NO_CONVERSION` and raises the minimum required SimpleIni
version to 4.19.
4 years ago
Yuvraj Tetarwal
8a3b81cd7b
Check for system version of simpleini. ( #4751 )
4 years ago
Gleb Mazovetskiy
1933e237da
Remove `FallbackPalette`
...
Copies `black.pcx` into the MPQ to handle the case where we have
`devilutionx.mpq` but not `diabdat.mpq`
4 years ago
Gleb Mazovetskiy
73f9dd45ab
Move embedded dialog assets to the MPQ
...
If we can't find `devilutionx.mpq`, we can't render a dialog either,
because the MPQ contains the fonts.
4 years ago
Gleb Mazovetskiy
ba71949ebb
Add 2 options to reduce static memory use
4 years ago
Anders Jenbo
73e84c9a44
Update Assets.cmake
4 years ago
Anders Jenbo
885d3ef49e
Bump fmt requirement to 8.0.0
...
because of fmt::runtime
4 years ago
Anders Jenbo
189eb58247
Add new dependencies
4 years ago
Gleb Mazovetskiy
ef45bd258a
-ffile-prefix-map -> -fmacro-prefix-map
...
This fixes debugging in VS Code.
4 years ago
Ivan Epifanov
4c7ecbe591
Vita: use internal SDL2_image and libsodium
4 years ago
Sandro
c3b1415662
Prefer system FindSDL_audiolib
4 years ago
qndel
f84c35d2dc
fix typos
4 years ago
Gleb Mazovetskiy
99d490180c
Settings: Add Resampler
...
Makes the resampler algorithm configurable from the settings menu.
4 years ago
Gleb Mazovetskiy
961e1b584b
Always load fonts as CEL
...
There appear to be no drawbacks, only advantages.
4 years ago
Gleb Mazovetskiy
7b98735878
Revert "An option to RLE-compress masked art"
...
This reverts commit c884f1a354 .
Superceded by `DEVILUTIONX_CONVERT_FONTS_TO_CEL`, which offers the same
RAM reduction but without slowdown.
4 years ago
Gleb Mazovetskiy
2b161e5535
An option to convert fonts to CEL in-memory
...
Reduced RAM usage by 200 KiB with no performance drop, perhaps even an
improvement.
4 years ago
MrHuu
de71117b66
Update n3ds.cmake
...
C-Stick mapping is incorrect for the 3ds platform.
Currently left/right is not functional,
up/down moves the cursor left/right.
This corrects the behavior.
Congrats on the new release!
4 years ago
Gleb Mazovetskiy
0ac787fc05
Use `-ffile-prefix-map` for relative `__FILE__`
...
Fixes #4420
4 years ago
staphen
0df7fd1dae
Fix variable name in FindCITRO3D.cmake
4 years ago
staphen
0976278fb4
Search system paths for packages on 3DS
4 years ago
Gleb Mazovetskiy
2450adf893
Amiga: Build zlib via Dependencies.cmake
...
Simplifies the Amiga build
4 years ago