terminx
41ff733fcd
Happier try_facespr_intersect()
...
I'm prejudiced against 30-line functions with statements nested 5 levels deep.
git-svn-id: https://svn.eduke32.com/eduke32@7933 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:02:56 +02:00
terminx
b8f668aa9b
Polymost projection changes to correct the perspective in widescreen and ultrawide resolutions.
...
Patch from Nuke.YKT and Fox.
git-svn-id: https://svn.eduke32.com/eduke32@7916 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/include/polymost.h
# source/build/src/polymost.cpp
2019-09-20 15:48:55 +02:00
terminx
40e54fdbbb
Tweak how the semaphore used to detect multiple running copies of the game is utilized
...
git-svn-id: https://svn.eduke32.com/eduke32@7912 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:46:43 +02:00
terminx
064516c050
Re-implement our mutex_lock() family of functions using SDL's atomic spinlocks
...
git-svn-id: https://svn.eduke32.com/eduke32@7907 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:46:32 +02:00
terminx
9021b885d6
Eliminate pos_as_vec2 from anything that had it
...
git-svn-id: https://svn.eduke32.com/eduke32@7905 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
# source/build/src/polymost.cpp
2019-09-20 15:46:28 +02:00
terminx
95598e08f9
getwalldist() tweak
...
git-svn-id: https://svn.eduke32.com/eduke32@7878 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:34:14 +02:00
terminx
9f9a158946
Replace runtime pow2 calculations with pow2char LUT usage
...
I don't know that this is any faster, but there's something to be said for standardization and consistency. I will be making most of this stuff use bitmap_set/test/clear() soon.
git-svn-id: https://svn.eduke32.com/eduke32@7876 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
# source/build/src/polymost.cpp
2019-09-20 15:34:08 +02:00
terminx
1a0c56f0f1
This adds back in the engine's old automapping feature
...
This was removed a long time ago because Duke3D and Shadow Warrior don't use it.
git-svn-id: https://svn.eduke32.com/eduke32@7873 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymer.cpp
# source/build/src/polymost.cpp
2019-09-20 15:32:13 +02:00
terminx
c7e403619b
Don't blow away wall cstat bit 14 for use as a temp flag in the editor
...
Patch from Nuke.YKT.
git-svn-id: https://svn.eduke32.com/eduke32@7870 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
2019-09-20 15:29:35 +02:00
terminx
0652b5b6d6
Make ksgn() return int instead of int32_t
...
git-svn-id: https://svn.eduke32.com/eduke32@7864 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:09 +02:00
terminx
26272f6755
if 0 out our klabs() function and just define it as abs()
...
The compiler generates much better code for this now.
git-svn-id: https://svn.eduke32.com/eduke32@7863 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:06 +02:00
terminx
752cf77887
Untabify a couple of headers
...
git-svn-id: https://svn.eduke32.com/eduke32@7862 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:05 +02:00
terminx
6e4951bdb6
Another clipping fix
...
git-svn-id: https://svn.eduke32.com/eduke32@7857 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:28:53 +02:00
terminx
490b7249a2
Allow reading vec3_whatever_t as vec2 directly
...
It's a union in a struct in a union in a struct. Oh god, what have I done.
git-svn-id: https://svn.eduke32.com/eduke32@7830 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:28 +02:00
terminx
df28860bad
Add divscale64()
...
git-svn-id: https://svn.eduke32.com/eduke32@7826 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:18 +02:00
terminx
dc0130625a
Minor pushmove() cleanup
...
git-svn-id: https://svn.eduke32.com/eduke32@7825 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:15 +02:00
terminx
2482cddbb5
Add getcorrectzsofslope()
...
git-svn-id: https://svn.eduke32.com/eduke32@7822 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:08 +02:00
terminx
e6b700cf9b
Promote divisor argument to tabledivide64 to int64_t and replace a couple of 64-bit divides in rintersect() and inflineintersect()
...
git-svn-id: https://svn.eduke32.com/eduke32@7820 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
2019-09-20 15:23:03 +02:00
hendricks266
e49e8f4cd6
Fix warnings in sjson
...
git-svn-id: https://svn.eduke32.com/eduke32@7813 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:17:45 +02:00
hendricks266
0cd74a6782
Add sjson to project
...
git-svn-id: https://svn.eduke32.com/eduke32@7812 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:17:43 +02:00
terminx
165b320f64
Amend r7805
...
'Murica.
git-svn-id: https://svn.eduke32.com/eduke32@7811 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:17:40 +02:00
pogokeen
3d63d1b720
Add updatesectorneighbour() and updatesectorneighbourz() and make them accessible to CON to allow searching for nearby neighbouring sectors from a known sector.
...
These updatesector counterparts are more performant for tasks that require determining whether nearby sectors exist at a point as they will not exhaustively search the map.
This also leads to more correct behaviour when sectors are disjoint, as queries will breadth-first search neighbouring sectors rather than risk accidentally stumbling first across accomodating disjoint sectors.
git-svn-id: https://svn.eduke32.com/eduke32@7805 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/include/build.h
2019-09-20 15:16:47 +02:00
hendricks266
d1b43acc06
Use std::numeric_limits instead of float.h
...
git-svn-id: https://svn.eduke32.com/eduke32@7799 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:14:23 +02:00
hendricks266
48b2cfef59
Fix compilation of linklist.h in C++11 mode with clang
...
git-svn-id: https://svn.eduke32.com/eduke32@7796 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:11:03 +02:00
pogokeen
1664310159
Support clamping in polymost1Frag.glsl and use it for sprites
...
git-svn-id: https://svn.eduke32.com/eduke32@7783 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/include/polymost.h
# source/build/src/polymost1Frag.glsl
# source/build/src/voxmodel.cpp
2019-09-20 15:10:02 +02:00
terminx
7e7f19b5fd
Add tilehasmodelorvoxel() function and fix instances where voxels for multi-sided sprites would get flipped based on the viewing angle
...
git-svn-id: https://svn.eduke32.com/eduke32@7767 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:40 +02:00
terminx
7a6293ff42
Floating point grouscan() patch from Nuke.YKT, worth a couple of fps in classic mode in slope-heavy scenes
...
git-svn-id: https://svn.eduke32.com/eduke32@7755 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:08 +02:00
Christoph Oelckers
8de0fd35a1
- fixed compilation
2019-09-20 14:32:28 +02:00
pogokeen
2e75437262
If GL_ARB_clip_control & GL_ARB_depth_clamp are available, reflect that in glinfo
...
git-svn-id: https://svn.eduke32.com/eduke32@7753 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:18:33 +02:00
terminx
f51b2a2cb3
Gump redux
...
git-svn-id: https://svn.eduke32.com/eduke32@7747 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:16:06 +02:00
terminx
3269875e7b
Fix builds on platforms other than win32--oops
...
git-svn-id: https://svn.eduke32.com/eduke32@7746 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/include/compat.h
2019-09-20 14:16:03 +02:00
pogokeen
8cbdf3a0c4
Use stencil buffer in Polymost to restrict mirrors to only render within the region of the screen occupied by the mirror wall.
...
Additionally, raise minimum number of stencil buffer bits to accomodate future use of the stencil buffer.
git-svn-id: https://svn.eduke32.com/eduke32@7736 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/include/build.h
# source/build/src/polymer.cpp
# source/build/src/polymost.cpp
# source/kenbuild/src/game.cpp
2019-09-20 14:04:29 +02:00
pogokeen
281ee3358b
Add benchmarkmode cvar which allows putting demo cameras in the map which can be used for automatic benchmarking of performance & correctness testing
...
git-svn-id: https://svn.eduke32.com/eduke32@7729 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:32:24 +02:00
terminx
b7f7c5fdc1
libdivide fixup
...
git-svn-id: https://svn.eduke32.com/eduke32@7725 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:17:34 +02:00
terminx
2ce96f67be
Patch from Nuke.YKT to add support for the cstat flip bits to voxels in both software and Polymost
...
git-svn-id: https://svn.eduke32.com/eduke32@7723 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:17:29 +02:00
Christoph Oelckers
1c3487444c
- some safety net.
2019-09-20 13:17:19 +02:00
terminx
1e0dd0e534
Templatized linked list functions
...
git-svn-id: https://svn.eduke32.com/eduke32@7720 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:08:34 +02:00
terminx
00222e05f6
Use remove_pointer_t instead of regular std::remove_pointer and add a definition for it for CXX11 builds
...
git-svn-id: https://svn.eduke32.com/eduke32@7719 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:46 +02:00
terminx
3130b51a96
Add SLOPTABLESIZ preprocessor definition
...
git-svn-id: https://svn.eduke32.com/eduke32@7718 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:42 +02:00
terminx
d3f93fc00f
EDuke32-specific libdivide customizations
...
git-svn-id: https://svn.eduke32.com/eduke32@7716 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:38 +02:00
terminx
db7a2bd0db
Update libdivide from git
...
git-svn-id: https://svn.eduke32.com/eduke32@7715 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:36 +02:00
terminx
ff4449638e
Use #if DEBUGGINGAIDS>=2 for the assertions in the structure trackers
...
git-svn-id: https://svn.eduke32.com/eduke32@7711 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:27 +02:00
terminx
d2b3691e22
Remove FIXMATH_NO_64BIT
...
This codebase doesn't work on any platforms where int64_t isn't even a type.
git-svn-id: https://svn.eduke32.com/eduke32@7707 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:17 +02:00
terminx
7f32add116
It looks like this works in MSVC
...
git-svn-id: https://svn.eduke32.com/eduke32@7706 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:14 +02:00
terminx
ccdba037b5
Added Xfree() function to accompany the Xmalloc() family of functions and change all uses of Bfree() to Xfree()
...
This was necessary because everything is already allocated with the Xmalloc() functions, but a future commit will make blocks allocated with those functions no longer compatible with the system implementation of free(), which Bfree() wraps.
git-svn-id: https://svn.eduke32.com/eduke32@7705 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
# source/build/src/mdsprite.cpp
# source/build/src/polymer.cpp
# source/build/src/polymost.cpp
# source/build/src/texcache.cpp
# source/build/src/voxmodel.cpp
2019-09-20 12:07:10 +02:00
terminx
dc62b986e8
Update miniz from 2.0.8 to 2.1.0--not much of a change
...
git-svn-id: https://svn.eduke32.com/eduke32@7703 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:02:41 +02:00
terminx
4ff7ec4a45
Minor pragmas.h cleanups
...
git-svn-id: https://svn.eduke32.com/eduke32@7700 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:02:33 +02:00
terminx
02ef02872a
Replace manual casts of sprite and wall pointers to vec2/3_t with use of the anonymous union
...
git-svn-id: https://svn.eduke32.com/eduke32@7697 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
# source/build/src/polymost.cpp
2019-09-20 12:02:26 +02:00
terminx
26a266dfe5
Rename STRUCT_TRACKERS_ENABLED preprocessor definition to USE_STRUCT_TRACKERS
...
This may also fix a minor performance regression introduced in Polymer sometime after we switched to building as C++, caused by confusion between STRUCT_TRACKERS_ENABLED and UNTRACKED_STRUCTS. UNTRACKED_STRUCTS is now named UNTRACT_STRUCTS__ to dissuade use outside of buildtypes.h.
git-svn-id: https://svn.eduke32.com/eduke32@7695 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymer.cpp
2019-09-20 12:01:36 +02:00
terminx
9d7e5d9970
Rename vec2s_t to vec2_16_t
...
git-svn-id: https://svn.eduke32.com/eduke32@7694 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymost.cpp
2019-09-20 11:28:57 +02:00