Gleb Mazovetskiy
4ea7ba0f5f
🚚 engine.h: Extract LoadLE32 and LoadBE32
2021-06-21 02:34:28 -07:00
Gleb Mazovetskiy
f9f301b054
🚚 engine.h: Extract Point, Direction, clamp
...
`engine.h` is getting quite bloated. Moves this code to their own files.
2021-06-21 01:36:20 -07:00
obligaron
660f8d2f43
Ensure AnimationInfo is reset when a game is loaded
2021-06-14 02:08:06 +02:00
Juliano Leal Goncalves
d47fc924f3
♻️ Use '_item_indexes' instead of 'int' for 'ItemStruct.IDidx' field
2021-06-14 02:07:06 +02:00
obligaron
ccc1ccf9c3
Introduce ItemStruct.AnimInfo
2021-06-08 10:12:09 +02:00
Anders Jenbo
27591cc29f
Fix spawn save game compatability
2021-06-06 04:51:43 +02:00
qndel
ae221bb860
fix invalid width2
2021-05-31 03:31:06 +02:00
Anders Jenbo
8a7ec56d3a
Player by reference part 2
...
This mostly change player to be by reference instead of by index.
But additionally it does stript checks for gold in the belt, move some
value types to the initialization and short circute a few functiongs.
2021-05-24 21:00:32 +02:00
obligaron
d97131349e
Unify player_graphic memory handling
2021-05-24 20:12:43 +02:00
obligaron
61ba5009ac
Convert to CelSprite
2021-05-24 20:12:43 +02:00
obligaron
3067aeacb8
Remove PlayerStruct._pXYZWidth and replace it with calls to GetAnimationWidth
2021-05-24 20:12:43 +02:00
Juliano Leal Goncalves
b3ec79af4f
Leverage 'Point' in Lighting and Player functions ( #2048 )
2021-05-24 17:28:52 +02:00
Juliano Leal Goncalves
d55cd99dd5
🚚 Rename 'direction' enum to 'Direction'
2021-05-24 04:46:08 +02:00
Anders Jenbo
a095bc0bf7
♻️ Migrate more code away from miniwin
2021-05-13 02:30:18 +02:00
obligaron
7ed009ecb7
Remove PlayerStruct.actionFrame and enable ADL for Walking/Run ( #1939 )
...
- Remove (unused) actionFrame for PM_DEATH
- Remove actionFrame for PM_SPELL
- Remove actionFrame for PM_WALK
- Remove actionFrame
2021-05-13 01:24:26 +02:00
Anders Jenbo
8eb9c930fe
🚨 Fix remaning GCC warnings ( #1929 )
2021-05-11 09:34:45 +02:00
Anders Jenbo
4b577329f4
♻️ Refactor towner initialization
2021-05-07 00:30:23 +02:00
Anders Jenbo
6321bf04d5
♻️ Pass player to towner by reference instead of index
2021-05-07 00:29:46 +02:00
Anders Jenbo
23cec61f15
🎨 Mark Points returned by GetTargetPosition as const
2021-05-02 15:41:25 +02:00
Anders Jenbo
654a2b8834
♻️ Clean up automap code
...
Use Point for x,y pairs. Make helpers for drawing door and squares
2021-05-02 15:27:38 +02:00
Gleb Mazovetskiy
f33f7ae7eb
💨 Do not zero-initalize arrays we write to
...
`std::make_unique<T[]>(size)` always zero-initalizes the array.
C++20 has `std::make_unique_for_overwrite` to avoid that, while
older C++ versions can use the approach applied here.
2021-05-02 05:52:11 +02:00
Gleb Mazovetskiy
8e634ff02c
♻️ Remove _iAnimWidth
...
No longer needed as of #1796
We could probably go further and not expose `ItemAnimWidth`,
but it'd be dangerous because sometimes `_iAnimData` is null.
2021-05-02 02:05:36 +02:00
Gleb Mazovetskiy
47c93c2f9c
🧹 Fix more -Wformat warnings
2021-05-01 22:19:27 +02:00
Vladimir Olteanu
c319344c50
Load/save cleanup ( #1766 )
2021-04-30 08:44:11 +02:00
Anders Jenbo
3b04f67194
🔥 Remove a chunk of miniwin types
2021-04-29 23:04:56 +02:00
obligaron
16b3b38908
Move NewPlrAnim logic to AnimationInfo
...
Adjust SetNewAnimation-Parameter Names to Class Member
Adjust NewPlrAnim-Parameter Names to SetNewAnimation-Parameter Names
2021-04-29 04:33:51 +02:00
obligaron
1de46a8495
Rename member variables
2021-04-29 04:33:51 +02:00
obligaron
0b5183f63e
Introduce AnimationInfo
...
Update AnimationInfo.DelayLen comment
2021-04-29 04:33:51 +02:00
Vladimir Olteanu
bea21a5e20
Replace LOAD_LE32 & LOAD_BE32 with signedness- and endian-agnostic equivalents
2021-04-28 20:11:51 +02:00
Anders Jenbo
b69d18f12d
🌐 Enable translation of all remaning strings
2021-04-25 21:32:41 +02:00
obligaron
239a43cc1c
Remove "AnimWidth2" expect for missiles ( #1680 )
2021-04-25 13:32:33 +02:00
Anders Jenbo
2bd13451a1
♻️ Apply point positioning to all remaning entities
2021-04-25 01:25:48 +02:00
Anders Jenbo
98cd435fba
♻️ Apply point types to missiles
2021-04-24 21:41:04 +02:00
Anders Jenbo
efbe8a8338
♻️ add possition points to monsters
2021-04-24 20:29:52 +02:00
Anders Jenbo
7912e510f0
🎨 Clean up overuse of SDL types
2021-04-24 17:07:07 +02:00
Anders Jenbo
275404029e
♻️ Cleanup player temp variables
2021-04-24 17:07:07 +02:00
Anders Jenbo
a5f062b747
🎨 Use stdint instead of SDL types
2021-04-24 05:17:59 +02:00
Anders Jenbo
e4cfad3196
♻️ Use points instead of individual fileds for player structure
2021-04-24 04:46:08 +02:00
Anders Jenbo
1e3ed903be
🎨 strip redundant else
2021-04-22 00:39:48 +02:00
Anders Jenbo
97d7171123
🔥 Get rid of _ptargx/y
2021-04-21 03:55:27 +02:00
Anders Jenbo
373f28736f
🎨 Acceptable parts of modernize-*
2021-04-19 22:42:19 +02:00
Anders Jenbo
c89bd9c001
🚨 Fix remaning warnings for clang and gcc
2021-04-19 02:44:39 +02:00
Anders Jenbo
5fdb9ce459
🎨 Format code
2021-04-19 00:37:33 +02:00
Anders Jenbo
946ff5b0fa
♻️ Performe static casts when load save game data
2021-04-18 23:27:21 +02:00
Anders Jenbo
61d15e23db
🎨 Apply direction enum to monsters and relations
...
Missiles _mimfnum is being used for a lot more then just directions and
can also be a 16 degree direction so can't apply enum verbs and
restricitons to it in most cases. This in turns also affects SetMissDir
and some other functions that have to stay int.
2021-04-18 23:13:03 +02:00
Gleb Mazovetskiy
2c924e1ab1
🐞 pfile: Fix stale tables after leaving a game
...
In multiplayer, the hash and block tables are kept around between the
saves (presumably to improve performance).
When leaving the game, they should be cleared.
Clearing of the tables is handled by `Archive::Close` in `mpqapi.cpp`.
After 135f5e03c7 ,
which moved the archive closing inside `pfile_write_hero`, the tables
were no longer cleared on `pfile_flush_W` (because the archive was
already closed when it was called).
To fix the issue, this commit adds a `clear_tables` argument
to `pfile_write_hero` and removes the `pfile_flush_W` method.
Bug reported and root cause found by @Eider-McDuck:
> Example to reproduce: Have 2 vanilla savegames, join a game with the first,
> then leave, then join a game with the second, then drop an item on the floor.
2021-04-16 15:50:13 +02:00
Anders Jenbo
997c1dba55
🚚 Split up all.h in to proper header relations
2021-04-16 01:04:54 +02:00
Anders Jenbo
f450d6a125
🚚 Move defines to there proper files
2021-04-16 01:04:54 +02:00
qndel
2677cc14dc
fix loading golem
2021-04-14 19:28:20 +02:00
Juliano Leal Goncalves
28ad9d43c5
🎨 Rename 'plr_class' enum to 'HeroClass'
...
Members were renamed as well for readability.
2021-04-12 20:00:53 +02:00