terminx
f76ca0a361
Fix remaining casts to vec2_t/vec3_t
...
git-svn-id: https://svn.eduke32.com/eduke32@7973 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
2019-09-20 16:07:36 +02:00
hendricks266
3bfed33608
Add voxels option to menu, if at least one has been defined
...
git-svn-id: https://svn.eduke32.com/eduke32@7961 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/engine.cpp
2019-09-20 16:04:57 +02:00
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
32cd1ae4dd
Tweak the fatal engine initialization error and game already running dialog boxes a bit
...
git-svn-id: https://svn.eduke32.com/eduke32@7921 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
2019-09-20 16:01:11 +02:00
pogokeen
5fad944ed1
engine.cpp: make renderSetTarget() more robust so that passing an xsiz or ysiz <= 0 is not accepted and can't cause a segmentation fault
...
git-svn-id: https://svn.eduke32.com/eduke32@7890 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:43:55 +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
1a83ec15e4
Fix silly branching logic in engineLoadBoard()
...
git-svn-id: https://svn.eduke32.com/eduke32@7871 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:38 +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
a949665f26
Work around an issue with far plane clipping with voxels without mipmaps in software mode
...
Patch from Nuke.YKT.
git-svn-id: https://svn.eduke32.com/eduke32@7869 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:20 +02:00
terminx
9335b339b0
Emulate slope overflow in Polymost in order to match the rest of the engine's slope algorithms
...
Patch from Nuke.YKT.
git-svn-id: https://svn.eduke32.com/eduke32@7868 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:19 +02:00
terminx
acc0b527a9
Cache the distrecip[] table
...
Patch from Nuke.YKT.
git-svn-id: https://svn.eduke32.com/eduke32@7866 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:15 +02:00
terminx
751b734795
Fix issue rendering TROR when the camera's z coordinate is right on the portal
...
git-svn-id: https://svn.eduke32.com/eduke32@7858 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:28:57 +02:00
pogokeen
5377b128a9
Fix rendering skyboxes to a tile by altering renderSetTarget() & renderRestoreTarget() to set & reset xdim & ydim so that G_ShowView() can render while a render target is set,
...
and additionally modifying G_SetupCamTile() to call EVENT_DISPLAYROOMSCAMERATILE after calling renderSetTarget()
git-svn-id: https://svn.eduke32.com/eduke32@7852 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:28:41 +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
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
terminx
67dc0cb5f8
Fix mirrors in Polymer
...
git-svn-id: https://svn.eduke32.com/eduke32@7809 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:17:34 +02:00
terminx
97390c1ff4
Fix another bunch of improperly sized bitmap arrays
...
git-svn-id: https://svn.eduke32.com/eduke32@7806 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
2019-09-20 15:17:25 +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
terminx
9fde5434f8
Fix translucent masked wall sorting issue in Polymost
...
git-svn-id: https://svn.eduke32.com/eduke32@7792 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:10:23 +02:00
terminx
f46db45970
Voxel fixes from Nuke
...
git-svn-id: https://svn.eduke32.com/eduke32@7788 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:10:14 +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
a075a89304
Voxel fixes from Nuke.YKT
...
git-svn-id: https://svn.eduke32.com/eduke32@7778 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:39:40 +02:00
terminx
2882609822
Don't attempt to animate sprites drawn as voxels by picnum
...
git-svn-id: https://svn.eduke32.com/eduke32@7777 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:39:10 +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
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
cdd83905ca
Fix TROR & skyboxes to work with mirrors in Software & Polymost
...
git-svn-id: https://svn.eduke32.com/eduke32@7733 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:59:17 +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
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
terminx
c122aa2178
Replace DO_TILE_ANIM() macro with tileUpdatePicnum() function
...
git-svn-id: https://svn.eduke32.com/eduke32@7722 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/engine_priv.h
# source/build/src/polymer.cpp
# source/build/src/polymost.cpp
2019-09-20 13:15:07 +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
3cdc20cac1
Patch from Nuke.YKT to increase the size of sloptable[]
...
git-svn-id: https://svn.eduke32.com/eduke32@7717 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:40 +02:00
terminx
4a09e2a183
Patch from Nuke.YKT to improve the appearance of slopes in software mode
...
git-svn-id: https://svn.eduke32.com/eduke32@7714 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:34 +02:00
terminx
d5d1f0a0ea
Patch from Nuke.YKT to implement q16 angle and horiz in software mode
...
git-svn-id: https://svn.eduke32.com/eduke32@7713 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:32 +02:00
terminx
29b626fc5d
Get rid of DYNALLOC_ARRAYS
...
It's garbage and the "functionality" it provided is something that will be able to be achieved in a better way in a future commit.
git-svn-id: https://svn.eduke32.com/eduke32@7708 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:20 +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
2f9ca17507
Fix integer overflows in rintersect() and optimize a bit of the logic
...
Some of the variable initialization ordering may look counterintuitive at first, but it's intended to avoid read-after-write memory access penalties.
git-svn-id: https://svn.eduke32.com/eduke32@7701 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:02:36 +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
8141fbd692
Fix alpha blending bug when switching from Polymost to software mode
...
git-svn-id: https://svn.eduke32.com/eduke32@7696 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:01:39 +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
terminx
3db7512c69
Templatize bfirst_search_init() and bfirst_search_try() so they can be used with types other than int16_t
...
git-svn-id: https://svn.eduke32.com/eduke32@7629 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
2019-09-20 09:20:14 +02:00
pogokeen
78d08b3ac2
engine.cpp: fix sprite sorting/adjustment issue introduced in r7612 that caused sprites with the same y value at the end of the sorted array to not be adjusted properly
...
git-svn-id: https://svn.eduke32.com/eduke32@7627 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:19:39 +02:00
Christoph Oelckers
8074d8251e
- can be compiled again but crashes.
2019-09-19 23:02:57 +02:00
Christoph Oelckers
53335f20ec
- Blood merge
...
# Conflicts:
# source/build/include/polymost.h
# source/build/src/build.cpp
# source/build/src/engine.cpp
# source/build/src/polymost.cpp
# source/build/src/voxmodel.cpp
2019-09-19 22:06:49 +02:00
pogokeen
5865d96306
engine.cpp: fix bug in killsprite where sprites were not being removed properly after sorting changes
...
git-svn-id: https://svn.eduke32.com/eduke32@7623 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 15:03:05 +02:00
pogokeen
d2ebc8a29c
Reduce state changes and fix translucent maskwall depth buffer issue
...
git-svn-id: https://svn.eduke32.com/eduke32@7619 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymost.cpp
2019-09-19 15:01:13 +02:00
terminx
968ebdef84
Fix TROR clipping issue
...
git-svn-id: https://svn.eduke32.com/eduke32@7617 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 15:00:55 +02:00
pogokeen
2228af8658
Fix maskwall array indirection bug and two if conditional oversights from r7612
...
git-svn-id: https://svn.eduke32.com/eduke32@7615 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:58:14 +02:00
pogokeen
2765ebec87
Fix depth buffer issue causing translucent sprites to not render properly in Polymost.
...
Use polymost_spriteHasTranslucency() and polymost_maskWallHasTranslucency() to determine if a sprite has translucency.
Optimize sprite rendering when in Polymost by only sorting sprites with translucency.
git-svn-id: https://svn.eduke32.com/eduke32@7612 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymost.cpp
2019-09-19 14:56:47 +02:00
terminx
60ea578a8c
Add support for returning the closest point in the sector to getsectordist()
...
git-svn-id: https://svn.eduke32.com/eduke32@7609 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:52:37 +02:00
terminx
8d85e8d934
Add new findwallbetweensectors() function and change sectoradjacent() to use it
...
git-svn-id: https://svn.eduke32.com/eduke32@7608 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:52:35 +02:00
terminx
e25a197f3e
Piddly fart bullshit changes that don't really do anything
...
git-svn-id: https://svn.eduke32.com/eduke32@7606 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:52:31 +02:00
terminx
301ac48ccd
Utilize the types added in the previous commit
...
This patch is a bit large.
git-svn-id: https://svn.eduke32.com/eduke32@7603 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/include/mdsprite.h
# source/build/src/build.cpp
# source/build/src/polymer.cpp
# source/build/src/polymost.cpp
# source/build/src/voxmodel.cpp
2019-09-19 14:46:31 +02:00
terminx
ab857c4e8f
This should fix updatesector/updatesectorz performance while retaining the benefits of breadth-first search
...
git-svn-id: https://svn.eduke32.com/eduke32@7601 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:37:06 +02:00
terminx
a89c260592
Add optional output parameter to getwalldist(), to return the coordinates of the closest point on the wall
...
git-svn-id: https://svn.eduke32.com/eduke32@7600 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:37:04 +02:00
terminx
1fae340426
Fix a bunch of improperly defined bitmap arrays
...
git-svn-id: https://svn.eduke32.com/eduke32@7594 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
2019-09-19 14:36:54 +02:00
terminx
a628b8d9f7
Add bounds checking for renderSetTarget()
...
I'm not aware of this problem actually occurring anywhere, but too many consecutive calls to renderSetTarget() without the appropriate calls to renderRestoreTarget() between them would overflow 5 different arrays.
git-svn-id: https://svn.eduke32.com/eduke32@7593 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:36:44 +02:00
terminx
80d77f64cf
This version of equation() compiles into fewer instructions
...
git-svn-id: https://svn.eduke32.com/eduke32@7592 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:36:42 +02:00
terminx
413d68f1f8
Replace yax_getclosestpointonwall() with getclosestpointonwall_internal() and use it in both yax_walldist() and getwalldist()
...
This commit also adds a getsectordist() but we aren't using it anywhere yet.
git-svn-id: https://svn.eduke32.com/eduke32@7591 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:36:40 +02:00
terminx
e5bd221746
auto/const/constexpr bullshit
...
git-svn-id: https://svn.eduke32.com/eduke32@7587 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:49 +02:00
terminx
f9e866d32d
Rename clipwalldist() to getwalldist() and move both it and sectoradjacent() to engine.cpp
...
git-svn-id: https://svn.eduke32.com/eduke32@7586 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:48 +02:00
terminx
5a814eb261
Make getceilzofslopeptr/getflorzofslopeptr/getzsofslopeptr not invoke the structure trackers
...
git-svn-id: https://svn.eduke32.com/eduke32@7583 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:41 +02:00
terminx
76d7fec2ff
Expose yax_getclosestpointonwall() for use outside of engine.cpp
...
git-svn-id: https://svn.eduke32.com/eduke32@7581 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:38 +02:00
terminx
a32597464f
Use uwalltype in inside() to avoid invoking the struct trackers
...
git-svn-id: https://svn.eduke32.com/eduke32@7578 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:32 +02:00
terminx
c754ac6e62
Limit lastwall() to 'numwalls' iterations instead of MAXWALLS
...
git-svn-id: https://svn.eduke32.com/eduke32@7569 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:15 +02:00
terminx
c8eb1d0368
Simplify conditions in bfirst_search_try()
...
git-svn-id: https://svn.eduke32.com/eduke32@7568 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:14 +02:00
terminx
030f0b7013
Fix crash when passing updatesectorz() an invalid sector number > numsectors and < MAXSECTORS
...
git-svn-id: https://svn.eduke32.com/eduke32@7549 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:20:53 +02:00
terminx
7abfcd28be
Add clipupdatesector(), a special version of updatesector() that only searches and returns results that are already in clipsectorlist[]
...
git-svn-id: https://svn.eduke32.com/eduke32@7546 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:20:47 +02:00
terminx
52ccd82c17
Fucking tabs
...
git-svn-id: https://svn.eduke32.com/eduke32@7544 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:20:42 +02:00
hendricks266
2081eff083
Patch from Nuke.YKT to fix TROR rendering in mirrors in Polymost
...
Includes "Fix screen tilt regression on mirror rendering"
git-svn-id: https://svn.eduke32.com/eduke32@7493 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:56:42 +02:00
terminx
0edbd45145
Retire the original naive updatesector() and updatesectorz() in favor of the breadth-first versions
...
git-svn-id: https://svn.eduke32.com/eduke32@7484 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
# source/build/src/polymer.cpp
2019-09-19 13:52:32 +02:00
terminx
2591c69b44
Add updatesectorbreadthz(), change pushmove() to use updatesectorbreadth(), and modify updatesectorbreadth() to include the early inside_p() return regular updatesector() has
...
git-svn-id: https://svn.eduke32.com/eduke32@7482 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:51:55 +02:00
terminx
8c6ddcc137
Minor cleanup for updatesectorbreadth()
...
git-svn-id: https://svn.eduke32.com/eduke32@7479 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:51:48 +02:00
terminx
631863ab67
const correctness for parameters passed to the updatesector family of functions
...
git-svn-id: https://svn.eduke32.com/eduke32@7478 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:51:46 +02:00
terminx
83999ee6e4
Minor cleanup of breadth-first search functions
...
git-svn-id: https://svn.eduke32.com/eduke32@7476 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:51:41 +02:00
pogokeen
9b0573f0f2
engine.cpp: lintersect(): use klabs() instead of abs()
...
git-svn-id: https://svn.eduke32.com/eduke32@7474 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:51:37 +02:00
pogokeen
f7f62c4466
engine.cpp: lintersect(): fix integer overflow and negative case issue
...
git-svn-id: https://svn.eduke32.com/eduke32@7472 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:51:33 +02:00
pogokeen
a82eb1d6fe
Re-introduce earlier lintersect() work that was reverted.
...
engine.cpp/.h: clean up & fix lintersect(). Additionally, add support for finding intersections of collinear line segments.
This reverts r7290.
git-svn-id: https://svn.eduke32.com/eduke32@7471 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:51:32 +02:00
terminx
decce5bc70
Make updatesectorz() fall back to updatesector() in cases where it would have returned -1
...
Note that both functions will still return -1 when x or y coordinates are out of bounds.
git-svn-id: https://svn.eduke32.com/eduke32@7456 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:27:25 +02:00
terminx
5986dbf6e1
Fix crash in situations where rendering a scene would overrun all of the MAXBUNCHES sized arrays in both classic and polymost
...
git-svn-id: https://svn.eduke32.com/eduke32@7447 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:24:11 +02:00
Christoph Oelckers
51dc82b6a6
- merged in the changes RedNukem made to the Build code.
2019-09-19 00:19:02 +02:00
Christoph Oelckers
318009fd69
- added a centralized drawer and converted the main geometry drawer to use it.
2019-09-16 19:35:04 +02:00
terminx
ff8e54432b
"This adds masked texture rendering support for slopes in classic renderer"
...
git-svn-id: https://svn.eduke32.com/eduke32@7418 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:09:03 +00:00
terminx
7ccbd22013
Move some clipping related stuff out of engine.cpp and into clip.cpp
...
git-svn-id: https://svn.eduke32.com/eduke32@7417 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:59 +00:00
terminx
25cd73d99a
Patch from Nuke.YKT to use the shade tables for distance shading in Polymost
...
This makes the shading in Polymost more or less 1:1 with classic mode.
git-svn-id: https://svn.eduke32.com/eduke32@7412 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:39 +00:00
terminx
798eaeb980
Allow passing a null pointer to spriteheightofsptr() for the height return value
...
git-svn-id: https://svn.eduke32.com/eduke32@7405 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:12 +00:00
terminx
f1ea04e7da
Another Polymost TROR patch from Nuke.YKT
...
This one should bring Polymost TROR into parity with classic mode.
git-svn-id: https://svn.eduke32.com/eduke32@7400 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:07:53 +00:00
terminx
e9d53fce0a
Optimize nonpow2_mhline and nonpow2_thline by replacing divide operation by cheaper multiplication
...
Patch from Nuke.YKT.
git-svn-id: https://svn.eduke32.com/eduke32@7362 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:21:05 +00:00
hendricks266
7414f29348
Add buildvfs, abstraction layer for file I/O.
...
Currently it passes calls through to the system libraries as before.
Also adds an incomplete implementation on PhysFS.
git-svn-id: https://svn.eduke32.com/eduke32@7359 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-01 08:51:50 +00:00
terminx
8433d133b4
Patch from Fox:
...
Add a FOV option in the menu. Range from 75 to 120 degrees (at 4:3 resolution), default is 90.
New userdef "fov". Equals the FOV in 360 degrees.
Update Polymost projection hack, so it compensates for the FOV or height of the game view.
Fix FOV in Polymer when the full status bar is visible. Now the FOV depends of the width of the game view instead of the height.
git-svn-id: https://svn.eduke32.com/eduke32@7329 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-18 22:02:33 +00:00
terminx
975126edf4
Fix a couple minor issues with 90 degree wall texture rotation
...
git-svn-id: https://svn.eduke32.com/eduke32@7325 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-02 23:24:32 +00:00
terminx
8e50f47aa4
rotatesprite hack from Fox
...
git-svn-id: https://svn.eduke32.com/eduke32@7321 1a8010ca-5511-0410-912e-c29ae57300e0
2019-01-30 00:19:56 +00:00
terminx
ea86e5520b
Revert "engine.cpp/.h: clean up & fix lintersect(). Additionally, add support for finding intersections of collinear line segments."
...
This reverts r6886.
git-svn-id: https://svn.eduke32.com/eduke32@7290 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:40:31 +00:00
seventyfive
87cf4495bf
- Packet code implementation (merge from private c/s repo), world updates are now synced through snapshots. See tag SVN_SyncPoint_Dec2018 on master of the other repo.
...
- "Scratch pad" sprites implementation, to avoid desyncs in sprite indexes, clients will insert temporary sprites which are cleared out when they receive the next snapshot from the server.
- Patches from Striker which fix player stomping frag counts, the accept button when hosting a game through the menu, and a "noffire" command line parameter.
- Patches from NY00123: t_data sync optimizations to improve some jittery behavior on the client side.
git-svn-id: https://svn.eduke32.com/eduke32@7242 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-08 00:40:39 +00:00
terminx
252fb58321
Fix oversight with wall texture rotation on tile 0
...
git-svn-id: https://svn.eduke32.com/eduke32@7240 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 21:17:59 +00:00
terminx
4861d1fc3d
WIP wall texture rotation bit
...
git-svn-id: https://svn.eduke32.com/eduke32@7226 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:13:48 +00:00
terminx
6618883d7e
Fix crash when attempting to load a corrupt map
...
git-svn-id: https://svn.eduke32.com/eduke32@7206 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:11:50 +00:00