Christoph Oelckers
35c2d6d14e
- fixed translucent voxel rendering.
2021-11-29 00:57:10 +01:00
Christoph Oelckers
7d3b604361
- fixed sky rendering in paletted sectors for Polymost.
2021-11-29 00:57:10 +01:00
Mitchell Richters
5630fd8763
- Repair other possible OOB access issues with spriteext[]
.
2021-11-29 00:57:09 +01:00
Mitchell Richters
8c679f2e17
- Repair OOB access to spriteext[]
array accidentally introduced in d572e56839
. This repairs stability issues with models enabled under Linux environments.
2021-11-29 00:57:09 +01:00
Christoph Oelckers
adf3133fdc
- use sectnum and wallnum to get an index from pointers instead of subtracting the array base.
2021-11-29 00:56:26 +01:00
Christoph Oelckers
3a259c9c46
- use BFSSearch in cansee and deleted the old variant originally used by Exhumed.
...
This old variant is only useful for demo compatibility, its main difference is that it does not handle slopes, which even for Exhumed is wrong with some custom maps.
2021-11-29 00:56:25 +01:00
Christoph Oelckers
4e31360fe4
- cleaned up dragpoint
...
This still contained some code for EDuke32's TROR and used a shared static global array.
It now uses the BFSSearch class to manage its bit array to unlimit the size of its working set and to avoid reallocation.
2021-11-29 00:56:25 +01:00
Christoph Oelckers
730b7492cb
- moved bitmap_set and bitmap_test into clip.cpp and deleted unused inside_exclude_p function.
...
No longer used anywhere else and to be replaced with BitArray.
2021-11-29 00:55:45 +01:00
Christoph Oelckers
ae63bcd80b
- use BFSSearch in updatesectorneighbor.
...
The old bfirst_* helpers are gone now.
2021-11-29 00:55:45 +01:00
Christoph Oelckers
22e554e88a
- use BFSSearch in clipupdatesector
2021-11-29 00:55:45 +01:00
Christoph Oelckers
53998c9cb7
- Blood: remove unneeded replacement functions.
...
changespritesect is the only one called from the engine.
2021-11-29 00:55:42 +01:00
Christoph Oelckers
01abe7b2ac
- addressed most unused/uninitialized variable warnings from MSVC.
2021-11-29 00:55:30 +01:00
Christoph Oelckers
f2e344a235
- removed magic flags added to sector indices in Polymost.
...
These are better done as separate function arguments.
2021-11-11 21:28:53 +01:00
Christoph Oelckers
762ebafc2a
- made clipmoveboxtracenum a function argument of clipmove
...
Thereāe zero need for hackery here.
2021-11-08 23:22:48 +01:00
Christoph Oelckers
4aa0477574
- make internal pushmove use a 32 bit sector index.
2021-11-08 23:17:40 +01:00
Christoph Oelckers
567d054d42
- remove unused clipmovex function, extend clipmove sector return to 32bit, mark obsolete clipmove variants deprecated
2021-11-08 23:11:29 +01:00
Christoph Oelckers
5510efd920
- removed TROR specific parts of updatesectorz
...
None of this is ever called, in particular the parts that muck around with the sectorindex and add magic bits to it.
2021-11-08 23:11:29 +01:00
Christoph Oelckers
5ba005276f
Revert "- redid the 'inside' function."
...
This reverts commit c034c2a299
.
While the function works, it is subtly different for points exactly on a line - enough to cause problems with Shadow Warrior's waypoint implementation.
2021-11-08 23:11:20 +01:00
Christoph Oelckers
c034c2a299
- redid the 'inside' function.
...
This is based on external information and does not use any of the original Build code.
Despite being a lot clearer than Build's bit masking voodoo and using 64 bit math to avoid overflows it is roughly 10% faster. :)
Code was moved to gamefuncs.cpp because this no longer falls under the Build license.
2021-11-08 21:29:21 +01:00
Christoph Oelckers
5cfc418c5f
- did some tests with the inside function and decided to only retain the 'old' one.
...
The one from EDuke32 is ambiguous - it considers any point on a wall to be part of both sectors touching that wall. This wasn't used anyway with the current engine compatibility settings.
I was not able to get different values out of the 'ps' version - this seems to only be important for demo playback concerns, for regular playback the differences appear to be totally irrelevant.
Ultimately this should be replaced anyway with a license-unencumbered variant of the same basic common algorithm.
2021-11-08 19:46:22 +01:00
Christoph Oelckers
eeaa7f98f0
- inlines for validating sector and wall indices.
2021-11-08 18:56:10 +01:00
Christoph Oelckers
fd2764dc6e
- Duke: eliminated all local short variables in actors*.cpp.
2021-11-07 16:30:55 +01:00
Christoph Oelckers
e2faeec2ce
renamed all signed and unsigned chars to int8_t/uint8_t.
2021-11-07 16:30:55 +01:00
Christoph Oelckers
0eba3335c6
- eliminated some leftover 16 bit values used for storing indices.
2021-11-07 16:30:44 +01:00
Christoph Oelckers
1c0e3d849b
- addressed the updatesector related deprecation warnings with Duke.
2021-11-06 20:46:08 +01:00
Christoph Oelckers
d20aa47adf
- made sector parameter of updatesectorz an int and deprecated the short version.
2021-11-06 19:27:51 +01:00
Christoph Oelckers
83fe41e71e
- made updatesector receive a 32 bit int pointer and deprecated the 16 bit variant.
2021-11-06 15:53:16 +01:00
Christoph Oelckers
389f760d45
- address C++20 deprecation warnings with enums in floating point arithmetic.
2021-11-02 23:32:31 +01:00
Mitch Richters
9894729fc2
- Replace MAX()
from templates.h
with version provided in STL.
...
# Conflicts:
# source/common/textures/hw_ihwtexture.cpp
# source/common/utility/templates.h
2021-10-30 10:36:02 +02:00
Christoph Oelckers
57b638f26f
- use std::clamp instead of our homegrown version.
2021-10-30 10:35:00 +02:00
Mitch Richters
879e2f3ce4
- Build: Promote sintable[]
array values to precision Blood uses in prep for replacing Blood's costable[]
.
2021-10-30 10:24:15 +02:00
Christoph Oelckers
86c58649ba
- fixed black rendered sectors in Exhumed/Polymost.
...
More a hack than a fix, thanks to Polymost's poor state handling
2021-10-16 15:36:34 +02:00
Christoph Oelckers
62d0d3712e
- use a sprite flag to mark mapped sprites.
...
This avoids another global array which needs to be addressed by sprite index.
2021-10-14 15:09:43 +02:00
Christoph Oelckers
29769dd673
- fixed engine code warnings pointed out by XCode 13.
2021-10-08 19:06:41 +02:00
Christoph Oelckers
7f485bfab1
- split off the extended sprite flags into their own word.
...
Some code overwrites the cstat field entirely (thanks Duke, for being sloppy with this...!)
2021-09-12 18:26:35 +02:00
Christoph Oelckers
99ecfe133d
- flag sprites for automapping regardless of the 'automapping' variable's value.
...
Duke should show its floor sprites, too.
2021-09-12 18:22:38 +02:00
Christoph Oelckers
0bd0923f44
- cleaned up some dirty code.
2021-08-30 08:07:40 +02:00
Dino Bollinger
8dd0f947f7
Remove useless code introduced in bad17f29
2021-07-07 21:31:32 +02:00
Mitchell Richters
1dbf34fe56
- Repair some potential issues from 1354d52c05
that might be causing issues with #455 .
2021-07-04 21:06:13 +10:00
Christoph Oelckers
5b38343407
- fixed sprite exclusion logic in getzrange.
...
This was using the wrong flag.
2021-06-09 00:31:54 +02:00
Christoph Oelckers
dc846dcd49
- Duke: avoid clipping against self when executing script logic for floor sprites.
...
A good place to see the result is a kitchen knife in E4L2 that went missing due to the faulty check.
2021-06-01 21:21:39 +02:00
Christoph Oelckers
454816299e
- reorganized loading of textures.
...
Due to dependencies on initializing some data in app_init it was not possible to cleanly set up the fonts.
This adds a game-side function for loading the entire palettes before starting with the texture data and another one for loading game-side texture data.
This now allows fully setting up the palettes before starting with the textures and to fully set up the textures before reading the .def files.
All this is needed because to properly initialize, the fonts need to be able to access the fully initialized texture state, including replacements and hires substitutions from the .def files.
2021-06-01 11:05:26 +02:00
Brian Koropoff
e4e949877d
Fix buffer overflow at maploader.cpp:392
2021-05-22 22:31:16 +02:00
Christoph Oelckers
d572e56839
- removed the indirection for the global arrays.
...
No idea what part of EDuke32 needed this, but it is not necessary.
2021-05-21 14:32:01 +02:00
Christoph Oelckers
b6dd834420
- fixed warnings in Build code.
2021-05-12 21:47:32 +02:00
Christoph Oelckers
e74aca291c
- position tweaking for Nam's skies.
...
Why is this such an utter mess to get skies placed correctly? :(
2021-05-10 20:13:28 +02:00
Christoph Oelckers
34a5fb5a6a
- make testnewrenderer persistent.
2021-05-06 18:12:23 +02:00
Christoph Oelckers
d54a8724b5
- default 'testnewrenderer' to false.
2021-05-06 17:04:48 +02:00
Christoph Oelckers
0db8fc6163
- removed UNREFERENCED_PARAMETER macro.
...
Using C++ standard of not naming such parameters instead.
2021-05-03 19:10:53 +02:00
Christoph Oelckers
8c379f7a44
Merge branch 'master' into newrenderer
2021-04-25 11:33:47 +02:00