Commit Graph
73 Commits
Author SHA1 Message Date
pionere f5c1079d6f eliminate unused code 2021-02-19 22:04:11 +01:00
pionere d5a0fa8e85 get rid of a few warnings 2021-02-19 22:04:11 +01:00
FluffyQuack 790c8e17e5 Implemented blended tranparency 2021-02-19 05:57:48 +01:00
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.
2021-02-01 06:44:16 +01:00
Anders Jenbo 61b2d0de95 Merge branch 'master' of github.com:diasurgical/devilution 2020-12-16 02:24:39 +01:00
Anders Jenbo 9ffcab40e3 Fix LLVM builds 2020-11-07 19:07:23 +01:00
Anders Jenbo 43b5dea6e5 Merge branch 'master' of github.com:diasurgical/devilution 2020-11-03 00:56:51 +01:00
Anders Jenbo 2dc33b58ea Reorder engine.cpp 2020-11-02 16:22:11 +01:00
Anders Jenbo 72e2637061 Merge branch 'master' of github.com:diasurgical/devilution 2020-10-25 17:38:06 +01:00
Gleb Mazovetskiy ec329e645c Fix all "no-write-strings" warnings 2020-10-25 15:37:51 +01:00
Joel Falcou c4223d4c29 Per file basis use of extern C 2020-04-22 13:15:29 +02:00
Joel Falcou 64d26a7934 Sanitize use of namespace
Wrap individual headers in dvl namespace to prevent
including standard header in another namespace.
2020-04-22 13:15:29 +02:00
Anders Jenbo 7108145a04 Merge branch 'master' of github.com:diasurgical/devilution 2020-04-14 15:30:49 +02:00
Anders Jenbo cd18914026 Avoid void pointers 2020-04-08 20:34:38 +02:00
Anders Jenbo 776ab10476 Merge branch 'master' of github.com:diasurgical/devilution 2020-03-29 23:40:05 +02:00
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)
2020-03-01 22:18:00 +01:00
Anders Jenbo f761c73723 Correct CelBlitWidth signature 2020-01-01 17:34:29 +01:00
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.
2019-12-25 01:42:27 +01:00
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.
2019-11-12 15:23:42 +01:00
Anders Jenbo 4e8a8d2157 Merge remote-tracking branch 'refs/remotes/devilution/master' 2019-10-26 13:43:28 +02:00
Anders Jenbo b528d4362d Fix rendering on Big Endian systems 2019-10-24 23:28:57 +02:00
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
2019-10-22 01:31:14 +02:00
Anders Jenbo 3e7d352fde Format files 2019-10-21 20:04:14 +02:00
Robin Eklind e155a9423e rename random to random_ to avoid collision with random in stdlib.h
Fixes #1813.
2019-10-21 09:56:36 +02:00
Anders Jenbo 3fe2d08940 Deduplicate monster drawing 2019-10-20 15:59:47 +02:00
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!
2019-10-20 15:59:47 +02:00
Anders Jenbo 337bc9b125 Render text in screen cordinates instead of buffer offsets 2019-10-20 15:59:47 +02:00
Anders Jenbo 9e1b161bc0 Unify upper and lower screen rendering 2019-10-20 15:59:47 +02:00
Anders Jenbo 11e8df8f6c Deduplicate missile rendering code 2019-10-20 15:59:47 +02:00
Anders Jenbo a0baa92ef0 Merge branch 'master' of github.com:diasurgical/devilution 2019-10-13 19:59:26 +02:00
Anders Jenbo 6597688eac Rename cell functions 2019-10-13 13:31:56 +02:00
Gleb Mazovetskiy 65344058ec Fix UB: Misaligned access in GetCelFrameClipped
runtime error: load of misaligned address 0x632000363773 for type 'WORD', which requires 2 byte alignment
0x632000363773: note: pointer points here
 7f  7f 7f 3e 0a 00 02 01 50  04 00 00 00 00 7f 7f 7f  7f 7f 7f 7f 7f 7f 34 bc  ac ff bc 5b f9 fc dc

It was actually out-of-bounds as well so I had to add a bounds check.
2019-10-10 10:09:44 +02:00
Anders Jenbo 1a2f2b5f52 Implement CelGetFrameClipped from the Mac 9 port 2019-09-28 06:07:24 +02:00
Anders Jenbo 64824cab2b Implement CelGetFrameStart 2019-09-28 06:07:24 +02:00
Anders Jenbo fae2be813a Merge branch 'master' of github.com:diasurgical/devilution 2019-09-28 04:31:04 +02:00
Anders Jenbo ce6fc51b50 Implement CelGetFrame (CEL decoder helper)
This implements the first of the inlined CEL decoder helper functions
that are still visable in the Mac port code.

Functions are still bin exact
2019-09-27 21:02:44 +02:00
Anders Jenbo 2012106b90 Fix spell rendering 2019-08-26 16:30:20 +02:00
Robin Eklind 2508690d9c engine: rename rand_increment and rand_multiplier to RndInc and RndMult
Rationale described in https://github.com/sanctuary/notes/commit/a479cc56b8fcb7db1a88ac487a10147c99033963
as included below:

Note, neither rand_increment nor rand_multiplier are
present in the PSX debug info. To keep the names for
these variables consistent with the naming convention
used for sglGameSeed, SeedCount, SetRndSeed and
GetRndSeed (which are part of the PSX debug info), we
rename them to RndInc and RndMult, respectively.
2019-08-18 07:44:39 +02:00
Anders Jenbo 7883043adc Clean up files with dirty headers 2019-07-08 04:28:31 +02:00
Anders Jenbo dc4f0572f6 Remove unused variables 2019-07-08 04:28:31 +02:00
Anders Jenbo 32a51d17ca Align function signatures with PSX symbols
Using
https://github.com/diasurgical/scalpel/tree/master/psx/_dump_/3/_dump_c_src_/diabpsx/source
as a reference
2019-07-08 04:12:12 +02:00
galaxyhaxz 75a150d142 DrawLine (#1084) 2019-05-01 05:32:05 -05:00
galaxyhaxz 5d4918eea0 LoadWithMem 2019-04-30 22:47:53 -05:00
galaxyhaxz 3a636fdcc6 Add missing functions for MI_Dummy (#1004) 2019-04-22 20:21:52 -05:00
galaxyhaxz cef65ea0b6 Implement Critical section constructor 2019-04-15 01:16:43 +02:00
galaxyhaxz 4e01e03711 Cleanup default calling conventions 2019-04-09 12:04:00 +02:00
Anders Jenbo e7d5aac5dc Clean up engine and scrollrt attribute naming 2019-04-07 21:17:59 +02:00
galaxyhaxz f388472713 ENG_set_pixel + engine_draw_pixel (#691) 2019-03-19 18:57:23 +09:00
galaxyhaxz 0bb9f666b3 Clean remaining .CEL functions (#657) 2019-03-17 15:56:53 -05:00
galaxyhaxz 9e4885a955 Cleanup CL2 functions (#656) 2019-03-15 21:56:04 -05:00