Marlon Beijer
3a267aa7f7
Add option to disable network support for builds
7 years ago
Gleb Mazovetskiy
7573446763
Make hero selection list scrollable
...
No scrollbar yet, keyboard scrolling only
7 years ago
Gleb Mazovetskiy
2ba268e608
DiabloUI: Better char* handling
...
1. UI structs now use `const char*` because that's the type of C-string
literals.
2. Use `strcpy` instead of `sprintf` where possible.
7 years ago
Mathieu Maret
3ec16ee3c5
Correct memory leak
...
Correct memory leak after creating a network party
7 years ago
Gleb Mazovetskiy
37936c6d15
DiabloUI: Refactor UI_Item to tagged unions
...
Makes the code easier to understand.
Also makes building lists easier.
Also fixes focus indicator in SELLOAD_DIALOG (this type of bug is
impossible with the new structs).
7 years ago
Gleb Mazovetskiy
5f21aba186
progress.cpp: fix SDL1 narrow conv warn
7 years ago
Gleb Mazovetskiy
e2a1c90979
storm.cpp: simplify getIniPath
7 years ago
Gleb Mazovetskiy
dc937c8b96
diabloui.cpp: Fix value not handled warning
7 years ago
Gleb Mazovetskiy
7f61128d32
Fix more compilation warnings
...
```
SourceX/storm/storm.cpp:27:10: note: ‘snprintf’ output between 11 and 270 bytes into a destination of size 260
snprintf(file_path, DVL_MAX_PATH, "%sdiablo.ini", path);
```
SDL1 warnings:
```
devilutionX/SourceX/dx.cpp:199:24: warning: narrowing conversion of ‘(int)dwX’ from ‘int’ to ‘Sint16’ {aka ‘short int’} inside { } [-Wnarrowing]
SDL_Rect dst_rect = { (int)dwX, (int)dwY, w, h };
SourceS/sdl2_to_1_2_backports.h:616:18: warning: comparison is always false due to limited range of data type [-Wtype-limits]
if (final_dst.w < 0)
SourceS/sdl2_to_1_2_backports.h:777:24: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘long unsigned int’ [-Wsign-compare]
if ((rc > 0) && (rc < sizeof(path))) {
~~~^~~~~~~~~~~~~~
SourceX/storm/storm.cpp:479:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare]
if (out_len <= item->len) {
SourceX/storm/storm.cpp:716:60: warning: narrowing conversion of ‘((640 - scaledW) / 2)’ from ‘int’ to ‘Sint16’ {aka ‘short int’} inside { } [-Wnarrowing]
SDL_Rect pal_surface_offset = { (SCREEN_WIDTH - scaledW) / 2, (SCREEN_HEIGHT - scaledH) / 2, scaledW, scaledH };
DiabloUI/credits.cpp:525:30: warning: narrowing conversion of ‘- y’ from ‘int’ to ‘Sint16’ {aka ‘short int’} inside { } [-Wnarrowing]
SDL_Rect src_rect = { 0, -y, text_surface->w, 251 };
```
7 years ago
Gleb Mazovetskiy
e3cf8af94d
dvlnet: More C++11 compatibility
...
Fixes the following warnings:
SourceX/dvlnet/tcp_client.cpp:104:38: warning: lambda capture initializers only available with -std=c++14 or -std=gnu++14
SourceX/dvlnet/tcp_server.cpp:142:15: warning: lambda capture initializers only available with -std=c++14 or -std=gnu++14
7 years ago
Anders Jenbo
bd2c08183c
Fall back to relative path when unable to use SDL
7 years ago
Mathieu Maret
0ac4c1e419
tcp_client: close connections when leaving
...
So you can join another game latter
fix #251
7 years ago
Gleb Mazovetskiy
4f6c5791a7
Fix some compiler warnings
7 years ago
Anders Jenbo
890f414cb9
Small clean up of unused code
7 years ago
Mathieu Maret
a7d0e5e858
Fill GAMEINFO for name and password
...
Those information could be accessed by pressing tab key in multiplayer
Fix #260
7 years ago
Anders Jenbo
e88e574c5f
Drop unimplemented code
7 years ago
Anders Jenbo
06bcd3c3f9
Handle file paths in a clean way
...
Belated birthday present for @mewmew
Functions for gettings paths have sensible names
It's using snprintf for safe? string concat
Paths don't use \ as path reporator, or magic marker
Drop code for copying pre 1.09 save games from the windows folder
7 years ago
Anders Jenbo
606d5536f2
Set version and project name via CMake
7 years ago
Anders Jenbo
18532e7c9b
Format SourceX and SourceS
...
Fixes #262
7 years ago
Gleb Mazovetskiy
94f62177f1
Make SourceX/dvlnet C++11 compatible
...
std::make_unique is only available in C++17 and above
7 years ago
Anders Jenbo
3b2ba952b2
Fix video audio on Big Endian
7 years ago
Anders Jenbo
4ef30b9612
Fix menu on Big Endian systems
7 years ago
Gleb Mazovetskiy
2bfcbbfb2f
Fix memory leak in sound.cpp
...
Also link ASAN for devilutionx
7 years ago
Anders Jenbo
1d03064fee
Clean up sound code
7 years ago
Anders Jenbo
8ee689b803
Remove miniwin abstraction for disabeling the screensaver
7 years ago
Gleb Mazovetskiy
2cc0c2cfbb
Clang: Remove -fms-extensions -fms-compatibility
7 years ago
Anders Jenbo
88813c4042
Strip some now unused parts of miniwin and windows api
7 years ago
Gleb Mazovetskiy
46a11a8e92
LoadMaskArtFont: Do not pass SDL_RLEACCEL
...
Using SDL_RLEACCEL turned out to be much slower
7 years ago
Gleb Mazovetskiy
4b42117022
Set Art palette only if it changed
...
Improves performance a lot, but still slower than the previous version
7 years ago
Gleb Mazovetskiy
cf0f867ca0
DrawArt via SDL
7 years ago
Pyr0Byt3
2c8641194d
fix multiple voices playing simultaneously
7 years ago
Gleb Mazovetskiy
5359149a38
SDL1: Audio and video support
...
1. Implements audio support for SDL1
2. Implements blit scaling and correct video rendering for SDL1
7 years ago
Anders Jenbo
22dbe63f75
Fix MSVC builds
7 years ago
Gleb Mazovetskiy
31816a0ed0
[performance] Make DrawArt faster
...
Profiling the menu, DrawArt goes from 94% to 86%, though it's hard to
measure exactly.
7 years ago
Anders Jenbo
3de9b4b1e9
Clean up MPQ loading and make it more portable
7 years ago
Anders Jenbo
5b2a878945
Remove check for multiple application instances
...
(it's currently not working any way)
7 years ago
Anders Jenbo
55717bb429
Remove RegisterClassEx part of miniwin
7 years ago
Gleb Mazovetskiy
85295838a4
An option to use SDL1 instead of SDL2
...
Adds a USE_SDL1 build option to use SDL v1 instead of v2.
This is useful for porting Diablo on devices that don't support SDL2,
such as the RetroFW / OpenDingux devices (e.g. RG300 Retro Gaming Handheld)
Not yet supported:
* Fullscreen
* Upscaling
* Audio
7 years ago
Mathieu Maret
19f5686770
Catch exception by reference
7 years ago
Mathieu Maret
89ec0538f5
Correct copy elision warning
...
moving a local object in a return statement prevents copy elision
7 years ago
Anders Jenbo
049178cb2e
Clean up load/save code
...
Remove most call to memcpy in preperation for Big Endian support
Document what pointers are being skipped
Align save and load code (easier to verify that both are correct)
7 years ago
Anders Jenbo
a41753e813
Fix crash when exiting and font isn't loaded
7 years ago
Anders Jenbo
5cadee74c2
Fix a few compiler warnings
7 years ago
Nam Nguyen
7e2bd7c967
detect 64-bit platform on windows, gcc, clang, arm and ppc
...
sources:
Use of #ifdef __LP64__ suggested by @brynet .
https://stackoverflow.com/a/40033930
7 years ago
Nam Nguyen
111d147d72
Fix copying from framesize_t (4 bytes) to nextsize (8 bytes)
...
Copy framesize_t (4 bytes) to nextsize (8 bytes) then shift 32 bits to zero out
the most significant 32 bits.
Use of #ifdef __LP64__ suggested by @brynet .
7 years ago
Anders Jenbo
0d39f6fe08
Remove unused miniwin poarts
7 years ago
Anders Jenbo
f7fda58cd2
Remove check for Office 95
7 years ago
Manuel K
71118210db
Use NUM_DIFFICULTIES
7 years ago
Anders Jenbo
6a73d98e25
Remove reamaning dummy methodes only used in sound.cpp and dx.cpp
7 years ago
Anders Jenbo
7479f3a4ff
Strip more dummy code
7 years ago