Anders Jenbo
a2656637e4
🎨 Format source
5 years ago
Gleb Mazovetskiy
92fbd21b11
Fix SDL_Rect warnings on SDL1
5 years ago
Gleb Mazovetskiy
70d1d633bd
Get rid of SCREEN_X / SCREEN_Y
...
GlobalOutputBuffer() now returns a clipped subregion
5 years ago
Anders Jenbo
17803d5923
♻️ Apply proper types to PlayerStruct
5 years ago
Gleb Mazovetskiy
3363e8f8f3
Remove extern C from engine.h
...
The headers don't actually work with C as they're now.
A better long-term solution should be able to use idiomatic C++ throughout
and expose things to other languages via a separate C API layer.
Fixes #1178
5 years ago
Anders Jenbo
069195eba2
💚 Fix 3DS builds
5 years ago
Anders Jenbo
71c7a541ef
🚨 Fix SDL1.2 warnings
5 years ago
Gleb Mazovetskiy
cd59a1c323
Completely replace gpBuffer with CelOutputBuffer
...
`CelOutputBuffer` now contains an `SDL_Surface` and an `SDL_Rect`.
We now have access to SDL surface manipulation functions.
`gpBuffer` and `gpBufEnd` are completely gone 🧹
This results in some FPS loss (250 -> 195) recovered in a subsequent
commit.
5 years ago
Gleb Mazovetskiy
3c4ccfc2e4
CelOutputBuffer: Replace subregion with subregionY
...
We can't do anything with X yet
5 years ago
Xadhoom
cb65d308cf
RNG: do not rely on implicit conversions in arithmetic expressions
5 years ago
Gleb Mazovetskiy
ba6a78ebc8
Migrate `Cl2DrawOutline` to accept a buffer
5 years ago
Gleb Mazovetskiy
819b5b05df
Migrate `Cl2DrawLightTbl` to accept a buffer
5 years ago
Gleb Mazovetskiy
07f4dbbd2e
Migrate `Cl2Light` to accept a buffer
5 years ago
Gleb Mazovetskiy
bb3ba369df
Migrate `Cl2Draw` to accept a buffer
5 years ago
Gleb Mazovetskiy
eadc5a20a3
Migrate `CelDrawLightRedSafe` to `CelDrawLightRedSafeTo`
5 years ago
Gleb Mazovetskiy
a70de3cecd
Migrate `CelClippedDrawSafe` to `CelClippedDrawSafeTo`
5 years ago
Gleb Mazovetskiy
9ca1fd8996
Migrate `CelBlitOutline` to `CelBlitOutlineTo`
5 years ago
Gleb Mazovetskiy
242341c0b3
Migrate `CelClippedDraw` to `CelClippedDrawTo`
5 years ago
Gleb Mazovetskiy
2f68e8e74e
Migrate `CelDrawLightRed` to `CelDrawLightRedTo`
5 years ago
Gleb Mazovetskiy
88bf59f355
Migrate `CelClippedBlitLightTrans` to `CelClippedBlitLightTransTo`
5 years ago
Gleb Mazovetskiy
14ae63d37d
Migrate `CelClippedDrawLight` to `CelClippedDrawLightTo`
5 years ago
Gleb Mazovetskiy
b43325028f
Migrate `CelDraw` to `CelDrawTo`
5 years ago
Gleb Mazovetskiy
d55a1c8a7d
Pass CelOutputBuffer to game text printing ( #1095 )
...
* Pass CelOutputBuffer to game text printing
* DrawHalfTransparentRectTo: minor cleanup
5 years ago
Gleb Mazovetskiy
83ce7c27af
Enginify `trans_rect`
...
Moves `trans_rect` to `engine` as `DrawHalfTransparentRectTo` and makes
it operate on `CelOutputBuf`.
5 years ago
Anders Jenbo
d37fb68809
Make header checks portable
5 years ago
Gleb Mazovetskiy
188d3d5ec0
automap: Migrate away from gpBuffer/gpBufEnd
5 years ago
Gleb Mazovetskiy
e5d7571ea7
Cleanup: Remove ENG_set_pixel function
...
Migrated to SetPixel
5 years ago
Gleb Mazovetskiy
8283f85e24
Engine: Functions to render to any buffer
...
Refactor the rendering functions to allow rendering to any output
buffer.
New functions that accept a buffer have the `To` suffix.
The functions that render to the global buffer now always accept
coordinates.
5 years ago
pionere
f5c1079d6f
eliminate unused code
5 years ago
pionere
d5a0fa8e85
get rid of a few warnings
5 years ago
FluffyQuack
790c8e17e5
Implemented blended tranparency
5 years ago
qndel
c0f5749728
Fix RNG diverging during level generation depending on the code path
...
The consequences has mostly mitigated after wards, but this will make things make more sens when analysing the state of the code.
5 years ago
Anders Jenbo
9ffcab40e3
Fix LLVM builds
5 years ago
Anders Jenbo
2dc33b58ea
Reorder engine.cpp
5 years ago
Gleb Mazovetskiy
ec329e645c
Fix all "no-write-strings" warnings
5 years ago
Joel Falcou
c4223d4c29
Per file basis use of extern C
6 years ago
Joel Falcou
64d26a7934
Sanitize use of namespace
...
Wrap individual headers in dvl namespace to prevent
including standard header in another namespace.
6 years ago
Anders Jenbo
cd18914026
Avoid void pointers
6 years ago
Anders Jenbo
3c276a3cd3
Add documentation
...
- Add file documentation to about 1/4 of the files in Source
- Copy over a lot of the documentation from the sanctuary/notes repo
- Standardise all the existing documentation
- Create a configuration for Doxygen
- Add more documentation (engine.cpp is now fully documented)
6 years ago
Anders Jenbo
f761c73723
Correct CelBlitWidth signature
6 years ago
Marek Majkowski
d6f268545c
Misc: Don't call SwapLE32 on unaliged memory
...
On some architectures it's illegal to do unaligned memory fetches. Just
don't load 4 bytes at once, instead load byte-by-byte. A smart compiler
is supposed to recognize the pattern as little-endian unaligned load.
6 years ago
Robin Eklind
f9fa98984b
engine: pass tbl parameter explicitly instead of using default parameter values
...
This helps make the header files in `Source/*.h` parsable from both
C and C++.
Any headers in SourceX can easily be C++ only, but keeping
the core Devilution code parsable as both C and C++ is
useful for integration into mods.
6 years ago
Anders Jenbo
b528d4362d
Fix rendering on Big Endian systems
6 years ago
Anders Jenbo
933262d701
Remove support for partial cel decoding
...
Since we no longer make use of this it should result in a small speed up
6 years ago
Anders Jenbo
3e7d352fde
Format files
6 years ago
Robin Eklind
e155a9423e
rename random to random_ to avoid collision with random in stdlib.h
...
Fixes #1813 .
7 years ago
Anders Jenbo
3fe2d08940
Deduplicate monster drawing
7 years ago
Anders Jenbo
f8c16a1dcb
Only use safe blitting and set gpBufEnd to the correct relative values
...
This again allows us to only selectivly render the UI panel
This also eliminates the need for the BORDER_BOTTOM 10k memory saved!
7 years ago
Anders Jenbo
337bc9b125
Render text in screen cordinates instead of buffer offsets
7 years ago
Anders Jenbo
9e1b161bc0
Unify upper and lower screen rendering
7 years ago