DakkJaniels
b0cb925a5e
Add print screen to event handler for UI ( #6058 )
3 years ago
Gleb Mazovetskiy
1788d2f8ec
Remove miniwin
...
Event handling code moved to `engine/events.{hpp,cpp}`.
3 years ago
DakkJaniels
d683039bdd
stop shaking camera if dead diablo loaded from save. ( #4149 )
3 years ago
Gleb Mazovetskiy
680ab5ec40
Overhaul backbuffer state handling
...
When rendering directly to the output buffer, we need to maintain the
state of what has been drawn and what needs redrawing per-buffer.
We previously tried to do it implicitly by checking `SDL_DOUBLEBUF` and
other flags. The previous implementation was broken in several
ways, resulting in rendering issues on devices that support 8-bit output
directly.
Changes this mechanism to explicitly maintain buffer state per output
buffer. The new mechanism doesn't require knowledge of the number of
buffers, and thus also works correctly with triple-buffering.
Fixes #5447
3 years ago
obligaron
a0bba9b152
Only color cycle animations if game logic is processed
3 years ago
Gleb Mazovetskiy
4cf0053ece
Set underlying type for all the enums
...
Reduces rg99 binary size by 3 KiB.
4 years ago
Gleb Mazovetskiy
ba34bafb3f
Use SDL events directly
...
Removes redundant miniwin events and queue, using SDL events directly instead.
Demo migrated using this script: https://gist.github.com/glebm/8a73b04f695de96f344cc2e35151e03e
4 years ago
Gleb Mazovetskiy
adf40f5c80
misc_msg: Always use `lParam` for mod state
...
Previously, keyboard events used `lParam` for modifier key state,
while mouse events used `wParam`.
Changes the mouse events to use `lParam`, which allows us to
change `lParam` to `uint16_t`.
Demo migrated with a script.
4 years ago
Gleb Mazovetskiy
a4ac41cece
Replace `DVL_VK` virtual key codes with `SDLK`
4 years ago
obligaron
ebfb519ee0
Rename gbQuietMode to HeadlessMode
4 years ago
obligaron
40283ca69e
Introduce timedemo based tests
4 years ago
Anders Jenbo
a7be622aa3
Clean up naming of event handler
4 years ago
Trihedraf
5ee6e5dd3a
Make zoom a setting in the menu ( #4931 )
4 years ago
Anders Jenbo
6d56058708
Move level generation to subfolder
4 years ago
Anders Jenbo
54cd839cf6
Clean up drlg tests
4 years ago
obligaron
2b0b944afb
Manage friendly mode per player and sync state between clients
4 years ago
ephphatha
7f15aa730d
Move definition of ghMainWnd to utils/display.cpp
...
This variable is controlled/set by the code in that file, this also lets other files have more specific/relevant includes instead of the monolith that is diablo.h
4 years ago
Anders Jenbo
2575f76bbd
Make 'quit game' return to the main menu when NOEXIT is set
4 years ago
obligaron
b52a50f2e7
Add OptionEntry for alternative nest art and remove command line parameter --nestart
4 years ago
obligaron
1f7b0607a6
public game browsing: show difficulty, speed, players and possible incompatibility
4 years ago
staphen
6418d7a2f0
Detect window focus state to mute automatically when starting audio
4 years ago
Felipe Wannmacher
8efbcf2058
Xbox One/Series support ( #3946 )
4 years ago
obligaron
419fe7b7ec
Change Keymapper to OptionCategory/OptionEntry
4 years ago
Anders Jenbo
cf9b5ae79d
Split up graphics settings initializers
4 years ago
Gleb Mazovetskiy
076b0c0c05
Overhaul tests
...
1. Adds a `libdevilution_so` target when tests are enabled.
2. Each test file is now a separate binary target linked against `libdevilutionx_so` (can now run tests in parallel).
3. Tests are now defined in a separate `test/CMakeLists.txt` file.
4. Building the tests is now controlled by the standard `BUILD_TESTING` option (defined by CTest).
5. Tests are now built by default.
6. On CI, test errors are now reported.
Also:
* `.clang-format`: Enable SortIncludes in tests
* `path_test.cpp`: Fix -Wsign-compare
4 years ago
Anders Jenbo
4dd8b121ec
Replace TTF with PCX font
5 years ago
obligaron
3bd6091297
Rename debug_mode_key_i to DebugDisableNetworkTimeout
5 years ago
obligaron
f9192d2312
Remove debug command line argument -^ (Enable debug tools) and added
...
scrollview debug command
5 years ago
obligaron
0acaec710c
Remove -m debug command line
5 years ago
BC Ko
2cae444eb2
documentation cleanup: diablo
5 years ago
Anders Jenbo
783e946fd3
Make enabeling quests a command
5 years ago
Anders Jenbo
d07b2204d3
Remove -j argument
...
Use the changelevel command instead
5 years ago
Anders Jenbo
4a1e4c599b
Port debug vision to a command
5 years ago
Anders Jenbo
f931778b90
Remove debug_mode_key_w
...
Replaced by debug commands
5 years ago
Anders Jenbo
6bc8475e8c
Clean up debug commands for loading levels
5 years ago
Anders Jenbo
4c6a5bab56
Clean up god mode
5 years ago
obligaron
77f9bded9e
Introduce demo namespace
5 years ago
Anders Jenbo
d523fc1e81
Cleanups
5 years ago
Anders Jenbo
eda4a5061e
Implement demo recording and playback
...
This records all keyboard and mouse events to a file and lets you play
it back at a later point with a differen game speed.
5 years ago
obligaron
fba534de0a
Remove unused LastMouseButtonTime
5 years ago
Anders Jenbo
ab8afa7cd7
Fix edge cases in mouse action tracking code ( #2452 )
...
Fixes #2431
Also:
- Track spell targets
- Merge repeat walk in to the new repeat action code
- Avoid time based repeats (use action frame instead)
5 years ago
Anders Jenbo
4260d4cfcc
Add OperateObject to MouseAction
...
For continiously operate fountains etc
Fixes #1133
5 years ago
Anders Jenbo
f4897c3139
Clean up MouseAction code
5 years ago
Anders Jenbo
a19e7b2a3b
Remove some more use of miniwin
5 years ago
FluffyQuack
ba60907853
Hold mouse button to keep attacking (Diablo 2-style) ( #2349 )
5 years ago
Jonathan Bergeron
57d445d32f
made pause / unpause safer and fixed issue with autopause when losing focus during the loading screen
5 years ago
JoBergeron
be3f1ba928
Pause game and mute music when game window loses focus ( #2337 )
5 years ago
Anders Jenbo
352a0ca510
Place local symbols in an anonymous namespace
5 years ago
Anders Jenbo
a7c7fa0030
Fully apply clang-tidy/format to all files
5 years ago
obligaron
0905b8c064
Introduce GameLogicStep
5 years ago