staphen
7c10af9f26
Fix condition for logging errors in SetHardwareCursorVisible()
4 months ago
obligaron
2c4e69c5c9
Fix MSVC warnings
4 months ago
staphen
f242346791
Run clang-format against diablo.cpp
4 months ago
Chris V.
8037515557
fix scrolling bug in main game when SDL is at least 2
4 months ago
Stephen C. Wills
b30df6341e
Fix compiler warning about cases not handled in switch ( #8262 )
4 months ago
Yggdrasill
753b566350
Use StaticVector for all vendors
4 months ago
Yggdrasill
91dd3bfaa1
Add tests for premium item generation
...
Rename functions
Comments
5 months ago
obligaron
187bdba561
Ensure gap-filling firewall tiles only damage moving players
5 months ago
obligaron
536378a469
Fill gaps in firewall and flamewave
5 months ago
obligaron
78a3edb719
Change MonsterTrapHit and MonsterMHit from index to Monster reference
5 months ago
obligaron
38389b3bf4
Harmonize grow logic of firewall and flamewave
5 months ago
staphen
942bebb664
Fix warnings about mismatched sign in comparisons
5 months ago
Gleb Mazovetskiy
705a007c22
SDL3: Fix nearest-neighbor scaling
...
For some reason, setting the scaling on just `texture` still results
in bluriness. However, setting the default scaling mode on the renderer
fixes it.
Also, does a few more things the SDL3 way.
5 months ago
Gleb Mazovetskiy
db9404dcf6
CMake: Add SDL3_mixer
...
Requires a not-yet-released SDL 3.4.0.
I tried implementing audio with plain SDL and it's too complicated.
5 months ago
Gleb Mazovetskiy
8600e03acf
SDL3: Correctly scale the hardware cursor
...
Getting the correct scale turned out to be a lot trickier in SDL3 than
SDL2. SDL should probably provide an API for this.
Refs https://github.com/libsdl-org/SDL/issues/14271
5 months ago
Gleb Mazovetskiy
fc1d447918
SDL3: Convert events to render coordinates
...
Fixes mouse clicks with hardware cursor + integer scaling.
5 months ago
Gleb Mazovetskiy
20ad675558
SDL3: Build with sound
...
This doesn't implement full sound support but stubs out most of the
sound code under SDL3, so that we can implement it piecemeal.
Implemented here:
1. Sound device initialization.
2. SVid sound playback.
Does not add a dependency on `SDL_mixer`: SDL3 built-ins
are enough to play SVid audio.
5 months ago
Gleb Mazovetskiy
5c320cc9d4
SDL3: Set app metadata
5 months ago
Anders Jenbo
6130351a69
SDL3: Port audio code
5 months ago
Anders Jenbo
cab1d0a0bf
Fix SDL1 (non-8bit) support
5 months ago
staphen
945d82106c
Fix a handful of SDL2 API calls
5 months ago
Anders Jenbo
a60768a73f
SDL3: Backport to SDL 3.2.0
5 months ago
Gleb Mazovetskiy
88f706e0d1
SDL3: Add some backports / compat helpers
5 months ago
Gleb Mazovetskiy
1bbe8bfe08
SDL3: Even more migration
5 months ago
Gleb Mazovetskiy
842b23803f
SDL3: Use endianness swap helpers throughout
5 months ago
Gleb Mazovetskiy
a99cc9b40a
SDL3: Some more migration
5 months ago
Gleb Mazovetskiy
8f6e9810d0
SDL3: Make `text_render_integration_test` build
...
Adds support for just enough SDL3 to make `text_render_integration_test`
work.
6 months ago
Trihedraf
809d276073
Party Panel: Fix Second Column and Shrink Gaps for Single Column in 480p ( #8206 )
...
* shrink gap for better 480p fit
* fix second column going all the way up
6 months ago
Trihedraf
c3cd5a8fbb
Align party panel with other overlay text
6 months ago
Trihedraf
b8feddb38e
Move FPS to top, Adjust Map Text if FPS is on
6 months ago
Trihedraf
ae0b8c27c0
Add mana display to Party Panel
6 months ago
Gleb Mazovetskiy
c0975bfa8b
Add USE_SDL3 build option
...
This does not actually add SDL3 support but adds enough
CMake stuff to make the following succeed:
```bash
cmake -S. -Bbuild-sdl3 -DUSE_SDL3=ON -DDEVILUTIONX_SYSTEM_SDL3=OFF -DDEVILUTIONX_STATIC_SDL3=ON -DNOSOUND=ON
```
`NOSOUND` is needed because `SDL_audiolib` does not support SDL3.
6 months ago
Anders Jenbo
0b18bda64f
Translate hero names in create menu ( #8201 )
6 months ago
Oleksandr Kalko
22dae6896c
Update translation files
6 months ago
staphen
cd18ec35fb
Fix compiler warnings: NUM_MAX_CLASSES not handled in switch
6 months ago
Gleb Mazovetskiy
3bcc869d85
Replace fmt with utils/str_cat in a few places
...
`fmt::format_to` is overkill for our simple formatting needs.
6 months ago
Gleb Mazovetskiy
c31258b0f5
text_render: Support per-glyph overrides
...
Previously, an override font had to contain all the 256 glyphs in the
row that it was overriding. Experiments have shown that this would
cause huge file increase in CJK scripts (+200MiB or so).
Instead, allows the override font to only override some glyphs in a row.
For all glyphs (sprites) that have width 0, we now fall back to
the base font.
6 months ago
Andrettin
d246223f29
Fixed out-of-range vector subscription access for unique monster indices greater than 127
6 months ago
Andrettin
d87c0dcf8a
Player Class Flags ( #8173 )
6 months ago
Andrettin
f6b4665e94
Make Player Class Data Data-Driven ( #8167 )
7 months ago
Anders Jenbo
eab6358c45
Remove unused header charconv ( #8172 )
7 months ago
Andrettin
bda02c4a54
Allow Providing the Item Cursor Frame Number instead of ID in itemdat ( #8150 )
7 months ago
Gleb Mazovetskiy
c6f635f881
RenderPresent: Update PalSurface in SDL2
...
When rendering directly to output surface, PalSurface may need to be
updated after a flip. This is not actually needed on DOS but may be
needed on other platforms in the future.
7 months ago
Gleb Mazovetskiy
ea8a348371
SDL2: Improve best display mode selection ( #8166 )
7 months ago
Gleb Mazovetskiy
50ac397013
Add 8-bit video mode for SDL2 and use it in DOS
...
There are still some glitches in screen transitions but that's probably
our fault. We can improve it later.
7 months ago
Gleb Mazovetskiy
469d57ce68
dos: Load on main thread
...
I tried the interrupt handler approach but couldn't get it to work,
so for now we're back to loading and updating the progress bar
synchronously on DOS.
7 months ago
Gleb Mazovetskiy
f99475657a
dos: Clean up paths for better logging
...
1. Prevents warnings in `--verbose` mode from unimplemented `SDL_GetBase/PrefPath`.
These were the first 4 "This operation is not supported" messages
that were logged previously.
2. Removes Linux directories from MPQ search paths on DOS.
3. Uses backslash directory separator on DOS.
DJGPP libc supports both but this is DOS, we should use backslash.
Now the `--verbose` SDL_LOG.txt looks much cleaner:
```
VERBOSE: Paths:
base:
pref:
config:
assets: assets\
VERBOSE: MPQ search paths:
1. ''
VERBOSE: Found: devx in
VERBOSE: Missing: fonts
DEBUG: DOS: Keyboard ISR code size is 48 bytes
DEBUG: Unknown pixel format
DEBUG: SVGA: Ignoring mode 0x102: Bad attributes
DEBUG: SVGA: Ignoring mode 0x104: Bad attributes
DEBUG: SVGA: Ignoring mode 0x106: Bad attributes
DEBUG: SVGA: Ignoring mode 0x107: No double-buffering
DEBUG: SVGA: Ignoring mode 0x112: No double-buffering
DEBUG: SVGA: Ignoring mode 0x115: No double-buffering
DEBUG: SVGA: Ignoring mode 0x116: No double-buffering
DEBUG: SVGA: Ignoring mode 0x117: No double-buffering
DEBUG: SVGA: Ignoring mode 0x209: No double-buffering
DEBUG: SVGA: Ignoring mode 0x20A: No double-buffering
DEBUG: SVGA: Ignoring mode 0x225: No double-buffering
DEBUG: SVGA: VBE lists 42 modes
VERBOSE: Removed file: Diablo1ReadOnlyTest.foo
VERBOSE: Paths:
base:
pref:
config:
assets: assets\
VERBOSE: MPQ search paths:
1. ''
VERBOSE: Paths:
base:
pref:
config:
assets: assets\
VERBOSE: MPQ search paths:
1. ''
VERBOSE: Found: DIABDAT in
VERBOSE: Missing: hfbard
VERBOSE: Missing: hfbarb
DEBUG: That operation is not supported
VERBOSE: Control: device None -> KeyboardAndMouse, mode None -> KeyboardAndMouse
```
7 months ago
Gleb Mazovetskiy
c7b26690c4
dos: Switch to dos-vbe-rebase branch
...
Also cleans up dos-prep.sh and adds a bit of logging to display.cpp
7 months ago
Anders Jenbo
01507d532c
Add basic DOS port ( #8155 )
7 months ago
Gleb Mazovetskiy
50e35166a6
Add a `--log-to-file` flag
...
Useful for platforms like DOS where it's not necessarily easy to
redirect the log output.
7 months ago