Commit graph

797 commits

Author SHA1 Message Date
Anders Jenbo
cd79931ed4 Add iCurs enum 2018-09-23 16:46:00 +02:00
Anders Jenbo
db77557dce ValidatePlayer (#318)
* ValidatePlayer

* Add MAX_SPELLS define
2018-09-23 09:40:05 +02:00
Anders Jenbo
e05679b1c9 Clean up ProcessPlayers (#319)
* Clean up ProcessPlayers

* Change drawhpflag and drawmanaflag to BOOL
2018-09-23 09:38:34 +02:00
galaxyhaxz
42c9076ce5
Sync with nightly (#302) 2018-09-19 14:44:30 -05:00
Dennis Duda
2f7f7d055e Switched all remaining uses of UINT64 to unsigned __int64 to make it compilable on <=VC5 2018-09-18 23:30:25 +02:00
Anders Jenbo
6e50ec5337 Work on LoadPlrGFX 2018-09-12 20:28:09 +02:00
Dennis Duda
6792078180 Merge remote-tracking branch 'devilution/master' 2018-09-10 20:44:41 +02:00
galaxyhaxz
38b498ac4b
Add 'const' to data to match original binary (#200) 2018-09-09 15:40:23 -05:00
Dennis Duda
4183da03ee Merge commit '7e50e6f1d5'
Fix invalid "unusable" spells
(https://github.com/diasurgical/devilution/pull/198)

Switched types to UINT64 and removed the remaining cleaned
up casts.
2018-09-09 14:51:14 +02:00
galaxyhaxz
6d07e15f4e
Fix itemhold and add pfile def (#199) 2018-09-08 17:17:00 -05:00
Dennis Duda
e8b53791d3 DrawInv is now binary exact. 2018-09-05 18:29:40 +02:00
Anders Jenbo
f3e3f38730 Light clean up of UseItem 2018-09-05 12:48:03 +02:00
Andrew Dunstan
e0fab6a6d1 fix type definition of itemhold, avoids overrun into Item2Frm (crashes when byte_641234[] is stripped by compiler due to being unreferenced) 2018-09-01 20:46:22 +02:00
Dennis Duda
2f2d519ec7 Added missing enum values, removed codegen TODOs (fixed with new compiler) - now binary exact! 2018-08-28 23:33:34 +02:00
Dennis Duda
0ba52840b4 Use UINT64 instead of unsigned __int64, more in line with uses of DWORD 2018-08-28 23:05:23 +02:00
Dennis Duda
22718733d0 Fixed nasty bug in CalcPlrItemVals, now binary exact! 2018-08-28 22:45:48 +02:00
Dennis Duda
2f25466ed6 Cleaned up CheckInvSwap
Now binary exact except for the usual `xor; inc` vs `push 1; pop` switch.
Updated the type of `_iIdentified` to `BOOL` as well (since every write to it actually is 0 or 1).
2018-08-28 16:40:49 +02:00
Dennis Duda
3577cfe747 Reordered switches to normal order 2018-08-27 18:10:26 +02:00
Dennis Duda
5d1dd0e934 Added enum value for _iCurs assignement 2018-08-27 18:10:26 +02:00
Dennis Duda
45303c98b1 Updated cleanup of CreatePlrItems:
- Now 99% accurate (can't get the last `GetPlrHandSeed` call in the switch to optimize the way it is in the binary, TODO for that added)
- Switched `_ui_classes` enum members out with `plr_classes` ones
- Added TODO tags for missing debug logic from the 1.00 build
2018-08-27 18:10:26 +02:00
Dennis Duda
84617bc1cc Cleaned up CreatePlrItems. 2018-08-27 18:10:26 +02:00
Dennis Duda
c056e67de7 Some minor adjustments from more asm comparison work 2018-08-24 13:34:18 +02:00
Dennis Duda
93ee15d70f Removed ptrplr since that was only used in the PSX version. 2018-08-24 13:34:18 +02:00
Dennis Duda
258b6fe7ec Reverted the Str/Mag/Dex/Vit checks back to plr[myplr] 2018-08-24 13:34:18 +02:00
Dennis Duda
dbd4b11821 Further cleanup of CalcPlrItemVals
The stack var setup is now 100% correct, and the function is only 5 bytes larger than the original now.

Some minor differences remain, but it's very close now!
2018-08-24 13:34:18 +02:00
Dennis Duda
634ae12ede Updated CalcPlrItemVals with the new player class enum vals
and completed docs.
2018-08-24 13:34:18 +02:00
Dennis Duda
5eae298035 Cleaned up CalcPlrItemVals 2018-08-24 13:34:18 +02:00
Dennis Duda
2a492cf9c3 Merge remote-tracking branch 'devilution/master' 2018-08-23 18:06:00 +02:00
galaxyhaxz
5ed2336e90
Fix types of animation data (#176) 2018-08-22 23:15:16 -05:00
Dennis Duda
4272b18daf Cleaned up SetPlrHandItem
Binary exact
2018-08-21 21:38:13 +02:00
galaxyhaxz
fa64b2148d
Add defines [W.I.P] (#160) 2018-08-15 22:13:15 -05:00
galaxyhaxz
775ae59e18
Fix function signatures and others (#158)
Fix InitObjects, themes.cpp, names
2018-08-12 18:32:48 -05:00
galaxyhaxz
a336c38226
Fix random(idx,v) calls (#157) 2018-08-10 22:45:32 -05:00
galaxyhaxz
56e625cf7f
Fix bosses not dropping unique items 2018-07-08 19:47:57 -05:00
ApertureSecurity
f34ab0a412 Fix items.cpp regression 2018-07-07 15:10:54 -05:00
Stephan Unverwerth
c8af0523ac refactor leveltype to use macros (#103) 2018-06-29 10:40:22 -05:00
Adam Heinermann
87ca6557c3 Changed _oBreak and _oSelFlag to char (#95)
* Changed _oBreak and _oSelFlag to char
2018-06-28 08:53:06 -05:00
galaxyhaxz
49a6f4f9fc
Add include guards, prepare for XRef (#28)
Add definitions, other junk.
2018-06-20 05:17:44 -05:00
galaxyhaxz
2ed8daf35d
Final typos of the IPL enum 2018-06-19 02:07:02 -05:00
galaxyhaxz
bb01c6f084
Remove the "fear factor" (#21)
Snakes, spiders, Demons, what scares you?
2018-06-18 19:16:32 -05:00
galaxyhaxz
ade35fb4a4
Fixed decompilation, game can now be played start to finish (#15)
Fix Lazurus seals, dropping items, and Shrine spawning.
2018-06-14 05:53:03 -05:00
galaxyhaxz
fdf8fc1c6e
Update items.cpp 2018-06-10 18:08:37 -05:00
galaxyhaxz
931e537efc
Update items.cpp 2018-06-08 22:10:25 -05:00
mewmew
f5f76f8b8a Fix build on Linux 2018-06-08 11:23:30 +02:00
galaxyhaxz
b1ee40f6e7
Revert "Add preliminary support for compiling on Linux" 2018-06-07 22:00:35 -05:00
mewmew
20fdbf8aa2 Fix compile errors on Linux
Source/../types.h:35:10: fatal error: DiabloUI/_diabloui.h: No such file or directory
 #include "DiabloUI/_diabloui.h"

---

Source/../Source/init.h:43:109: error: fastcall and stdcall attributes are not compatible
 LRESULT (__stdcall *__fastcall SetWindowProc(void *func))(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);

---

Source/missiles.cpp:915:27: error: unable to find numeric literal operator ‘operator""i64’
  *(_QWORD *)&Dirs[0][2] = 0i64;

---

Source/world.cpp:38:1: error: narrowing conversion of ‘3937053354’ from ‘unsigned int’ to ‘int’ inside { } [-Wnarrowing]

---

Source/lighting.cpp:429:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘unsigned char’ inside { } [-Wnarrowing]

---

Source/objects.cpp:5459:62: error: unable to find numeric literal operator ‘operator""i64’
      while ( !(plr[v53]._pMemSpells[1] & ((unsigned __int64)(1i64 << v60) >> 32) | plr[v53]._pMemSpells[0] & (unsigned int)(1i64 << v60)) );

---

Source/control.cpp:488:9: error: unable to find numeric literal operator ‘operator""i64’
   v26 = 1i64;

---

Source/objects.cpp:243:1: error: narrowing conversion of ‘255’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]

---

Source/gamemenu.cpp:22:1: error: narrowing conversion of ‘2147483648’ from ‘unsigned int’ to ‘int’ inside { } [-Wnarrowing]

---

Source/sound.cpp:41:88: error: narrowing conversion of ‘240’ from ‘unsigned int’ to ‘char’ inside { } [-Wnarrowing]

---

Source/quests.cpp:46:1: error: narrowing conversion of ‘255’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]

---

Source/player.cpp:4666:8: error: unable to find numeric literal operator ‘operator""i64’
  v14 = 0i64;

---

Source/init.cpp:546:109: error: fastcall and stdcall attributes are not compatible
 LRESULT (__stdcall *__fastcall SetWindowProc(void *func))(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)

---

Source/items.cpp:114:1: error: narrowing conversion of ‘(item_effect_type)255’ from ‘unsigned int’ to ‘char’ inside { } [-Wnarrowing]

---

Source/items.cpp:307:1: error: narrowing conversion of ‘(unique_base_item)255’ from ‘unsigned int’ to ‘char’ inside { } [-Wnarrowing]

---

Source/items.cpp:854:8: error: unable to find numeric literal operator ‘operator""i64’
  v37 = 0i64;

---

Source/items.cpp:471:1: error: narrowing conversion of ‘(item_equip_type)255’ from ‘unsigned int’ to ‘char’ inside { } [-Wnarrowing]
2018-06-07 22:44:03 +02:00
galaxyhaxz
dde68ff89e
Add files via upload 2018-06-06 21:25:54 -05:00