Vladimir Olteanu
2cc9d70fa6
Use decimal separators for gold and XP ( #4722 )
4 years ago
obligaron
0efebc2cc8
Fix PlaceUniqueMonsters off by one monstertype
4 years ago
Anders Jenbo
73e84c9a44
Update Assets.cmake
4 years ago
Anders Jenbo
76704ac65f
Correct name of Bone Chamber transparancy data
4 years ago
obligaron
9713441b69
Fix PlaceUniqueMonsters when unique monster type is not active on the level
4 years ago
obligaron
b2714da91e
Fix: Disable lightning in town
4 years ago
Vladimir Olteanu
6f4fe8a142
Fix typo in CanPlaceRandomObject
4 years ago
Vladimir Olteanu
5d3274de45
Consolidate random object placement
4 years ago
Vladimir Olteanu
4d6ff58c22
Reduce reliance on `bool done` for control flow (part 1 of x) ( #4720 )
4 years ago
Oleksandr Kalko
31d43b3b84
UK TL: Translate new audio options
4 years ago
ephphatha
6a0fc6627e
Use LANGUAGE as a preference list if available
4 years ago
Gleb Mazovetskiy
f22d1d0149
Remove uses of deprecated codecvt
...
codecvt is deprecated in C++17 and we don't really need all of its heavy
machinery for simply converting to UTF-8.
4 years ago
Gleb Mazovetskiy
d500886293
Use env or <clocale> to get the locale
...
The C++ `std::locale("")` constructor performs a static
initialization of all the facets on the first call.
For example, this includes things like currency formatting.
Avoid all of that by using the environment variables with a fallback to
the equivalent C locale call.
4 years ago
Anders Jenbo
60856fb724
Clean up ApplyCryptShadowsPatterns
4 years ago
Anders Jenbo
0d5f07d93c
Clean up chamber generation
...
Share soom selection, remove unreachable cases
4 years ago
Anders Jenbo
fd98aff9f1
Move shared dungeon level code to common function
4 years ago
Anders Jenbo
6fa681e567
Clean up level initialization
4 years ago
Anders Jenbo
6fffbb4676
Clean up selecting what chamber to spawn quests in
4 years ago
obligaron
f0b3d9cb5b
pfile: remove savePrefix global
4 years ago
obligaron
7afe7d2a70
Save Methods in loadsave gets MpqWriter passed
4 years ago
Gleb Mazovetskiy
02d448267a
Render fonts as PCX (-420 KiB RAM)
...
Reduces peak memory consuption in game by ~420 KiB.
This is because the PCX renderer applies the palette on the fly while
rendering, meaning we do not need to duplicate the font for different
palettes.
This approach is also a bit slower than precomposed palettes (still
plenty fast).
4 years ago
Anders Jenbo
885d3ef49e
Bump fmt requirement to 8.0.0
...
because of fmt::runtime
4 years ago
Gleb Mazovetskiy
a885df8b21
Bump libmpq
...
Includes https://github.com/diasurgical/libmpq/pull/5
and https://github.com/diasurgical/libmpq/pull/6
4 years ago
Anders Jenbo
d17d7e018d
Use common function for loading .dun tile data
4 years ago
Gleb Mazovetskiy
2386fd12a9
Fix a few warnings
4 years ago
Gleb Mazovetskiy
9d2948c782
Loading screen: Free the background early
...
Frees the background after blitting it once in the loading screen.
This gives the game more RAM for the actual loading.
4 years ago
Gleb Mazovetskiy
fabbb62bb1
OpenDingux: `strip` `.comment` and `.gnu.version`
...
Saves 108 bytes in the binary size
4 years ago
Gleb Mazovetskiy
4a68c3baef
Remove unused and undefined `snd_stop_snd`
4 years ago
Gleb Mazovetskiy
ede7eab7e8
Fix `-wnarrowing` from `SDL_Rect` construction
4 years ago
Gleb Mazovetskiy
7cd9b23c7d
Fix NOSOUND build
...
Follow-up to 9d082389d8
4 years ago
staphen
b363d5d962
Fix order of loop conditions when adding spell missiles
4 years ago
ephphatha
d74e2f2b7e
Tidy up constants used in CreateRoom
4 years ago
ephphatha
8d0afac194
Don't preserve an unreachable vanilla bug
4 years ago
ephphatha
cf956aff96
Use identifiable messages when test cases fail
4 years ago
TheTank20
8ecfd9df2a
Update shareware link
4 years ago
Gleb Mazovetskiy
a4bd44b1cd
Fix MSVC ADL format error
...
fmt::join is required when formatting containers
4 years ago
Gleb Mazovetskiy
ecf4efdf67
CMAKE_CXX_STANDARD: 17 -> 20
...
This allows us to use heterogenous `unordered_map` where available.
4 years ago
Gleb Mazovetskiy
dab48daed6
options.cpp: Remove unnecessary data() calls
4 years ago
Gleb Mazovetskiy
1fc8ecb6f6
Add fmt::runtime annotations for C++20 support
...
`fmt` requires non-contexpr format string arguments to be wrapped in
`fmt::runtime` in C++20.
4 years ago
Gleb Mazovetskiy
779ccaca17
Overhaul translation fetching
...
1. Do not modify the map after loading. Instead, return string views
(guaranteed to be null-terminated) from look up functions and return
the key directly if not found.
2. Use an `unorded_map` instead of `map` where available (C++20).
Saves a bit of RAM (~50 KiB) and improves lookup performance.
4 years ago
Anders Jenbo
189eb58247
Add new dependencies
4 years ago
Anders Jenbo
5fcf5ef303
Remove unused quest level code
4 years ago
Anders Jenbo
0205320a1d
Export static transparancy data to .dun files
4 years ago
Gleb Mazovetskiy
8514cc80a9
Migrate embedded button data to PCX
...
It is a bit smaller that way.
Also renders the non-embedded dialogs as PCX.
The embedded dialog is still raw pixel data because it is larger as PCX.
4 years ago
Gleb Mazovetskiy
c380c7fa61
PCX: Add transparency support
4 years ago
Gleb Mazovetskiy
e8c57aae67
Render widescreen cutscene bg as PCX
4 years ago
Gleb Mazovetskiy
5df03f56e3
DiabloUI: Render scrollbar as PCX
4 years ago
Gleb Mazovetskiy
ef45bd258a
-ffile-prefix-map -> -fmacro-prefix-map
...
This fixes debugging in VS Code.
4 years ago
Gleb Mazovetskiy
3d5307e3bd
.clang-tidy: Allow single-char loop variables
...
x, y, i, j, etc
4 years ago
Gleb Mazovetskiy
9e9b656b88
DiabloUI: Render backgrounds as PCX
...
The backgrounds can be quite large, for example
the Hellfire title background is a 2.4 MiB PCX file.
Previously, we converted all background to SDL surfaces.
This required extra memory, e.g. the 2.4 MiB Hellfire
title background uses 4.6 MiB as an SDL surface.
Changes the background to render directly from PCX instead
to reduce the allocator pressure.
4 years ago