Anders Jenbo
1c76897f2c
Apply simple const rules using clang-tidy
7 months ago
Gleb Mazovetskiy
d3248e969a
Untangle more dependencies
...
This allows us to make `clx_render_benchmark` and
`text_render_integration_test` standalone.
8 months ago
staphen
308399e31e
Fix errors where Monster::enemy references garbage memory
10 months ago
staphen
bb78f48043
Fix includes in sync.h
10 months ago
staphen
1a2e0eb2e5
Validate length of incoming network messages
10 months ago
Gleb Mazovetskiy
d94bc424df
`sgOptions` -> `GetOptions()`
...
In C++, globals initialization order accross translation units is not
defined. Accessing a global via a function ensures that it is initialized.
This will be needed for #7638 , which will statically initialize change
handlers after the Options object has been initialized.
1 year ago
Gleb Mazovetskiy
dd76f17e4b
Rename endian.hpp to endian_read.hpp
...
Following #7620 , which split the write functions into a separate header.
1 year ago
Gleb Mazovetskiy
a49b1f2d58
Extract Is{Any,None}Of out of engine.hpp
...
Untangles some of the dependencies
1 year ago
Gleb Mazovetskiy
164ebb46bd
Big-endian networking fixes
1 year ago
staphen
e81121a458
Divorce town seed from game seed
1 year ago
Stephen C. Wills
cfe9a8ccdd
Introduce xoshiro RNG to generate dungeon seeds ( #7030 )
2 years ago
staphen
3c5b298391
Capture the level seed and use it to skip failed dungeon layouts
2 years ago
staphen
9e682afe13
Rename glSeedTbl
2 years ago
obligaron
ccaf8d1dac
Use uint8_t in msg/multi/sync and fix MSVC warnings ( #6856 )
...
* Fix MSVC warnings in msg.cpp
* Move TBuffer to multi.cpp
* Fix MSVC warnings in multi.cpp
* SNet* change databytes to size_t
* msg/muli/sync: Change playerId to uint8_t
2 years ago
obligaron
75f68e1b8f
Introduce Player::occupyTile
2 years ago
Gleb Mazovetskiy
e350d9be06
Remove SNetGet/SetLastError
...
The only named code that was ever set is `STORM_ERROR_NO_MESSAGES_WAITING`.
There was also a call in `menu.cpp` which as far as I can tell is not
needed (if it is, it should be replaced by something else).
2 years ago
obligaron
b810c808f5
Msg: Change OnXYZ to get a Player reference instead of a player index
2 years ago
Anders Jenbo
af295b9f48
Fix warnings with conversion between size_t and int for playerId
2 years ago
staphen
444ac9d820
Use memmove when shifting data in high/low priority buffers
3 years ago
ephphatha
da76e131e4
Add getter/setter for character levels to ensure _pNextExper stays synced
3 years ago
Gleb Mazovetskiy
8c1a847f41
Remove utils/stdcompat/string_view.hpp
3 years ago
Gleb Mazovetskiy
74755c8be7
Remove utils/stdcompat/cstddef.hpp
3 years ago
staphen
b1711739c6
Immediately drop player who sends invalid player data
3 years ago
Eric Robinson
074a1f2e0c
Rename: Loopback -> Offline ( #6300 )
3 years ago
staphen
c2814088d2
Add fields to PlayerNetPack for validation
3 years ago
Anders Jenbo
63277a842d
Clean up player packing
3 years ago
Anders Jenbo
efa51993e3
Split network player sync and hero save file
3 years ago
Gleb Mazovetskiy
4fa3732526
Add missing <cstdint> includes
...
Done with the following script:
```ruby
Dir["Source/**/*.{h,c,cc,cpp,hpp}"].each do |path|
v = File.read(path)
next if !v.include?("uint32_t") || v.include?("cstdint")
lines = v.lines
line_num = if lines[2].start_with?(" *")
lines.index { |l| l.start_with?(" */") } + 3
else
3
end
lines.insert(line_num, "#include <cstdint>\n")
File.write(path, lines.join(""))
end
```
then fixed-up manually
3 years ago
Anders Jenbo
5a12f7b0d5
Always spawn players in a valid location
3 years ago
staphen
08592377a7
Clean up logic for PT_MESSAGE prioritization
3 years ago
obligaron
e1cdec438e
When player position desyncs ensure position.old is also updated
3 years ago
qndel
ce2ce86070
inspect players command
3 years ago
obligaron
04b66114f2
Multiplayer: When updating remote player tile ensures that it's free
3 years ago
obligaron
4826e5819e
Multiplayer: Fix desync when teleporting
3 years ago
obligaron
adeeae2c52
Add option to enable singleplayer quests in multiplayer
3 years ago
Anders Jenbo
a29fc3a074
Correct casing for Player::isWalking()
3 years ago
Gleb Mazovetskiy
ca69237d59
Big-endian support for multiplayer
...
Not sure if this works but it's a start
3 years ago
Gleb Mazovetskiy
ec12d7ce44
Player: Optimize to save 40 bytes
3 years ago
obligaron
5b6beac375
Introduce Player::getAnimationFramesAndTicksPerFrame
4 years ago
Anders Jenbo
872456ae5d
Use size_t for a select few pnum variables
4 years ago
Gleb Mazovetskiy
188dc79f6e
Make `Players` a vector
4 years ago
Anders Jenbo
f6b167683c
Correct some header includes ( #5239 )
4 years ago
Vladimir Olteanu
74232f13bf
Get rid of dthread
4 years ago
Anders Jenbo
d1189388f5
Use user by reference
4 years ago
Anders Jenbo
f6f05da485
Clean up game name and password variables
4 years ago
Anders Jenbo
acc4f27f63
Remove last usage of DWORD
4 years ago
Anders Jenbo
9cae6dad7d
Clean up most usages of DWORD
4 years ago
Gleb Mazovetskiy
33ac2cca8e
♻️ Make Monster counters `size_t`
4 years ago
Anders Jenbo
a7be622aa3
Clean up naming of event handler
4 years ago
Anders Jenbo
2d21fc372e
Remove more miniwin code
4 years ago