Commit Graph
99 Commits
Author SHA1 Message Date
obligaron adeeae2c52 Add option to enable singleplayer quests in multiplayer 2023-02-27 05:00:07 +01:00
Anders Jenbo 872456ae5d Use size_t for a select few pnum variables 2022-08-26 13:22:04 +09:00
Anders Jenbo f6f05da485 Clean up game name and password variables 2022-07-16 20:15:07 +02:00
Anders Jenbo 2d21fc372e Remove more miniwin code 2022-07-10 21:13:39 +02:00
obligaron 1f7b0607a6 public game browsing: show difficulty, speed, players and possible incompatibility 2022-02-20 12:18:31 +01:00
staphen aeddbb7f98 Reset game info after failing to join game 2022-01-07 14:07:49 +01:00
Gleb Mazovetskiy 076b0c0c05 Overhaul tests
1. Adds a `libdevilution_so` target when tests are enabled.
2. Each test file is now a separate binary target linked against `libdevilutionx_so` (can now run tests in parallel).
3. Tests are now defined in a separate `test/CMakeLists.txt` file.
4. Building the tests is now controlled by the standard `BUILD_TESTING` option (defined by CTest).
5. Tests are now built by default.
6. On CI, test errors are now reported.

Also:

* `.clang-format`: Enable SortIncludes in tests
* `path_test.cpp`: Fix -Wsign-compare
2021-12-16 20:26:51 +00:00
Gleb Mazovetskiy 3d308983a8 Migrate to libmpq
libmpq is a much simpler alternative to StormLib for reading MPQ archives.

We use our own fork of libmpq: https://github.com/diasurgical/libmpq

Impact:

* DevilutionX is now a lot more portable. Unlike StormLib, libmpq only
  needs platform-specific code for Windows.
* Locks around file access **removed** (instead we duplicate the file descriptor for streamed audio only).
* RAM usage is **300 KiB** lower than StormLib.
* Stripped release linux_x86_64 binary is **32 KiB** smaller.
* Amiga build now hangs instead of crashing.
2021-11-06 23:51:42 +00:00
staphen ffbbcc6d62 Support unencrypted multiplayer games with no password 2021-10-25 01:14:37 +02:00
Anders Jenbo b4f699f0a3 Validate item network messages 2021-10-12 04:56:30 +02:00
Anders Jenbo a56452eec3 Validate player sync 2021-10-12 04:56:30 +02:00
Anders Jenbo 58257c7cdc Remove unessesery null checks in multi_msg_add 2021-10-03 10:12:14 +02:00
Anders Jenbo 7001ead263 Mark network pointers as const 2021-10-02 20:30:16 +02:00
Siddharth singh chouhan ba161f623e Move documentation from implementations to declarations. (#2858) 2021-09-13 15:45:38 +02:00
Anders Jenbo fc353fc799 Clang-tidy: FunctionCase 2021-07-03 15:46:39 -07:00
Andrew James 20190ee687 Update random number functions to avoid IB (#2226)
* Update random number functions to avoid IB

Most calls to set seed were using uint32_t already, there were a few variables which were better served by having their type changed from signed to unsigned. The one exception is ItemStruct::_iSeed. This is an identifier that also happens to be used as a seed occasionally so a comment was added documenting this exception.

Includes suggested style changes for Source/towners.h; Source/towners.cpp; Source/msg.h; Source/multi.h
2021-06-27 10:37:09 +02:00
Anders Jenbo a095bc0bf7 ♻️Migrate more code away from miniwin 2021-05-13 02:30:18 +02:00
Anders Jenbo f884ba5340 🔥 Remove more miniwin dependencies 2021-04-29 23:04:56 +02:00
Anders Jenbo 3b04f67194 🔥 Remove a chunk of miniwin types 2021-04-29 23:04:56 +02:00
Jmgr c33182d6de Modernize deprecated headers 2021-04-25 02:50:31 +02:00
Anders Jenbo 7912e510f0 🎨 Clean up overuse of SDL types 2021-04-24 17:07:07 +02:00
Anders Jenbo a32ac83090 🎨 cleanup trivial trype comparisons 2021-04-23 02:48:25 +02:00
Anders Jenbo f004c78824 🧹 performance-unnecessary-value-param 2021-04-22 00:08:19 +02:00
Anders Jenbo f8e3672469 ♻️Fully apply clang-tidy rules to a few files 2021-04-20 19:39:38 +02:00
Anders Jenbo 5fdb9ce459 🎨 Format code 2021-04-19 00:37:33 +02:00
Anders Jenbo f450d6a125 🚚 Move defines to there proper files 2021-04-16 01:04:54 +02:00
Yuri Pourre ed1ddfdece Exposes player id from multi_send_packet 2021-04-14 17:36:31 +02:00
Anders Jenbo e7ae8ddd04 🚚 Move all enums to there respective headers 2021-04-10 16:30:00 +02:00
Anders Jenbo 2732aea1b2 ♻️ Use GameInfo instead of individual globals 2021-04-10 07:30:12 +02:00
Anders Jenbo 61244c4d93 ♻️ Rearange and apply more enums 2021-04-10 05:24:01 +02:00
Anders Jenbo 93d42b62b8 ♻️ Change BOOL to bool 2021-04-09 15:13:02 +02:00
Anders Jenbo 4ee84aea1a ♻️ Change BOOLEAN to bool
fixup BOOLEAN
2021-04-09 15:13:02 +02:00
Anders Jenbo b1ffdca0a3 ♻️ make better use of enums 2021-04-08 20:29:16 +02:00
Anders Jenbo 433edc63ea ♻️ Consistently use pragma once to guard the headers 2021-04-06 15:21:25 +02:00
Anders Jenbo bfb3c11c2b 🎨 Change namespace to devilution 2021-04-06 15:21:25 +02:00
Anders Jenbo 630e507f63 🚚 Apply namespace 2021-04-06 15:21:25 +02:00
Anders Jenbo bc3dc545da 🔥 Remove unused parts of game creation logic 2021-04-06 12:41:00 +02:00
Gleb Mazovetskiy 0f3951744f diablo.ini: Rename "Fast Walk" to "Run in Town" (#1326) 2021-04-03 02:37:33 +02:00
Anders Jenbo dd73ff2cf0 🚩 Add option for disabeling frindly fire (#1104) 2021-03-06 04:15:54 +01:00
Anders Jenbo d37fb68809 Make header checks portable 2021-03-02 12:17:13 +01:00
Anders Jenbo 39999791b3 Revamp ini options and sync in multiplayer
[NetMsg]
F12=Now you DIE!
F11=Here's something for you.
F10=Follow me.
F9=I need help! Come Here!

[Game]
Speed=50
Fast Walk=1
Grab Input=0
Theo Quest=0
Cow Quest=0

[Audio]
Sound Volume=0
Music Volume=0
Walking Sound=1

[Graphics]
Fullscreen=1
Fit to Screen=1
Scaling Quality=2
Integer Scaling=0
Vertical Sync=1
Blended Transparency=1
Gamma Correction=100
Color Cycling=1

[Diablo]
Intro=0

[Hellfire]
Intro=0
SItem=

[Phone Book]
Entry1=127.0.0.1

[Network]
Bind Address=0.0.0.0
2021-03-01 11:52:26 +01:00
qndel ab9911064f unify checks for single and multiplayer 2021-02-18 22:32:01 +01:00
Anders Jenbo 4ae75753c8 Merge branch 'master' of github.com:diasurgical/devilution 2020-11-09 01:24:02 +01:00
Anders Jenbo c19a15471b Reorder multi.cpp 2020-11-04 11:02:27 +01:00
Anders Jenbo 56eae4c277 Merge branch 'master' of github.com:diasurgical/devilution 2020-10-06 17:27:03 +02:00
Colin Pitrat 0ea1b81772 Fix typos 2020-10-04 14:17:31 +02:00
Joel Falcou c4223d4c29 Per file basis use of extern C 2020-04-22 13:15:29 +02:00
Joel Falcou 64d26a7934 Sanitize use of namespace
Wrap individual headers in dvl namespace to prevent
including standard header in another namespace.
2020-04-22 13:15:29 +02:00
Anders Jenbo 776ab10476 Merge branch 'master' of github.com:diasurgical/devilution 2020-03-29 23:40:05 +02:00
Anders Jenbo 0383f9abcd Add documentation to more files 2020-03-02 02:29:28 +01:00