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
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
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
d460f048fa
- Remove klabs()
define and replace with abs()
.
2021-01-05 07:31:28 +11:00
Mitchell Richters
aae175f287
- Replace divscale##()
calls with MulScale()
from common.
...
* Regex for reference: divscale([0-9]+)\((.+)(\)+)
2021-01-05 07:31:20 +11:00
Mitchell Richters
f20daa2595
- Replace divscale64()
calls with DivScaleU()
from common.
2021-01-05 07:31:17 +11:00
Mitchell Richters
2396179dfc
- Replace mulscale##()
calls with MulScale()
from common.
...
* Regex for reference: mulscale([0-9]+)\((.+)(\)+)
2021-01-05 07:31:15 +11:00
Mitchell Richters
7d9f868e4c
- Replace dmulscale##()
calls with DMulScale()
from common.
...
* Regex for reference: dmulscale([0-9]+)\((.+)(\)+)
2021-01-05 07:31:10 +11:00
Christoph Oelckers
bbf1352db1
- replaced approx 1/3 of all accesses to the tilesiz wrapper class.
2020-11-23 00:18:30 +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
b97f12a2eb
- did some global search & replace to reduce the number of accesses to the tilesiz wrapper.
2020-11-20 08:18:26 +01:00
Christoph Oelckers
4f7c0b696c
- and finally the iterators in the backend.
2020-10-15 20:22:40 +02:00
Christoph Oelckers
9ce8202eb1
- Duke: Added a file check for the map to be entered when ending a level.
...
World Tour contains a map definition for E5L9 but no map for it.
2020-09-10 21:39:52 +02:00
Christoph Oelckers
298949ceb8
- more compat.h cleanup
...
Its elimination is getting closer. :)
2020-09-08 18:48:18 +02:00
Mitchell Richters
1354d52c05
- Major cleanup of Q16.16 utilisation within games and engine.
...
* Remove fix16.h/cpp and utilise library from m_fixed.h.
* Extend m_fixed.h with two inline functions for int to/from float operations.
* Replace fix16_floor operations with those from xs_Float.h
* Replace multiple Q16.16 conversions from 0 to just be 0.
* Replaced all found in-game bit-shifts and multiplications/divisions with inline functions from m_fixed.h
* Replaced many casts of FRACUNIT as double in SW's panel.cpp as it is converted to double by way of type promotion.
* Fixed missed precision fixes in SW's panel.cpp where some types weren't declared correctly.
* Replaced 100+ `Cos()/Sin() >> 16` operations for Blood with inline functions `CosScale16()/SinScale16()`.
2020-09-01 23:00:47 +10:00
Christoph Oelckers
b8258da997
- cleaning out some trash from compat.h.
...
The header from hell...
2020-08-30 23:34:40 +02:00
Christoph Oelckers
847fa48724
- cleaned out the remaining parts of baselayer.h
...
In particular this means to remove the option to disable widescreen aspect ratios. The way this was handled makes no sense with the current render backend.
The aspect ratio code will have to be redone entirely to properly obey the backend's settings.
2020-08-28 09:06:49 +02:00
Christoph Oelckers
5655015691
- YAX is also gone now.
2020-07-14 16:06:14 +02:00
Christoph Oelckers
117e78cb3b
- removed clipshape feature as it is a feature of modern EDuke32 maps only.
2020-07-14 15:36:25 +02:00
Richard C. Gobeille
a0876223ab
Assignments
...
# Conflicts:
# source/build/src/clip.cpp
2020-06-07 10:17:33 +02:00
Richard C. Gobeille
3ab314e95a
engine: make cliptestsector() (used by clipmove(), etc) TROR aware
...
This is intended to help with issues where enemies get stuck in thin TROR layers.
# Conflicts:
# source/build/src/clip.cpp
2020-05-22 17:00:55 +02:00
Richard C. Gobeille
f5788c331e
Clarify clipupdatesector() log message a bit
...
# Conflicts:
# source/build/src/clip.cpp
2020-05-22 16:52:08 +02:00
Christoph Oelckers
8e87674d4c
- backend code matching with GZDoom
2020-04-12 08:30:40 +02:00
Christoph Oelckers
66ecb05eb8
- use Printf as the only command to print to the console.
...
All uses of OSD_Printf, initprintf etc. have been renamed.
2020-04-12 08:30:38 +02:00
Christoph Oelckers
0de4b134da
- stripped out most of the software renderer.
...
Now that the camera textures can be handled through the hardware renderer this isn't needed anymore.
2020-03-29 14:55:09 +02:00
Christoph Oelckers
4d45117ca5
- removed pointless and non-functional null check
...
clipmapinfo is a static global variable, its address is never null.
2020-02-12 00:42:34 +01:00
Christoph Oelckers
744bd67616
- removed redundant check.
2020-02-11 18:26:58 +01:00
terminx
ff3ec2e66b
Re-enable ignoring 256 units of curb when clipping against ceilings
...
This fixes getting stuck on tiny lips created by sloppy slopes in the undersized vents in DUKEDC3.MAP.
git-svn-id: https://svn.eduke32.com/eduke32@8639 1a8010ca-5511-0410-912e-c29ae57300e0
2020-02-11 18:24:05 +01:00
terminx
5a13be1f7b
Avoid overflow in clipmove()
...
git-svn-id: https://svn.eduke32.com/eduke32@8633 1a8010ca-5511-0410-912e-c29ae57300e0
2020-02-11 18:22:41 +01:00
Christoph Oelckers
4e58265d21
- disabled parts of EDuke commit 7829 because its side effects are worse than what it tries to fix.
...
In particular this causes backwards sliding against walls.
2020-02-09 22:18:36 +01:00
terminx
d0640618fd
Don't push sprites away from other clip objects when their clip areas overlap if the velocity passed to clipmove() is 0
...
This workaround should fix issues with stationary sprites moving around at map load when their clip area is overlapping solid walls.
git-svn-id: https://svn.eduke32.com/eduke32@8543 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/clip.cpp
2020-01-29 19:10:26 +01:00
nukeykt
5db1f95b29
Prevent OOB issues in old pushmove
2020-01-26 18:17:25 +01:00
nukeykt
dc9b37c847
More faithful old pushmove implementation
...
this fixes Daedalus's e3m1 demo
2020-01-26 18:10:03 +01:00
Rachael Alexanderson
929fc880ee
- make "activatecheat" pass a raw string to shadow warrior's cheat processor
...
- added a nullptr check
2020-01-23 07:12:12 -05:00
Christoph Oelckers
1a8f11e01d
Merge branch 'master' into powerslave
...
# Conflicts:
# source/build/src/sdlayer.cpp
# source/common/menu/menu.cpp
# source/sw/src/config.cpp
# source/sw/src/game.cpp
2019-12-26 00:21:04 +01:00
Christoph Oelckers
0d908960ed
- started fixing memory leaks: Console and clip shapes done.
2019-12-24 16:09:43 +01:00
nukeykt
5b50236d18
Fix movement issues when emulating old engine code
2019-11-22 00:10:35 +01:00
nukeykt
bef08f4442
Fix getflor/ceilingofslope_old
2019-11-22 00:10:31 +01:00
terminx
91dac5c73a
I swear, the amount of trivial differences between toolchain setups drives me up the wall sometimes
...
git-svn-id: https://svn.eduke32.com/eduke32@8247 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-21 19:37:14 +02:00
terminx
69a3f9e884
Band-aid fix for Duke3d E4L4 map "corruption"
...
The map isn't necessarily "corrupt", but it has a large water sector with half a dozen different SE7 teleporter sprites in it, of which all but one have destination SE7 sprites that are constantly moving while the matching SE7 in the large sector stays in place. When you teleport, the game code picks one. It doesn't always pick the one that matches.
Yeah, OK, it never picks the one that matches.
The area is a total clusterfuck.
git-svn-id: https://svn.eduke32.com/eduke32@8241 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-20 21:08:48 +02:00
Christoph Oelckers
9a52e8039c
- rerouted tileCreate and tileSetExternal calls.
2019-10-15 23:18:52 +02:00
Christoph Oelckers
fbc22e0125
- sanitized walock.
...
Sorry, but having a globally writable pointer to every texture is just insane and makes any functional management impossible.
This is merely a preparation for adding a real texture manager. That cannot be done if any code can write over the data at will. For that, it now has to make the texture writable first or create a writable empty texture.
2019-10-11 23:31:59 +02:00
nukeykt
895fb719d9
blooddemohack -> enginecompatibility_mode
2019-09-23 01:30:07 +02:00
Christoph Oelckers
998ac01157
- manual merge of all NBlood changes that couldn't get cherry picked.
2019-09-21 13:02:17 +02:00
nukeykt
935084ae52
More hacks to emulate old clipping
...
# Conflicts:
# source/build/src/clip.cpp
2019-09-21 10:28:10 +02:00
nukeykt
af2106c9d0
Finally Duke's DEMO1 is sync
2019-09-21 10:27:59 +02:00
nukeykt
5c099bea05
Start adding old collision code for demo compatibility.
...
DEMO2 and DEMO3 of Duke3D are sync again
# Conflicts:
# source/build/src/clip.cpp
2019-09-21 10:27:58 +02:00