Commit Graph
81 Commits
Author SHA1 Message Date
Anders Jenbo 61b2d0de95 Merge branch 'master' of github.com:diasurgical/devilution 2020-12-16 02:24:39 +01:00
Arsène Pérard-Gayot c631b4daf8 RenderLine() function fix for issue #941 (#942)
* Fix for RenderLine() when n == 32
* Improve count_leading_zeros with better fallback and compile-time check
2020-12-09 15:57:01 +01:00
Arsène Pérard-Gayot 8e1c61a6f7 Improvements to the RenderLine() function (#920)
* Improvements to the `RenderLine()` function
- Simplify by using indices instead of incrementing pointers
- Improve performance in the case where mask != -1 by only processing the bits that are set
2020-11-19 16:07:06 +01:00
qndel b81d2eb831 some cleanups (#2099) 2020-10-12 00:42:02 +02:00
Anders Jenbo 145ab3c48e Apply more defines to replace magic numbers 2020-09-27 05:33:00 +02:00
Anders Jenbo 893efd51ea Merge branch 'master' of github.com:diasurgical/devilution 2020-09-27 03:34:42 +02:00
Anders Jenbo c1b4d3d8b5 Copy documentation from sanctuary/notes 2020-07-06 05:43:25 +02:00
Anders Jenbo 1ba96a6777 Add doxygen description to remaining engine files 2020-07-06 05:43:25 +02:00
Anders Jenbo dc8be6c0ab C++03 compatibility (#736)
* Use C++03 compatible constructors
* Remove conflicting definitions
2020-05-17 01:37:19 +02:00
Anders Jenbo b7c126d976 Apply defines to render 2020-05-15 19:12:03 +02:00
Anders Jenbo af4ef7b19b Fix rendering the ground part of foliage 2020-03-23 14:13:33 +01: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 ffb6de3f5a Don't draw in to the panels 2020-03-01 22:17:13 +01:00
Anders Jenbo 67d7655544 Fix world_draw_black_tile not taking buffer borders in to account
Thanks to @imperialsecond for providing a test case for
world_draw_black_tile
2020-02-22 18:08:04 +01:00
Anders Jenbo e641eda71d Document a couple of render functions 2020-02-16 04:03:07 +01:00
Anders Jenbo e7e51abd13 Document remaning functions in render related files 2020-02-16 04:01:52 +01:00
Anders Jenbo 25993b4043 Merge branch 'master' of github.com:diasurgical/devilution 2020-02-14 23:03:31 +01:00
Anders Jenbo 20621a0642 add all.h and use in place of diablo.h (#2005)
Now diablo.h is treated in the same way as all other header files of
Source, as it only contains the declarations of global variables and
functions of diablo.cpp.

Besides consistency, this also enables mods to include diablo.h just
like any other header file without having to include every header file
(and without having to include C++ specific aspects of the now all.h).
2020-02-14 13:12:54 +01:00
Marek Majkowski 15b021f8b7 Misc: "typedef enum" is not correct. Just "enum" is fine. 2019-12-25 01:42:27 +01:00
Gleb Mazovetskiy ef20d1a038 Fix more UBSAN errors 2019-11-07 10:02:09 +01:00
Anders Jenbo 4e8a8d2157 Merge remote-tracking branch 'refs/remotes/devilution/master' 2019-10-26 13:43:28 +02:00
Mathieu Maret a12a7998d1 simplify world_draw_black_tile 2019-10-24 23:27:29 +02:00
Mathieu Maret b2ed866c7a Code simplification using memset/memcpy 2019-10-24 23:27:29 +02:00
Anders Jenbo 2348c3a8fd Documentations, enums and clean ups 2019-10-21 19:33:14 +02:00
Anders Jenbo 7d1b0f24f7 Eliminate overdraw in cell functions 2019-10-20 15:59:47 +02:00
Anders Jenbo da679a66a6 Convert inc file to a function 2019-10-20 15:59:47 +02:00
Anders Jenbo 16820106bc Merge town_draw() with scrollrt_draw()
This require calling DRLG_InitTrans() during CreateTown() to clear out
the transparancy flags after having been to the duntion. Else the
mausoleum will be transparent.
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 d0f1100983 Drop speedcel optimizations
Even on VC6 this appears to not improve performance in any noticable way
2019-10-20 15:59:47 +02:00
Gleb Mazovetskiy fb37bbf675 Disable some signed shift UBSAN warnings
On Clang we can do this globally via a sanitizer blacklist, but that's not supported on GCC (yet):
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61978

We disable these warnings because all compilers implement them in the
same way according to the N2218 proposal to standardize the behaviour:
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2218.htm
2019-10-10 13:51:19 +02:00
Gleb Mazovetskiy 1ec5fa7896 Fix UB: load/store of misaligned render.cpp:130
Source/render.cpp:130:47: runtime error: load of misaligned address 0x7fea0df260da for type 'DWORD', which requires 4 byte alignment
Source/render.cpp:130:26: runtime error: store to misaligned address 0x7fea5796ff62 for type 'DWORD', which requires 4 byte alignment
2019-10-09 19:52:50 +02:00
arczi84 1ab2fb2666 Endian madness 2019-10-08 02:28:03 +02:00
Anders Jenbo 4fc52a0e23 Format render.cpp 2019-08-26 14:32:26 +02:00
Anders Jenbo ec90987be0 Switch to new render from Galaxy 2019-08-26 13:32:59 +02:00
Anders Jenbo 2fcf8dab70 Merge branch 'master' of github.com:diasurgical/devilution 2019-07-21 19:39:17 +02:00
Anders Jenbo b023104434 Remove u from values 2019-07-21 00:57:53 +02:00
Anders Jenbo 6ba57a2d10 Remove the last bit of garbage 2019-07-21 00:57:53 +02:00
Anders Jenbo 5ab9f4609a Clean up signedness 2019-07-21 00:57:53 +02:00
Anders Jenbo 60ee365dff Merge branch 'master' of github.com:diasurgical/devilution 2019-07-20 19:52:50 +02:00
Joan Karadimov f695061d05 Replace resolution-related hard-coded numbers with constants 2019-07-20 17:24:34 +02:00
Anders Jenbo e6f4e21631 Merge branch 'master' of github.com:diasurgical/devilution 2019-06-16 19:18:19 +02:00
Anders Jenbo 11b6b1f860 Remove more garbage 2019-06-03 02:20:42 +01:00
Xadhoom 6856fb74e2 Merge upstream beanch 'devilution/master' 2019-04-25 20:44:01 +00:00
Anders Jenbo 65b9fb87a8 Merge branch 'TownDead' 2019-04-24 14:08:25 +02:00
galaxyhaxz 777c517b8e Change ASM macro 2019-04-22 02:23:12 -05:00
galaxyhaxz 540892ff9d Preliminary support for fixed header files 2019-04-21 17:20:38 +02:00
galaxyhaxz 4e01e03711 Cleanup default calling conventions 2019-04-09 12:04:00 +02:00
Anders Jenbo d8bb37349e Merge branch 'master' of github.com:diasurgical/devilution 2019-04-06 04:34:49 +02:00
Anders Jenbo d2174e3454 Apply code style 2019-04-05 21:54:45 +02:00
Anders Jenbo a907a4d49b Merge branch 'master' of github.com:diasurgical/devilution 2019-04-05 15:21:53 +02:00