Christoph Oelckers
fd0e9824b6
- call the game specific analyzesprites functions.
2021-03-26 15:06:14 +01:00
Christoph Oelckers
0b1e81023f
- added sprite collection loop to ProcessSector and did a bit of cleanup on the TSprite code.
2021-03-25 23:16:32 +01:00
Christoph Oelckers
168b0385cf
- moved shadeToLight out of build.h.
2021-03-25 09:13:59 +01:00
Christoph Oelckers
368b2319f2
- replaced 'static FORCE_INLINE' globally with 'inline'.
...
I have no idea what kind of compiler needs such a construct, it's totally not how C++ should be written.
2021-03-24 21:43:36 +01:00
Christoph Oelckers
b7e8815133
- some further lightening of compat.h.
2021-03-24 21:13:36 +01:00
Christoph Oelckers
8993095bc0
- got rid of pow2char
2021-03-24 20:37:20 +01:00
Christoph Oelckers
d8627a2b3f
- removed all remains of projection math weirdness from the automap code in the games plus a bit more cleanup of the engine code.
2021-03-24 20:28:58 +01:00
Christoph Oelckers
022edd2dc2
- cleaned engine.cpp off all code exclusive to the Polymost renderer.
2021-03-24 19:45:42 +01:00
Christoph Oelckers
0c7f05a416
- let the clipper work exclusively on Build coordinates.
2021-03-22 23:40:25 +01:00
Christoph Oelckers
63f057d93f
- portal and sky WIP.
2021-03-21 22:48:01 +01:00
Christoph Oelckers
fedfc2cfa4
- removed global variables that were only being used by the automap drawer plus a few other obsolete things.
2021-03-20 16:46:06 +01:00
Christoph Oelckers
30f4e2b29d
- replaced the engine automap drawer with one leveraging the newly added sector geometry data.
...
This eliminates a lot of code depending on Build's projection math.
2021-03-20 16:20:48 +01:00
Christoph Oelckers
3df5c440f9
- added some helpers to make it easier to determine if a sector's geometry has been altered.
...
Walls had no sector reference so this was added for marking the sector as altered when a vertex gets dragged around.
2021-03-19 23:18:09 +01:00
Christoph Oelckers
a5b3a1dd3e
- removed some unused things from engine.cpp.
2021-03-19 15:12:54 +01:00
Christoph Oelckers
b492cbcebb
- ported my old Build-style renderer for Doom from 2008 and the wall renderer from GZDoom to work with Build data.
...
It renders walls, but y-panning is still broken.
2021-03-17 16:54:36 +01:00
Christoph Oelckers
a484e39e05
- removed integer square root code.
...
On modern systems using the sqrt function with a cast to int has no relevant performance disadvantage anymore so there's no need for all of this.
2021-03-15 19:02:08 +01:00
Christoph Oelckers
ac82838859
- removed unused 'wallvisible' function.
2021-03-15 18:58:14 +01:00
Christoph Oelckers
ad8654ed06
- fixed maphack loader.
...
The duplicate 'currentSprite' variable prevented it from doing anything.
Also cleaned up the interface a bit to avoid using a global variable for parameter passing.
Fixes #279
2021-03-07 09:39:16 +01:00
Christoph Oelckers
783328c5fa
- removed some unused declarations.
2021-02-27 12:29:07 +01:00
Christoph Oelckers
99f1f0952a
- little bit of engine cleanup.
2021-02-25 12:16:21 +01:00
Christoph Oelckers
cf672b508f
- removed unused 'updatesectorexclude' function.
2021-02-02 23:13:40 +01:00
Mitchell Richters
5124c0daec
- Amalgamate ksgn and sgn into Sgn in cmdlib.h, and remove pragmas.h.
2021-01-05 07:31:37 +11:00
Mitchell Richters
b36bea7c69
- Replace scale()
calls with Scale()
from common.
2021-01-05 07:31:34 +11:00
Mitchell Richters
b191a482d6
- Remove hw_detailmapping
and hw_glowmapping
since they're no longer relevant with GZDoom's backend (they're always in an on state).
2021-01-03 21:39:21 +11:00
Mitchell Richters
d3b95d4d70
- Build/Duke: Remove the only use case for drawrooms()
inline wrapper and change getcamspriteang()
to return binangle instead of a build angle.
2021-01-03 17:35:19 +11:00
Christoph Oelckers
d04013066c
- build a composite texture of all the segments for sky rendering to reduce the seams between the single segments.
2020-12-04 22:29:25 +01:00
Christoph Oelckers
396e3cd524
- actually call the model animation timer somewhere.
...
Now models also animate properly. :)
2020-12-02 00:19:22 +01:00
Christoph Oelckers
25ef58f897
- re-enabled all model specific code in Duke's animatesprites function and removed some remaining software renderer-only code in the engine.
2020-12-01 23:57:39 +01:00
Christoph Oelckers
9a4073508d
- Blood: Savegame fully transitioned to JSON
...
not tested yet.
2020-11-23 09:53:58 +01:00
Mitchell Richters
0190a98a10
- Remove calcSinTableValue()
inline function and clean up use of PI
/fPI
and BANG2RAD
#defines.
2020-11-22 21:18:10 +01:00
Mitchell Richters
32a1796728
- buildutils: Replace sintable[]
use within Build with bsin()
/bcos()
, using bsinf()
/bcosf()
where appropriate.
...
* Includes a few header include shuffles to make it all come together.
2020-11-22 21:18:02 +01:00
Christoph Oelckers
5f54eac297
- made palette loader part of the game interface.
...
This gets rid of the Blood 'replace' hook for thus.
2020-11-21 12:54:09 +01:00
Christoph Oelckers
a5b3681630
- foundation for a better collision info management.
...
The way this is handled is the main reason why Build maps are size limited, but since it is extremely invasive it needs to be taken out of the game code piece by piece, this is the framework for doing this for Duke.
2020-10-24 09:31:15 +02:00
Christoph Oelckers
08e29396e5
- split moveweapons_d further up into more smaller parts.
2020-10-18 09:45:41 +02:00
Christoph Oelckers
eb78b88598
- all Blood stat iterators ported.
2020-10-15 20:22:39 +02:00
Christoph Oelckers
0a0a995cbd
- some cleanup of build.h
2020-10-15 20:22:38 +02:00
Christoph Oelckers
be3292d29b
- removed the mostly unused macros for sprite iteration.
2020-10-15 20:22:38 +02:00
Christoph Oelckers
760a557f73
- converted the remaining sector iterators in Duke.
2020-10-15 01:34:27 +02:00
Christoph Oelckers
91fdf160b6
- fixed clearing of actorinfo.
...
It overwrote memory beyond its end.
2020-10-15 01:34:24 +02:00
Christoph Oelckers
d368d734d3
- prototyping some refactoring helpers.
2020-10-14 00:58:21 +02:00
Christoph Oelckers
b6149f88f7
- added sprite iterator classes.
...
The code base currently contains roughly 600 iterator loops directly referencing Build's global variables.
That state of things is not refactorable - these iterator wrappers are supposed to get rid of these explicit references.
2020-10-14 00:05:25 +02:00
Christoph Oelckers
99b4a64a67
- removed the PSPTwoDSetter
...
This is no longer needed because all weapon drawing is using the proper interface now.
2020-10-13 21:38:24 +02:00
Christoph Oelckers
817fa8aba3
- save the entire engine state as JSON.
...
The sprite lists may still need optimization. Due to different handling between Blood and the core engine they need to be written out completely which is quite wasteful.
2020-10-13 20:18:08 +02:00
Christoph Oelckers
b4a011300a
- implemented proper delta serialization for sectors and walls.
2020-10-11 21:11:38 +02:00
Christoph Oelckers
f12c6b0319
- removed wallext because its only member 'blend' is not used by anything.
...
This is a feature not worth preserving, render style + alpha should be done directly, not via indirect lookup tables.
2020-10-11 18:44:16 +02:00
Christoph Oelckers
fd31da3115
- save sectors and walls as JSON
...
This is not optimized yet so saves are a bit larger than necessary.
2020-10-11 18:10:52 +02:00
Christoph Oelckers
4e67197838
- added back the hijacked 'detail' member to spritetype.
...
This changes the Blood map loader to not use the in-game sprite structure for loading a level and moves the qsprite_filler array back into the sprite.
2020-10-02 22:18:08 +02:00
Christoph Oelckers
5e6317b8b9
Merge remote-tracking branch 'remotes/Github_private/Blood_InputReworking'
2020-09-22 23:32:28 +02:00
Christoph Oelckers
880b811e0d
- rewrote map loader to work independently of data structure sizes.
...
This is needed to extend a few fields that are too narrow - e.g. the texture offset fields have no room for interpolating scrolling textures.
Blood not done yet, will also need to be changed to get rid of the limits.
2020-09-22 22:40:53 +02:00
Christoph Oelckers
43a9be0ad0
- removed Blood's loadboard replacement hook.
...
It never calls engineLoadBoard but always its own map loading function directly.
2020-09-22 22:38:08 +02:00