Gleb Mazovetskiy
1cdd76b617
Remove PCX rendering code
...
We no longer render PCX
4 years ago
Gleb Mazovetskiy
0cd035ef61
Load PCX as CL2
...
Similar to #5059 , which converted CEL to CL2 at load time,
we now do the same for PCX.
Some size stats: https://gist.github.com/glebm/067bf1ec73f9d14514932cfe237e4e8e
Notably, fonts RAM usage is decreased by ~35%.
4 years ago
Gleb Mazovetskiy
43a5d91074
Remove CEL rendering code
...
We no longer render CEL
4 years ago
Gleb Mazovetskiy
8ca71272b8
Load all CEL as CL2
...
Convert CEL files to CL2 at load time. CL2 format is more efficient and is about as fast to render.
CEL vs CL2 sizes, on dLvl 5: https://gist.github.com/glebm/9bbdd76962abcd4fd2405ecd3379af97
Memory:
* Peak memory (while loading): -300 KiB
* Memory in-game (dLvl5): -700 KiB
* RG99 binary size: -15 KiB (1333096 -> 1317192)
Performance on rg99:
* On average, -1 FPS in town.
* Same FPS in dungeon (20 FPS on dLvl 1).
4 years ago
Gleb Mazovetskiy
197e1180b2
Add StrCat and StrAppend
...
Adds simple string / integer concatenation functions.
Many of the uses of `fmt::format` are simply concatenation
of a few strings and integers.
`StrCat` is an easier-to-read alternative to such uses of `fmt`.
4 years ago
Gleb Mazovetskiy
c8ddf7df65
Crawl: Move implementation from header to cpp
4 years ago
Anders Jenbo
ce4595b440
Split Crypt from Cathedral
4 years ago
Gleb Mazovetskiy
010dda42cf
Remove PCX->CEL conversion
...
It is no longer used as we render all assets directly as PCX.
4 years ago
Gleb Mazovetskiy
0c7e36e81a
DiabloUI: Clean up portrait loading
...
1. Load portraits as PCX (~30% smaller).
2. Simplify the portrait override logic.
4 years ago
Anders Jenbo
72656b3011
Move path and palette to the engine folder
4 years ago
Anders Jenbo
99181fd709
Move more files to the engine folder
4 years ago
Anders Jenbo
b870ebf115
order src files
4 years ago
Anders Jenbo
6d56058708
Move level generation to subfolder
4 years ago
Gleb Mazovetskiy
c6e107433a
CMake: Fix SimpleIni on vcpkg
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
563ee3af7c
Optimize `FormatInteger`
4 years ago
Gleb Mazovetskiy
220d38aa5c
Direct PCX rendering
4 years ago
Gleb Mazovetskiy
978bae1a15
Add a helper for loading PCX as CEL from path
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
Gleb Mazovetskiy
5eeaa76a75
Move PCX code to utils/pcx.cpp
4 years ago
Anders Jenbo
718c46e7fe
Remove use of tempstr
4 years ago
Anders Jenbo
a48f89007d
Implement stash
4 years ago
qndel
48f102eff1
Chat log
4 years ago
qndel
9ba64ad08b
TRN rewrite + bugfix ( #4056 )
...
* working new TRN system
* apply TRNs to all unique missiles
4 years ago
Gleb Mazovetskiy
1519e995cf
Move store graphics out of `stores.cpp`
...
These graphics are used in various places outside of `stores.cpp`.
4 years ago
Gleb Mazovetskiy
6bcac742ed
CMake: Link gperftools directly to the binary
...
Not sure why this is necessary but it fixes the gperf build
4 years ago
Gleb Mazovetskiy
e12adf689e
Fix windows build
4 years ago
Anders Jenbo
6b2481a76c
Touch support on all SDL2 platforms
4 years ago
Andrew James
fb8467b045
Move platform specific locale lookup code to platform directory ( #3862 )
4 years ago
obligaron
419fe7b7ec
Change Keymapper to OptionCategory/OptionEntry
4 years ago
Gleb Mazovetskiy
cacf55bb34
CMake: Split out platform libraries
4 years ago
Gleb Mazovetskiy
0a0baf0c64
CMake: Move more platform config to platforms/
...
Moves platform libraries, compile definitions, and compile options to
the platform CMake files.
4 years ago
Gleb Mazovetskiy
3e0a295dd3
CMake: Simpler Threads workaround for the 3DS
4 years ago
Gleb Mazovetskiy
6dd4c08d4b
CMake: Make -static-libstdc++ configurable
4 years ago
Gleb Mazovetskiy
97a5609cff
CMake: Move libdevilutionx to Source/
4 years ago