Commit graph

217 commits

Author SHA1 Message Date
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
Gleb Mazovetskiy
da7567f06e InitPlrGfx: Only alloc enough for the class
Previously, the allocation size was the maximum size over all the classes.

RAM usage per player:

* Before: 2.2 MiB (any class)
* After:
  * Warrior: 2.0 MiB
  * Rogue: 1.5 MiB
  * Sorcerer: 1.6 MiB
  * Monk: 1.7 MiB

We now also only allocate memory in multi-player as needed.

This means the game will only use as much RAM for player graphics
as there are players currently in the game.

Less RAM is used for each player because class is now taken into account.
2021-04-07 06:52:07 +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
Anders Jenbo
501c536017 🎨 Clean up appfat 2021-04-06 11:57:08 +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
bba73ea20f Handle mixed item origins in multiplayer 2021-04-01 14:52:44 +02:00
Juliano Leal Goncalves
800dbce066 ♻️ Move options-related structs to new 'options.h' file 2021-03-27 03:26:44 +01:00
Anders Jenbo
a69a76941e ♻️ Clean up InitCutscene 2021-03-24 21:50:19 +01:00
Anders Jenbo
38fdf34c14 💄 Apply code style 2021-03-20 20:39:28 +01:00
Anders Jenbo
60cc8b0df4 🚨 Correct type of event_types
Fixes #1197
2021-03-15 12:18:51 +01:00
Anders Jenbo
17803d5923 ♻️ Apply proper types to PlayerStruct 2021-03-14 15:38:23 +01:00
Juliano Leal Goncalves
103cde53ff ♻️ Make options struct hierarchical 2021-03-10 10:11:42 +01: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
Anders Jenbo
70ca20b59f Clean up Hellfire special cases 2021-02-25 05:50:24 +01:00
Anders Jenbo
b4e78c5e79 Remove some unused junk 2021-02-25 05:37:17 +01:00
Anders Jenbo
36a196389b Fix remaning basic compiler errors and warnings 2021-02-22 13:51:42 +01:00
pionere
97d53ced7e get rid of a few warnings (strncpy) 2021-02-19 22:04:11 +01:00
pionere
d5a0fa8e85 get rid of a few warnings 2021-02-19 22:04:11 +01:00
qndel
ab9911064f unify checks for single and multiplayer 2021-02-18 22:32:01 +01:00
qndel
c0f5749728 Fix RNG diverging during level generation depending on the code path
The consequences has mostly mitigated after wards, but this will make things make more sens when analysing the state of the code.
2021-02-01 06:44:16 +01:00
Anders Jenbo
aa7354aa57 Merge branch 'master' of github.com:diasurgical/devilution 2021-01-19 03:48:13 +01:00
FluffyQuack
e3d1b19761 A bunch of comments explaining how variables are used. Mainly for structs.h, but a tiny bit for movement code and game loop as well. 2021-01-19 03:44:47 +01:00
Anders Jenbo
4ffbb32952 [hellfire] Allow continuing Diablo saves in Hellfire and vice versa 2021-01-13 16:10:21 +01:00
Anders Jenbo
6786ebbd1a Merge branch 'master' of github.com:diasurgical/devilution 2021-01-11 19:28:45 +01:00
Anders Jenbo
78eca7c892 [hellfire] NetInit 2021-01-11 19:02:15 +01:00
Anders Jenbo
5bb5d842d3 [hellfire] multi_process_network_packets 2021-01-11 11:52:25 +01:00
Anders Jenbo
3a8dab462e [hellfire] multi_send_msg_packet 2021-01-11 11:39:06 +01:00
Anders Jenbo
0c96e32f19 Unify all defines, enums and structs 2021-01-08 20:53:06 +01:00
Anders Jenbo
6f8f4c3293 Unify another chunk of simple Hellfire code paths 2021-01-07 07:19:07 +01:00
Anders Jenbo
043d15db66 [hellfire] PackPlayer and frinds 2021-01-01 01:34:54 +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
72e2637061 Merge branch 'master' of github.com:diasurgical/devilution 2020-10-25 17:38:06 +01:00
Gleb Mazovetskiy
ec329e645c Fix all "no-write-strings" warnings 2020-10-25 15:37:51 +01:00
Anders Jenbo
e90f84dd03 Merge branch 'master' of github.com:diasurgical/devilution 2020-10-22 22:14:49 +02:00
qndel
36dba1cc1c
cleanup (#2127) 2020-10-22 17:26:24 +02:00
Anders Jenbo
e073422ce7 Unify executable for Spawn and Retail
The game will now autodetect if it should run in shareware mode or full
retail based on the found mpq file. Additionally it can beforced in the
shareware mode with --spawn even if the retail data is found.

This simplifies a lot of the spagetty code and lets us better refactor,
also worth noteing is that we won't have to setup a secound set of build
tests.
2020-10-20 19:42:01 +02:00
Anders Jenbo
b62b3375bd Merge branch 'master' of github.com:diasurgical/devilution 2020-10-13 02:05:36 +02:00
qndel
fd5b12710f some defines 2020-10-12 14:16:39 +02:00
Anders Jenbo
2d6c1efeab Merge branch 'master' of github.com:diasurgical/devilution 2020-10-12 10:46:28 +02:00
qndel
09c085b78e minor cleanup 2020-10-12 00:08:59 +02:00
Anders Jenbo
7e04c63977 Merge branch 'hellfire' of github.com:diasurgical/devilution 2020-10-11 23:53:07 +02:00
Anders Jenbo
f1a193e1e2 Merge branch 'master' of github.com:diasurgical/devilution 2020-10-11 07:01:25 +02:00
pionere
92cc9d589c Apply another bunch defines 2020-10-11 06:42:13 +02:00
pionere
f0a51ccf65 use defs instead of literals 2020-10-11 06:37:14 +02:00