Commit Graph
454 Commits
Author SHA1 Message Date
Juliano Leal Goncalves 3b015085de ♻️ Pass ItemStruct on item RespawnItem function 2021-04-07 18:34:02 +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
Gleb Mazovetskiy 01574de6a8 Simplify InitPlrGfx
It was tracking each type of graphics individually but they're always
initialized together.
2021-04-07 03:35:55 +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
Juliano Leal Goncalves 9021f8daa5 ♻️ Pluralize global 'item' array variable 2021-04-06 11:45:28 +02:00
Anders Jenbo 69b11edace [hellfire] 🐛 Apply the zen fix
Going over the change history of Hellfire and Diablo appears that the
difference was an early version of the fix from patch 1.07
2021-04-05 12:37:48 +02:00
Anders Jenbo 97716c26ec 🐛 Update xp bar when gaining xp 2021-04-04 05:57:59 +02:00
Juliano Leal Goncalves b9fdf02925 🐛 Spend only needed points when shift+clicking stats
When the stat points needed to reach a given attribute's cap is less
than the total amount of points remaining to distribute, only the
necessary points will be spent now, leaving the rest to be spent on
other attributes.
2021-04-04 01:55:44 +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
Anders Jenbo fd64193208 🐛 Implement missing Hellfire arrow types 2021-03-31 07:06:20 +02:00
Anders Jenbo 331a540fc3 🔥 Remove the auricGold variable 2021-03-29 02:22:07 +02:00
Anders Jenbo 8196bdbd31 ✨ Set the initial ready spell when creating a new hero 2021-03-29 02:19:01 +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 fbd86cd3c5 🎨 Mark noreturn functions as such 2021-03-26 02:24:32 +01:00
Anders Jenbo ac9ae2e062 🐛 Fix loading of sorceror graphics
This also detangles some of the hellfire wip classes and duplicate
tables
2021-03-21 13:13:22 +01:00
Anders Jenbo 8f09cc3034 [diablo] 🐛 Correct spelling of Sorcerer
Fixes #1074
2021-03-21 12:18:10 +01:00
Anders Jenbo cc47080074 🐛 Correctly calculate the player _pDamageMod when creating a new hero
Fixes #140
2021-03-20 20:52:13 +01:00
Anders Jenbo 38fdf34c14 💄 Apply code style 2021-03-20 20:39:28 +01:00
Anders Jenbo 1d537e0a93 🚨 Add missing cases to most switches 2021-03-20 20:39:28 +01:00
Anders Jenbo 31467cc949 ♻️ Remove all usage of basic WIN32 types
Note that several WinAPI types are still in use (misc.h)
2021-03-20 20:39:28 +01:00
Anders Jenbo 17803d5923 ♻️ Apply proper types to PlayerStruct 2021-03-14 15:38:23 +01:00
Anders Jenbo 8e8e31627f 🐛 Only load hotkeys on new game 2021-03-14 08:36:35 +01:00
qndel f80a0f9887 [diablo] 🐛 Update vision when walking
Previously areas of visibility would be left on the level despite the
player having moved away, especially prevelant if wearing items with low
visibility effect.
2021-03-12 08:02:15 +01:00
Anders Jenbo def2253386 ♻️ Move monster.h related structs and enums and apply propper types 2021-03-11 03:36:32 +01:00
Anders Jenbo d6ec6395e0 ♻️ change QuestTalkData in to an array of _speech_id
This gets rid of casting QuestTalkData to DWORD/int in various parts of
the code.
2021-03-11 01:40:13 +01:00
Juliano Leal Goncalves 103cde53ff ♻️ Make options struct hierarchical 2021-03-10 10:11:42 +01:00
qndel 2d055e3a2e ✨ Auto pickup gold 2021-03-06 07:37:30 +01:00
Anders Jenbo dd73ff2cf0 🚩 Add option for disabeling frindly fire (#1104) 2021-03-06 04:15:54 +01:00
Juliano Leal Goncalves 37466890e0 ♻️ Extract 'ItemStruct.isEmpty()' function 2021-03-05 03:52:11 +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 f87bc0ca8b Clea up some duplicate item code 2021-02-27 23:04:06 +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
pionere e240dcd606 code cleanup using std::max 2021-02-20 00:13:36 +01:00
pionere f5c1079d6f eliminate unused code 2021-02-19 22:04:11 +01:00
Anders Jenbo 60d3e9ceb1 Clean up rendering 2021-02-19 03:05:12 +01:00
Anders Jenbo 480792c53b [hellfire] Fix new gold piles having the wrong graphics 2021-02-19 02:56:53 +01:00
qndel ab9911064f unify checks for single and multiplayer 2021-02-18 22:32:01 +01:00
Anders Jenbo 7d39c4c9d1 Remove checks for duplicate items
- We fixed the normal way of duplicating items.
- Legit items can be seen as duplicates in some instances.
- It doesn't fix the issue since the player has to drop both for it to
trigger.
2021-02-18 21:11:46 +01:00
pionere f22907e2e6 remove unnecessary (and wrong) stat value checks 2021-02-17 19:39:15 +01:00
qndel 8186d9f174 update damage after leveling up (#1002) 2021-02-13 02:09:27 +01:00
FluffyQuack e7486163af Refactored StartWalk(), StartWalk2(), and StartWalk3() into one function, and added some comments. 2021-02-03 19:01:00 +01:00
FluffyQuack 007b5a576c Refactored DoWalk(), DoWalk2(), and DoWalk3() into one function and added comments. 2021-02-03 19:01:00 +01:00
qndel 6788d6a351 fix knockback light 2021-01-31 16:50:09 +01:00
Anders Jenbo dcde3cd3c8 Fix old save games where some monsters hade 0 instea of NO_LIGHT 2021-01-31 09:56:25 +01:00
Anders Jenbo 9c0bc202c8 Fix additional wrong checks for monsters lights 2021-01-31 08:36:06 +01:00
Anders Jenbo fdf5d514b6 Remove redundant code from CastSpell 2021-01-23 22:21:12 +01:00
Anders Jenbo 374e8177ef Remove wave.cpp 2021-01-23 21:24:25 +01:00