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
terminx
72821e7de1
Patch from Nuke.YKT to improve mouse selection in the editor in Polymost
...
git-svn-id: https://svn.eduke32.com/eduke32@7740 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymost.cpp
2019-09-20 14:12:27 +02:00
pogokeen
d621023807
polymost.cpp: Fix polymost_domost() issue with COMBINE_STRIPS where in certain cases, merging with the viewport nodes caused accidental reading of sentinel node values.
...
Additional debug code is included for visualizing the state of the vsp data structure.
Further, fix issue in drawpoly where it would access out of bounds of dpxy if fewer than 3 vertices were passed in and fix issue where multiple calls to polymost_setVisibility() were repeatedly setting the visibility factor to the same value.
git-svn-id: https://svn.eduke32.com/eduke32@7737 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:04:32 +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
1426b3fb4f
winlayer.cpp: fix videoBeginDrawing() to return an intptr_t to mirrorBuffer when inpreparemirror
...
git-svn-id: https://svn.eduke32.com/eduke32@7735 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:59:22 +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
Christoph Oelckers
86dcab958d
- make it compile again.
2019-09-20 13:30:25 +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
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
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
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
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
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
fe2fe0c2cf
Patch from Fox:
...
Polymost visibility: compensate for the classic mode "truncating" the lookup shades by moving the fog ramp by the equivalent of 1/2 shade
Fix some issues with negative shade in GL fog.
git-svn-id: https://svn.eduke32.com/eduke32@7712 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:29 +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
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
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
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
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
d34224a3de
"Fix" editor clipping bug allowing movement into null space
...
This doesn't so much fix the issue as band-aid over it--it appears to be an OG BUILD bug that has happened since long before I ever began improving the clipping, I don't know what causes it, and I don't want to fuck everything up trying to fix it right now.
git-svn-id: https://svn.eduke32.com/eduke32@7698 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:02:29 +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
Christoph Oelckers
f8b17e98f3
- sadly this crap is really needed... :(
2019-09-20 11:26:37 +02:00
terminx
bd80cec462
Add anonymous union between separate coordinate variables and vec2/3_t in basic map structs
...
git-svn-id: https://svn.eduke32.com/eduke32@7693 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/include/buildtypes.h
2019-09-20 10:42:09 +02:00
terminx
1a4afe09a8
Add missing ifdef
...
git-svn-id: https://svn.eduke32.com/eduke32@7692 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:15:21 +02:00
terminx
5be379c6b0
This benchmarks as just the tiniest bit faster on my machine
...
git-svn-id: https://svn.eduke32.com/eduke32@7691 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:15:19 +02:00
terminx
0556fe1738
Simplify map structure tracker overloads
...
Due to less branching, this is actually faster than trying to be clever.
git-svn-id: https://svn.eduke32.com/eduke32@7690 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:15:17 +02:00
hendricks266
ff204ff034
Fix macOS -Wdeprecated-declarations warnings
...
git-svn-id: https://svn.eduke32.com/eduke32@7688 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# .gitignore
2019-09-20 10:15:10 +02:00
hendricks266
ecf990253b
Fix OOB access in polymost_spriteHasTranslucency
...
git-svn-id: https://svn.eduke32.com/eduke32@7686 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:14:37 +02:00
hendricks266
3598e79dc7
Fix OOB access in clipmove
...
git-svn-id: https://svn.eduke32.com/eduke32@7685 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:14:35 +02:00
pogokeen
f92ec7bb89
polymost.cpp: fix issue where GL_ALPHA_TEST could be enabled in certain instances when executing polymost_drawrooms() and better handle when we are drawing without a texture in polymost_drawpoly()
...
git-svn-id: https://svn.eduke32.com/eduke32@7682 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymost.cpp
2019-09-20 10:14:28 +02:00
pogokeen
9b621c0ef2
Add GL debugging event annotations for Polymost functions
...
git-svn-id: https://svn.eduke32.com/eduke32@7681 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/include/polymost.h
# source/build/src/mdsprite.cpp
# source/build/src/polymost.cpp
2019-09-20 10:14:12 +02:00
hendricks266
d2609f07a9
Restore file loading
...
git-svn-id: https://svn.eduke32.com/eduke32@7679 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:05:34 +02:00
hendricks266
dd5f1338c5
Revert "Improve file loading"
...
This reverts commit bfc6b7589e
.
git-svn-id: https://svn.eduke32.com/eduke32@7678 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:05:31 +02:00
terminx
91b9a605fa
"horizon offset should not be affected by projection hack"
...
git-svn-id: https://svn.eduke32.com/eduke32@7675 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymost.cpp
2019-09-20 10:05:22 +02:00
terminx
b0a4b6a1ee
Convert loops using unsigned integers as iterators to use regular signed ints instead
...
https://kristerw.blogspot.com/2016/02/how-undefined-signed-overflow-enables.html
Doing this as cleanly as possible involved demoting several function parameters concerning object sizes and counts from size_t to int--I'm fine with this change as the functions in question are not actually capable of handling input with sizes larger than what can be stored in a signed 32-bit integer, making the use of size_t here misleading at best.
git-svn-id: https://svn.eduke32.com/eduke32@7673 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymost.cpp
# source/build/src/texcache.cpp
# source/build/src/tilepacker.cpp
2019-09-20 10:04:24 +02:00
terminx
9aa1030a09
Promote display_mirror
from char to int32_t and remove GAMEVAR_UINT8PTR handling since nothing else was using it
...
git-svn-id: https://svn.eduke32.com/eduke32@7662 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:01:31 +02:00
terminx
0becd69e91
Tweak EDUKE32_PRE_XALLOC thing used when DEBUGGINGAIDS is defined
...
git-svn-id: https://svn.eduke32.com/eduke32@7661 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:01:29 +02:00
terminx
badf4eab6d
Add EDUKE32_PREDICT_TRUE to our *alloc macros and flip the condition around so the true branch is first
...
git-svn-id: https://svn.eduke32.com/eduke32@7660 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:01:27 +02:00
terminx
6395909290
Add preprocessor check for __OPTIMIZE__ to EDUKE32_PREDICT_TRUE and EDUKE32_PREDICT_FALSE
...
git-svn-id: https://svn.eduke32.com/eduke32@7659 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:01:24 +02:00
Christoph Oelckers
61d2e31610
- fixed another bad merge
2019-09-20 09:44:58 +02:00
terminx
5e470e8a5b
Neat Polymost y-shearing patch from Nuke.YKT
...
git-svn-id: https://svn.eduke32.com/eduke32@7656 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymost.cpp
2019-09-20 09:43:17 +02:00
terminx
0ff1188b59
Rename Gv_GetVarX() to Gv_GetVar() (overloaded)
...
git-svn-id: https://svn.eduke32.com/eduke32@7652 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:38:38 +02:00
Christoph Oelckers
dcc3e2b94e
- removed code duplication from last cherry-pick
2019-09-20 09:35:09 +02:00
terminx
410da8a085
Polymost shade table interpolation patch from Nuke.YKT
...
git-svn-id: https://svn.eduke32.com/eduke32@7650 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymost.cpp
2019-09-20 09:32:22 +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
pogokeen
fc636b53ca
polymost.cpp: Fix issue where state would not be reset properly in polymost_drawmaskwall() when rendering translucent maskwalls with no texture
...
git-svn-id: https://svn.eduke32.com/eduke32@7626 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:19:29 +02:00
pogokeen
40737f44cc
polymost.cpp: fix polymost_dorotatesprite() alpha test/blend issue introduced in r7619
...
git-svn-id: https://svn.eduke32.com/eduke32@7625 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:19:27 +02:00
pogokeen
775a0de6c1
polymost.cpp: fix issue where floors & ceilings with DAMETH_MASKPROPS were not being blended
...
git-svn-id: https://svn.eduke32.com/eduke32@7624 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:19:25 +02:00
Christoph Oelckers
0254bf82d3
- added NBlood source.
2019-09-20 00:42:45 +02:00
Christoph Oelckers
8074d8251e
- can be compiled again but crashes.
2019-09-19 23:02:57 +02:00
Christoph Oelckers
dd7ce38cbb
- adjustments for the Blood merge.
2019-09-19 22:26:44 +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
be86eb779b
This is a few less instructions
...
git-svn-id: https://svn.eduke32.com/eduke32@7618 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 15:00:57 +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
9534bb1578
polymost.cpp: switch from writing gl_FragColor to writing gl_FragData[0] in order to reduce VGPR usage on AMD cards
...
git-svn-id: https://svn.eduke32.com/eduke32@7613 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymost.cpp
2019-09-19 14:58:09 +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
61b3a65e79
Improve check_floor_curb()
...
This should fix several remaining clipping bugs.
git-svn-id: https://svn.eduke32.com/eduke32@7611 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:52:41 +02:00
terminx
12eb413f9c
Fix SOS check in clipmove()
...
git-svn-id: https://svn.eduke32.com/eduke32@7610 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:52:40 +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
5948513d76
Introduce a few "new" types for convenience when dealing with pointers to sprites, walls, and sectors that bypass the StructTracker stuff
...
git-svn-id: https://svn.eduke32.com/eduke32@7602 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:37:07 +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
879cb550a6
Whitespace
...
git-svn-id: https://svn.eduke32.com/eduke32@7598 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:37:02 +02:00
terminx
5052addc67
Remove useless unused "sqr" function
...
git-svn-id: https://svn.eduke32.com/eduke32@7597 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:36:59 +02:00
terminx
2d01182ef0
Update libdivide.h with a couple of fixes for obscure problems from their git repo
...
git-svn-id: https://svn.eduke32.com/eduke32@7595 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:36:56 +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
ea826fb117
Move NEXTWALL and POINT2 macros into build.h
...
git-svn-id: https://svn.eduke32.com/eduke32@7590 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:30:26 +02:00
terminx
51e5e41830
Remove obsolete "msinttypes" headers
...
git-svn-id: https://svn.eduke32.com/eduke32@7589 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:30:24 +02:00
terminx
e59f8e3b71
Use FORCE_INLINE and CONSTEXPR where appropriate in the Q16 fixed point math library
...
git-svn-id: https://svn.eduke32.com/eduke32@7588 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# platform/Windows/build.vcxproj.filters
2019-09-19 14:30:22 +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
bb517b73e3
clip.cpp usectortype cleanup
...
git-svn-id: https://svn.eduke32.com/eduke32@7585 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:45 +02:00
terminx
d04c4203c5
Fix a really stupid bug in r7574
...
git-svn-id: https://svn.eduke32.com/eduke32@7584 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:43 +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
b46bc73322
Add a distance check to clipupdatesector() to prevent traversing through portals that are outside the wall distance passed to clipmove()
...
git-svn-id: https://svn.eduke32.com/eduke32@7582 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:40 +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
e2be7183b4
Fix addclipsect() accidentally being nested under #ifdef HAVE_CLIPSHAPE_FEATURE
...
git-svn-id: https://svn.eduke32.com/eduke32@7580 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:36 +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
bcf8ae4d84
Revert "Clean up clip.cpp struct casting including but not limited to r7466 changes"
...
git-svn-id: https://svn.eduke32.com/eduke32@7577 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:30 +02:00
hendricks266
f96e1c8e24
Clean up clip.cpp struct casting including but not limited to r7466 changes
...
git-svn-id: https://svn.eduke32.com/eduke32@7576 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:29 +02:00
hendricks266
cd499b2089
Fix clipshape regression in r7466
...
git-svn-id: https://svn.eduke32.com/eduke32@7575 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:27 +02:00
terminx
9af816af52
Replace manual search of clipsectorlist[] in clipmove() and friends with a bitmap
...
git-svn-id: https://svn.eduke32.com/eduke32@7574 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:25 +02:00
terminx
74944c9ed0
Fix clipupdatesector()
...
git-svn-id: https://svn.eduke32.com/eduke32@7573 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:23 +02:00
terminx
ad59875fa3
Improve warnings spewed by clipmove() when attempting to consider too many things for clipping
...
git-svn-id: https://svn.eduke32.com/eduke32@7572 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:21 +02:00
terminx
8a68bffdb0
Clean up clip.h and declare a bunch of stuff in clip.cpp static
...
git-svn-id: https://svn.eduke32.com/eduke32@7571 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:19 +02:00
terminx
7d0faa5752
Reduce MAXCLIPSECTORS to 512
...
git-svn-id: https://svn.eduke32.com/eduke32@7570 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:17 +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
b7d06c0bd8
clipmove/pushmove parameter const correctness
...
git-svn-id: https://svn.eduke32.com/eduke32@7567 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:12 +02:00
hendricks266
0c7a7e1bd6
compat.h: Factor some repeated conditional_t statements into a new take_sign_t
...
git-svn-id: https://svn.eduke32.com/eduke32@7559 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:23:32 +02:00
hendricks266
0d277a6210
Fix newly exposed -Wtautological-constant-out-of-range-compare in kplib
...
git-svn-id: https://svn.eduke32.com/eduke32@7558 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:23:31 +02:00
hendricks266
fb0443db69
Replace #if CXXSTD >= 2011 || EDUKE32_MSVC_PREREQ(1800)
with #ifdef HAVE_CXX11_HEADERS
...
git-svn-id: https://svn.eduke32.com/eduke32@7557 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:23:29 +02:00
pogokeen
71847ec0f1
polymost.cpp: fix fragment shader issue where fullbrights in a texture could affect rendering when u_useColorOnly was enabled
...
git-svn-id: https://svn.eduke32.com/eduke32@7552 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:23:23 +02:00
terminx
84c43dc99c
Fix warnings with TrackedType
...
git-svn-id: https://svn.eduke32.com/eduke32@7551 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:23:22 +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
664c1ed38e
Fix extern "C" error in kplib.h affecting the Build tools
...
git-svn-id: https://svn.eduke32.com/eduke32@7543 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:20:40 +02:00
hendricks266
c2921abe4a
SW: Address -Woverflow warnings resulting from the struct tracker templates being too restrictive
...
git-svn-id: https://svn.eduke32.com/eduke32@7526 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:05:59 +02:00
hendricks266
8b3f6b55e3
Dummy functions for mmulti.h for now until OldMP's mmulti is ported
...
Patch from Striker.
git-svn-id: https://svn.eduke32.com/eduke32@7517 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:05:47 +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
hendricks266
eb5a90b1ef
Patch from Nuke.YKT to fix a TROR in Polymost issue
...
Report by oasiz: It only occurs when you try to sandwich surfaces and kind of punch through. It seems similar to the kind of behavior that the pre-TROR fixes did (where you had to stand on the TROR sector for things to work). This seems to work if the weird wall is punching IN on your sector but not OUT to another.
git-svn-id: https://svn.eduke32.com/eduke32@7492 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:56:40 +02:00
terminx
fd5ee7c561
Fix dumbass problem with r7463 that screwed up projectiles
...
git-svn-id: https://svn.eduke32.com/eduke32@7490 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:56:35 +02:00
terminx
303d0048ea
We probably don't want to be bailing out here when handling a clipshape
...
git-svn-id: https://svn.eduke32.com/eduke32@7486 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:52:35 +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
ae59a46c8b
Use updatesectorbreadth() in clipmove()
...
git-svn-id: https://svn.eduke32.com/eduke32@7480 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:51:50 +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
terminx
146fa7e79e
Add simple bitmap manipulation functions
...
git-svn-id: https://svn.eduke32.com/eduke32@7475 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:51:39 +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
0bfde1c4d3
Fix issue where swingdoors would refuse to open or close if an enemy was in front of the door in an overlapping but unrelated/disjoint sector
...
git-svn-id: https://svn.eduke32.com/eduke32@7473 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:51:35 +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
1ea1f525d9
Fix editor clipping issue
...
git-svn-id: https://svn.eduke32.com/eduke32@7467 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:24:23 +02:00
terminx
25236d3d74
usectortype/uwalltype cleanup in clip.cpp
...
git-svn-id: https://svn.eduke32.com/eduke32@7466 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:24:17 +02:00
terminx
8cbada19cf
Fix crash in editor tile selector
...
git-svn-id: https://svn.eduke32.com/eduke32@7465 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:24:10 +02:00
terminx
c2e0000b11
Add bounds checking for populating clipsectorlist[], use preprocessor labels for sprite cstats
...
git-svn-id: https://svn.eduke32.com/eduke32@7464 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:24:04 +02:00
terminx
393e97beec
Partially refactor clipmove()
...
git-svn-id: https://svn.eduke32.com/eduke32@7463 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:23:59 +02:00
terminx
ceaaaf9c0d
Reduce MAXCLIPNUM to 2048 again and introduce MAXCLIPSECTORS, with a value of 1024
...
git-svn-id: https://svn.eduke32.com/eduke32@7459 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:23:36 +02:00
terminx
ddd1d34973
clipmove() improvements
...
This reverts some of the previous clipmove() changes in favor of implementing explicit rejection of movement in cases where clipping has somehow failed.
git-svn-id: https://svn.eduke32.com/eduke32@7457 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:27:27 +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
c8bd436cf8
Additional TROR patch from Nuke
...
git-svn-id: https://svn.eduke32.com/eduke32@7452 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:25:52 +02:00
terminx
66734e34bf
Further clipmove() improvements to better deal with sector-over-sector
...
There's still something wrong here, but this at least fixes Duke3D E1L2.
git-svn-id: https://svn.eduke32.com/eduke32@7450 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:24:16 +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
terminx
3b271fb7bb
Fix issue where controls intentionally bound to no keys would be reset to default at startup
...
git-svn-id: https://svn.eduke32.com/eduke32@7442 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:14:50 +02:00
terminx
fb36b256de
Fix "spriteshadow" on voxels in Polymost
...
git-svn-id: https://svn.eduke32.com/eduke32@7441 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:14:48 +02:00
terminx
0b1c21d477
Bump MAXCLIPNUM to 3072 because IM was still hitting it with 2048
...
git-svn-id: https://svn.eduke32.com/eduke32@7437 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:14:27 +02:00
terminx
37a8c98c2c
Replace some individual assignments of structure members with whole structure assignments
...
git-svn-id: https://svn.eduke32.com/eduke32@7434 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymost.cpp
2019-09-19 12:12:41 +02:00
terminx
dba335c7dd
Adjust projection matrix depending on SCISDIST
...
git-svn-id: https://svn.eduke32.com/eduke32@7432 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:09:13 +02:00
terminx
3220b1e4f9
Hoist comparison of const variable outside of loop in getzrange()
...
git-svn-id: https://svn.eduke32.com/eduke32@7427 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:06:38 +02:00
Christoph Oelckers
95c9dba9df
- deactivated the no-fog-calculation checks again.
...
The high level code should have no business deciding that - this must later be done in the backend.
Performance-wise this is really a non-issue so in the end this constitutes an optimization that only creates mess but np gain.
The commit was only cherry-picked for the remaining changes.
2019-09-19 12:04:06 +02:00
terminx
8a6ce26b57
Don't bother with fog calculations for things without hightile replacements
...
git-svn-id: https://svn.eduke32.com/eduke32@7424 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymer.cpp
2019-09-19 11:56:04 +02:00
terminx
35efbccfa3
Fix r_polygonmode cvar
...
git-svn-id: https://svn.eduke32.com/eduke32@7422 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 11:48:58 +02:00
terminx
bf7ee94a2d
Clean up polymost.cpp includes
...
git-svn-id: https://svn.eduke32.com/eduke32@7421 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymost.cpp
2019-09-19 11:48:56 +02:00
Christoph Oelckers
e1e8b835db
- make it compile again.
2019-09-19 11:43:11 +02:00
Christoph Oelckers
8f6f979fa5
- do not force the tile shades mode for now without re_adding the removed variable.
...
Much of this needs to be abstracted out but until that part is done this still needs to work properly.
2019-09-19 11:02:05 +02:00
terminx
a5965e2562
Remove r_usetileshades--GLOBAL_NO_GL_TILESHADES flag for DN64 not affected
...
This also locks the texture filtering options in the menu behind ifdef guards until they're fixed.
git-svn-id: https://svn.eduke32.com/eduke32@7420 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymost.cpp
# source/duke3d/src/menus.cpp
2019-09-19 10:50:18 +02:00
Christoph Oelckers
412f3a0b32
- proper npot checks for RedNukem's sky calculations.
2019-09-19 00:37:12 +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
3a90d21661
- consolidated the redundant texture coordinates.
...
They were all the same, so no point recalculating them, the copies weren't even correct.
2019-09-19 00:06:12 +02:00
Christoph Oelckers
30dac6be74
- deleted the tilepacker.
2019-09-18 22:16:56 +02:00
Christoph Oelckers
e0f823a492
- refactored texture setup to use an intermediate layer.
2019-09-18 22:16:15 +02:00
Christoph Oelckers
155f093bd5
- stuff
2019-09-17 20:57:45 +02:00
Christoph Oelckers
13832eebc2
- removed assembly files.
2019-09-17 20:22:12 +02:00
Christoph Oelckers
1ad3b39e70
- removed the editor code.
2019-09-17 20:19:11 +02:00
Christoph Oelckers
d63cf04e06
- removed the compressed texture cache.
...
This is a pointless relic from the past and makes zero sense with modern graphics hardware.
2019-09-17 20:18:18 +02:00
Christoph Oelckers
b1763a8f4a
- hooked up the texture management.
...
Not in active use yet!
2019-09-17 19:03:42 +02:00
Christoph Oelckers
2b439ae181
- work on backend
2019-09-16 23:28:26 +02:00
Christoph Oelckers
cb2e2cc222
- count correctly.
2019-09-16 22:14:44 +02:00
Christoph Oelckers
0359602159
- some missed parts.
2019-09-16 21:27:07 +02:00
Christoph Oelckers
6536d910b3
- all drawing is being routed through the interface layer, all vertex buffers are gone.
...
No big loss here, none of them made much sense performance wise.
2019-09-16 21:08:42 +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
Christoph Oelckers
2a20eb9287
- deleted vertex buffer drawing and used immediate mode instead.
...
This served no benefit and made cleanup harder than necessary.
2019-09-16 18:12:16 +02:00
Christoph Oelckers
20ab1289fd
- deletion of unused code.
2019-09-16 18:10:28 +02:00
Christoph Oelckers
d2e34ef18e
- this time the texture upload is working.
2019-09-16 18:00:19 +02:00
Christoph Oelckers
a85f9f4848
- this is good enough.
2019-09-13 22:27:20 +02:00
Christoph Oelckers
524f6cf5e5
- crap
2019-09-13 22:18:37 +02:00
Christoph Oelckers
aecdd9b4c5
- this is the state I want to build.
2019-09-13 21:43:05 +02:00
terminx
4506b8490f
Minor cleanup of some Polymost shader program support functions
...
git-svn-id: https://svn.eduke32.com/eduke32@7419 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:09:06 +00: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
483fbe4cd6
Polymost sky Z buffer hack from Nuke.YKT
...
git-svn-id: https://svn.eduke32.com/eduke32@7415 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:51 +00:00
terminx
4522a8902b
Limit Polymost tile sheet size to 8192 when building with MSVC
...
git-svn-id: https://svn.eduke32.com/eduke32@7414 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:47 +00:00
terminx
5e97fc5f51
Polymost NPOT texture patch from Nuke.YKT
...
git-svn-id: https://svn.eduke32.com/eduke32@7413 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:43 +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
1a0ee0f4c3
Polymost relative texture alignment patch from Nuke
...
This "fixes" relative texture alignment for floors and ceilings in Polymost to match classic mode. "Fix" is in quotes because this actually means the alignment is less correct in terms of proper scaling than before, but more correct in terms of accuracy to classic mode.
git-svn-id: https://svn.eduke32.com/eduke32@7411 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:35 +00:00
terminx
b61027086c
Fix Polymost HOM
...
git-svn-id: https://svn.eduke32.com/eduke32@7408 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:23 +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
76863607e3
This fixes a bug in clipmove() where clipping against sprites above you was wrong
...
Because this is a check for sprites above the sprite being moved and not a check for sprites below, the height of the sprite should not be taken into account at all here and the base of the sprite should be used instead.
git-svn-id: https://svn.eduke32.com/eduke32@7404 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:08 +00:00
terminx
770b255bff
Calculate texture coordinates as double since we're storing them that way anyway
...
This isn't really intended to fix any specific issue, but to shut up Visual Studio whining about arithmetic overflows.
git-svn-id: https://svn.eduke32.com/eduke32@7403 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:05 +00:00
terminx
c8b161704b
Patch from Nuke.YKT to work around a Polymost glitch with slopes
...
git-svn-id: https://svn.eduke32.com/eduke32@7401 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:07:57 +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
6190fbb4f2
clipmove() improvements
...
This fixes an issue with clipmove() caused by sectors behind walls which were candidates for clipping not being added to the list of sectors that definitely clip the player, forcing the function to fall back to a slow, sector-by-sector brute force approach. This brute force approach has also been removed in favor of something more efficient.
git-svn-id: https://svn.eduke32.com/eduke32@7398 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:07:45 +00:00
terminx
00cac93851
Bump MAXCLIPNUM to 2048
...
git-svn-id: https://svn.eduke32.com/eduke32@7397 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:07:41 +00:00
terminx
0e01b45227
Revert r7388 because it just wasn't working out
...
git-svn-id: https://svn.eduke32.com/eduke32@7396 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:07:37 +00:00
hendricks266
5258e10271
Fix some GL ES compilation issues in polymost.cpp
...
git-svn-id: https://svn.eduke32.com/eduke32@7395 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-11 06:06:51 +00:00
hendricks266
6ba0b64de6
Add buildvfs_fopen_write_text
...
Long-term we will need to replace all uses of "\n" in string literals printed to disk.
git-svn-id: https://svn.eduke32.com/eduke32@7394 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-11 06:06:47 +00:00
hendricks266
381517ffa0
Add CLEAR and KP_CLEAR to the SDL key translation table as synonyms for KP_5
...
git-svn-id: https://svn.eduke32.com/eduke32@7393 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-11 06:06:43 +00:00
terminx
f54f35a067
Polymost TROR patch from Nuke.YKT--nice!
...
git-svn-id: https://svn.eduke32.com/eduke32@7392 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-04 23:49:11 +00:00
terminx
c6261b9f45
It looks like this is OK to remove now!
...
git-svn-id: https://svn.eduke32.com/eduke32@7391 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-04 23:49:07 +00:00
terminx
0e6dd28573
Patch from Nuke.YKT to clip Polymost spans to screen borders
...
git-svn-id: https://svn.eduke32.com/eduke32@7390 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-04 23:49:03 +00:00
terminx
a206a83020
This seems to help with some polygon drawing issues in Polymost for now
...
git-svn-id: https://svn.eduke32.com/eduke32@7388 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-04 23:48:55 +00:00
terminx
b72dec2940
Fix compilation with winlayer
...
There are still a bunch of warnings, but fixing warnings in deprecated code that only one guy uses anymore isn't an efficient use of time.
git-svn-id: https://svn.eduke32.com/eduke32@7387 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-04 23:48:50 +00:00
terminx
ea66c0a682
Well, that didn't take long :D
...
git-svn-id: https://svn.eduke32.com/eduke32@7386 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-03 11:15:20 +00:00
terminx
2b3be31fa2
As if you couldn't already tell from Ion Maiden, I like shitty one liners
...
git-svn-id: https://svn.eduke32.com/eduke32@7383 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-03 11:15:08 +00:00
terminx
33a3e9fbca
Fix compilation error in texcache
...
git-svn-id: https://svn.eduke32.com/eduke32@7380 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:35:43 +00:00
terminx
a050281006
A curious Polymost optimization from Nuke.YKT
...
This bails out of drawing any domost spans that seem to be entirely outside of the range of the screen coordinates. Since this seems so obvious, I have to wonder if Polymost is supposed to be doing this elsewhere already...
git-svn-id: https://svn.eduke32.com/eduke32@7379 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:22:12 +00:00
terminx
23e53c17fc
This might not be needed anymore after the previous commit
...
git-svn-id: https://svn.eduke32.com/eduke32@7375 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:21:56 +00:00
terminx
0e107acd39
Work around floating point precision issues in Polymost causing problems when rendering certain geometry from particular angles
...
git-svn-id: https://svn.eduke32.com/eduke32@7374 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:21:52 +00:00
terminx
61b89491c6
Lower MAXWALLSB
...
git-svn-id: https://svn.eduke32.com/eduke32@7373 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:21:48 +00:00
terminx
e84d62416d
Patch from Striker to allow selective tile redefinition in .def files based on the crc of the original tile
...
This only works for "tilefromtexture" for now.
git-svn-id: https://svn.eduke32.com/eduke32@7370 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:21:37 +00:00
terminx
f31f31a17e
Rework previous commit to use a little less floating point math
...
git-svn-id: https://svn.eduke32.com/eduke32@7369 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:21:32 +00:00
terminx
17fa3ea5ff
Patch from Nuke.YKT to fix voxel rotation in Polymost
...
git-svn-id: https://svn.eduke32.com/eduke32@7368 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:21:29 +00:00
terminx
3775bce3d7
Fix a crash when trying to access cvars through typing the name into the console with the wrong case
...
git-svn-id: https://svn.eduke32.com/eduke32@7365 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:21:16 +00:00
terminx
f7d4209084
Use lowercase when computing hashes in hash_getcode()
...
It turns out hash_findcase() has never worked properly because the correct bucket would never have been searched.
git-svn-id: https://svn.eduke32.com/eduke32@7364 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:21:13 +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
hendricks266
789d9bd8e6
Rename "textures" to "texturecache" and "textures.cache" to "texturecache.index"
...
This avoids conflicts with folders named "textures", such as in World Tour. Thanks to enderandrew for the observation.
git-svn-id: https://svn.eduke32.com/eduke32@7347 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-22 03:40:49 +00:00
terminx
e253f2e0a8
Fixes an issue with the automap
...
git-svn-id: https://svn.eduke32.com/eduke32@7346 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-21 19:36:47 +00:00
terminx
10757aa836
PI -> fPI
...
git-svn-id: https://svn.eduke32.com/eduke32@7343 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-20 21:33:04 +00:00
terminx
7b06ec9a6a
atan2 -> atan2f
...
git-svn-id: https://svn.eduke32.com/eduke32@7339 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-20 21:32:48 +00:00
terminx
a85b9e8259
Change scope of sdlayer lastSwapTime variable
...
git-svn-id: https://svn.eduke32.com/eduke32@7338 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-20 21:32:44 +00:00
terminx
22ec4599b0
Fix typo
...
git-svn-id: https://svn.eduke32.com/eduke32@7336 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-20 21:30:11 +00:00
terminx
360ee42e0e
Fix system memory check
...
git-svn-id: https://svn.eduke32.com/eduke32@7333 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-18 22:02:50 +00:00
terminx
180c73d8ca
Fix the automap glitch in the region around the full status bar in Polymost
...
git-svn-id: https://svn.eduke32.com/eduke32@7331 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-18 22:02:42 +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
4cf5a9c31a
Mapster32: fix use of uninitialized values
...
git-svn-id: https://svn.eduke32.com/eduke32@7326 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-02 23:24:36 +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
61c74f25aa
Work around weird issue with Bgetsysmemsize() that occurs on exactly one system we've tested
...
git-svn-id: https://svn.eduke32.com/eduke32@7319 1a8010ca-5511-0410-912e-c29ae57300e0
2019-01-30 00:13:00 +00:00
terminx
0a3b840d4e
Add error message for SDL_SetGammaRamp() failures in videoSetGamma()
...
git-svn-id: https://svn.eduke32.com/eduke32@7316 1a8010ca-5511-0410-912e-c29ae57300e0
2019-01-22 22:51:08 +00:00
hendricks266
450244e258
Fix missing/invalid palswaps and shades in automap with Polymost
...
Patch from Nuke.YKT.
git-svn-id: https://svn.eduke32.com/eduke32@7314 1a8010ca-5511-0410-912e-c29ae57300e0
2019-01-22 17:56:37 +00:00
terminx
f40dd37cca
Mapster32: add wall point delete hotkey. Press shift+delete or the d key in 2d mode to delete a wall point without dragging it.
...
git-svn-id: https://svn.eduke32.com/eduke32@7311 1a8010ca-5511-0410-912e-c29ae57300e0
2019-01-13 23:26:54 +00:00
terminx
1d74f4e944
Change the hotkeys for adjusting the camera horiz in Mapster32 3d mode from ctrl + a / z to alt + a / z to avoid conflicts with the undo hotkey
...
git-svn-id: https://svn.eduke32.com/eduke32@7303 1a8010ca-5511-0410-912e-c29ae57300e0
2019-01-12 00:21:48 +00:00
terminx
ed0c45018e
Re-add something I didn't intend to remove with r7297
...
git-svn-id: https://svn.eduke32.com/eduke32@7299 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-23 23:23:50 +00:00
terminx
caf2a8c9c9
Re-enable -fno-strict-aliasing because apparently many versions of GCC across many platforms are still producing warning spew without it
...
git-svn-id: https://svn.eduke32.com/eduke32@7297 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-21 01:12:53 +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
terminx
91096d2415
Hendricks and I discussed "auto *" and we've come to the conclusion that it's bad form, so this corrects that.
...
git-svn-id: https://svn.eduke32.com/eduke32@7283 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:39:51 +00:00
terminx
ae39954376
Initialize rottile values to -1 with a loop like this instead, because doing it the C++ way increases the binary size by like 120KB
...
git-svn-id: https://svn.eduke32.com/eduke32@7255 1a8010ca-5511-0410-912e-c29ae57300e0
2018-12-15 01:37:19 +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
c1caf149d7
Compile without -fno-strict-aliasing.
...
git-svn-id: https://svn.eduke32.com/eduke32@7224 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:13:33 +00:00
terminx
1cbdb901bd
This one is for Hendricks
...
git-svn-id: https://svn.eduke32.com/eduke32@7223 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:13:25 +00:00
terminx
21958bc110
Minor start window cleanup. This ended up touching a bunch of other files due to variable renaming, but there are zero functional changes to anything but the startup window in this commit.
...
git-svn-id: https://svn.eduke32.com/eduke32@7219 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:13:02 +00:00
terminx
022eb02c5e
Move hash_getcode() and inthash_getcode() to hash.h so they can be used in places other than hash.cpp
...
git-svn-id: https://svn.eduke32.com/eduke32@7213 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:12:28 +00:00
terminx
23308603c5
Prevent crash in the editor if newnumwalls and numwalls are both somehow -1
...
git-svn-id: https://svn.eduke32.com/eduke32@7207 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:11:56 +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
terminx
3b7f41e2bb
sdlayer: pass SDL_WINDOW_FULLSCREEN_DESKTOP to SDL_SetWindowFullscreen() when setting a windowed mode that matches the desktop resolution
...
git-svn-id: https://svn.eduke32.com/eduke32@7204 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:11:38 +00:00
terminx
e513e1ceae
Cleanup includes
...
git-svn-id: https://svn.eduke32.com/eduke32@7186 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:09:48 +00:00
terminx
5164ab4a25
More control/input cleanup
...
git-svn-id: https://svn.eduke32.com/eduke32@7181 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:08:53 +00:00
terminx
beafd13b1a
Derp
...
git-svn-id: https://svn.eduke32.com/eduke32@7170 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:07:44 +00:00
terminx
336a4650d5
This is supposed to fix some errors with HIGH_PRECISION_SPRITE reported by a static analyzer, wherein 32-bit values were shifted and truncated as 32-bit before being widened to a 64-bit type, which didn't seem like the intended behavior. This is the commit to look at if anything is suddenly fucked up in the classic software renderer.
...
git-svn-id: https://svn.eduke32.com/eduke32@7167 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:07:25 +00:00
terminx
0c74991a21
Fix a couple of issues that cropped up after some of the previous OSD refactoring commits
...
git-svn-id: https://svn.eduke32.com/eduke32@7166 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:07:20 +00:00
terminx
6d4b0f7731
The most minor of minor changes
...
git-svn-id: https://svn.eduke32.com/eduke32@7164 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:07:10 +00:00
terminx
4206cc1786
Use auto in ldist() and dist() because it looks nicer than vec3_t const *const
...
git-svn-id: https://svn.eduke32.com/eduke32@7160 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:06:48 +00:00
terminx
06f0e5e946
Move g_defaultVideoModes[] and g_keyAsciiTable[] from baselayer.cpp to baselayer.h and make them constexpr
...
git-svn-id: https://svn.eduke32.com/eduke32@7159 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:06:43 +00:00
terminx
1cae4ce7e3
Same shit, different diff
...
git-svn-id: https://svn.eduke32.com/eduke32@7156 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:06:27 +00:00
terminx
59fde95785
Another bunch of non-functional cleanup changes to the OSD
...
git-svn-id: https://svn.eduke32.com/eduke32@7155 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:06:21 +00:00
terminx
f7fac7d9e0
"using osdcmdptr_t = osdfuncparm_t const * const" because I'm tired of seeing it everywhere
...
git-svn-id: https://svn.eduke32.com/eduke32@7154 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:06:15 +00:00
terminx
ff410796a1
More incremental improvements to horrible decade-old OSD code
...
git-svn-id: https://svn.eduke32.com/eduke32@7153 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:06:07 +00:00
terminx
eb81507565
Fix up osdfunc_exec()
...
git-svn-id: https://svn.eduke32.com/eduke32@7152 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:06:01 +00:00
terminx
a35ffd976f
Rework osdfunc_fileinfo()
...
git-svn-id: https://svn.eduke32.com/eduke32@7150 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:05:51 +00:00
terminx
14f1ea1c05
Use "int" for OSD command return values and a few trivial globals. Our current usage of the return values would have even worked with bool, but we might want to add error conditions or something later.
...
git-svn-id: https://svn.eduke32.com/eduke32@7149 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:05:45 +00:00
terminx
b1b01c759e
Rename a couple of things in osd.cpp. There should be no change to functionality.
...
git-svn-id: https://svn.eduke32.com/eduke32@7148 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:05:37 +00:00
terminx
0ea33b1775
Small cleanups to OSD and game keybinding code before larger changes. Everything still works at this point.
...
git-svn-id: https://svn.eduke32.com/eduke32@7147 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:05:32 +00:00
terminx
a6e60e9723
Move pow2char and pow2long to build.h and make them constexpr
...
git-svn-id: https://svn.eduke32.com/eduke32@7146 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:05:26 +00:00
terminx
786a0cc6a3
Rename the implementation of _lrotl() found at the top of kplib.cpp to klrotl() and use it unconditionally on platforms other than Win32 (it's only used in .bmp rendering).
...
git-svn-id: https://svn.eduke32.com/eduke32@7145 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:05:20 +00:00
terminx
f60c353810
Improve OSD_Dispatch() a little
...
git-svn-id: https://svn.eduke32.com/eduke32@7143 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:05:10 +00:00
hendricks266
fd175086a3
Move the LZW compression functions out of cache1d.cpp into their own object, klzw.cpp.
...
This eliminates the hackiness of libcache1d.so (now libkzlw.so) and CACHE1D_COMPRESS_ONLY.
git-svn-id: https://svn.eduke32.com/eduke32@7140 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-05 07:28:07 +00:00
hendricks266
de5d358d32
Refresh BUILDLIC copyright headers
...
git-svn-id: https://svn.eduke32.com/eduke32@7139 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-05 07:28:01 +00:00
terminx
e7798d12dc
Additional const and constexpr usage in compat.h and pragmas
...
git-svn-id: https://svn.eduke32.com/eduke32@7132 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:33:52 +00:00
terminx
ad7d61baa1
Use range-based loops for simplicity
...
git-svn-id: https://svn.eduke32.com/eduke32@7130 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:33:40 +00:00
terminx
3b782aba60
Add CSTAT_SPRITE_ALIGNMENT_MASK. It's identical to CSTAT_SPRITE_ALIGNMENT_SLAB, but should be used in cases where you're checking either CSTAT_SPRITE_ALIGNMENT_WALL or CSTAT_SPRITE_ALIGNMENT_FLOOR rather than checking for a slab (voxel).
...
git-svn-id: https://svn.eduke32.com/eduke32@7129 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:33:32 +00:00
terminx
4059e1918e
Mark libdivide constructors explicit
...
git-svn-id: https://svn.eduke32.com/eduke32@7128 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:33:26 +00:00
terminx
5c1e350d79
sdlayer: don't add windowed modes that are larger than the monitor's actual resolution
...
git-svn-id: https://svn.eduke32.com/eduke32@7115 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:32:00 +00:00
terminx
9447d2c3ff
Fix issue with Bgetsysmemsize() on some platforms after the changeover to ::min and ::max.
...
git-svn-id: https://svn.eduke32.com/eduke32@7113 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:31:49 +00:00
terminx
a6e7f601d3
Fix HIGH_PRECISION_SPRITE, broken when switching to std::min and std::max.
...
git-svn-id: https://svn.eduke32.com/eduke32@7111 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:31:40 +00:00
terminx
59196c42ea
This commit is useless
...
git-svn-id: https://svn.eduke32.com/eduke32@7109 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:31:30 +00:00
terminx
a7746f9cd2
Make tabledivide64 actually return an int64_t...
...
git-svn-id: https://svn.eduke32.com/eduke32@7108 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:31:25 +00:00
terminx
8461fb0cb9
Use _strlwr and _strupr with MSVC
...
git-svn-id: https://svn.eduke32.com/eduke32@7105 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:31:10 +00:00
terminx
385562d143
Fix bounds checks occurring after array access in tessectrap() and polymost_precache() with very minor cleanup of surrounding lines.
...
git-svn-id: https://svn.eduke32.com/eduke32@7104 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:31:05 +00:00
terminx
ad8a65d154
Small cleanups to fogcalc() and fogcalc_old()
...
git-svn-id: https://svn.eduke32.com/eduke32@7103 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:31:01 +00:00
terminx
ffab1f7d71
Slightly simplify TrackedType operator stuff
...
git-svn-id: https://svn.eduke32.com/eduke32@7102 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:30:56 +00:00
terminx
3d7a827b3d
Update miniz to 3616bf804b1e7b9be5e2769b1e4a7d74d575b13c
...
git-svn-id: https://svn.eduke32.com/eduke32@7097 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:30:32 +00:00
terminx
175ac6dc6b
This looks dumb as fuck, but it tells static analysis tools that our memory allocation functions literally never return a null pointer
...
git-svn-id: https://svn.eduke32.com/eduke32@7095 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:30:22 +00:00
terminx
b65120200a
Clean up Bgethomedir() and a few of the other directory functions
...
git-svn-id: https://svn.eduke32.com/eduke32@7094 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:30:17 +00:00
terminx
7bd8c55e32
Useless warning silencing
...
git-svn-id: https://svn.eduke32.com/eduke32@7091 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:30:03 +00:00
terminx
4c57c4dd46
imo auto is cleaner here because the cast of the rvalue makes the resulting type explicitly clear
...
git-svn-id: https://svn.eduke32.com/eduke32@7089 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:29:54 +00:00
terminx
9079beadb4
Remove some dead statements, useless assigments, etc
...
git-svn-id: https://svn.eduke32.com/eduke32@7086 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:29:38 +00:00
terminx
1d71ea3fc0
polymost_setTexturePosSize() and polymost_setHalfTexelSize(): pass vec4f_t and vec2f_t by const reference instead of by value
...
git-svn-id: https://svn.eduke32.com/eduke32@7085 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:29:30 +00:00
terminx
4bb9a4b792
sscanf format parameter fixups
...
git-svn-id: https://svn.eduke32.com/eduke32@7083 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:29:20 +00:00
terminx
75e141ec81
Fix potential buffer overruns in sdlayer
...
git-svn-id: https://svn.eduke32.com/eduke32@7080 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:29:04 +00:00
terminx
1f8b23152e
Replace remaining instances of regular malloc/calloc/realloc/strdup with our memory error handler versions
...
git-svn-id: https://svn.eduke32.com/eduke32@7079 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:28:56 +00:00
terminx
9613bbac33
Use std::min and std::max instead of min and max macros.
...
git-svn-id: https://svn.eduke32.com/eduke32@7078 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-16 06:09:54 +00:00
terminx
ebcebbde5e
Update engine headers so that argument names in function declarations match the actual function definitions. This also removes const from function declarations in cases when it isn't meaningful.
...
git-svn-id: https://svn.eduke32.com/eduke32@7073 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-16 06:09:20 +00:00
terminx
2e2731c119
Same sort of thing as the previous commits, but for the engine. Forward declaration cleanup and constification.
...
git-svn-id: https://svn.eduke32.com/eduke32@7072 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-16 06:09:09 +00:00
pogokeen
4b89c095e2
engine.cpp: fix crash when calling setrendermode 3
where PolymostProcessVoxels would be called before Polymost is initialized.
...
PolymostProcessVoxels would call videoNextPage during processing which would attempt to render the OSD and lead to a segfault due to Polymost not being properly initialized.
git-svn-id: https://svn.eduke32.com/eduke32@7067 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-10 21:04:42 +00:00
terminx
3e380309ce
Replace error condition in rejectQueue_remove() with an assertion, because the NULL pointer it would return if something was fucked up would be unconditionally dereferenced in kdtree_add().
...
git-svn-id: https://svn.eduke32.com/eduke32@7058 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-10 19:14:56 +00:00
terminx
bcb1374391
Static analyzer says this condition is never true
...
git-svn-id: https://svn.eduke32.com/eduke32@7057 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-10 19:14:51 +00:00
terminx
15008d7aec
Revert r7017. I misread the code mismeasured the result.
...
git-svn-id: https://svn.eduke32.com/eduke32@7056 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-10 19:14:46 +00:00
terminx
7763a379ef
Revert part of r7031 and fix the issue a different way
...
git-svn-id: https://svn.eduke32.com/eduke32@7053 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-10 19:14:31 +00:00
pogokeen
f876e8ad0c
polymost.cpp: temporarily disable experimental r_enablepolymost2 cvar
...
git-svn-id: https://svn.eduke32.com/eduke32@7050 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-10 15:08:08 +00:00
pogokeen
0b41a17f6b
polymost.h: fix order of parameters to match polymost.cpp
...
git-svn-id: https://svn.eduke32.com/eduke32@7049 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-10 14:37:06 +00:00
pogokeen
d291a81ccd
polymost.cpp: fix lockup bug that would occur with polymost_waitForSubBuffer() when glClientWaitSync consistently returned GL_WAIT_FAILED on certain hardware/drivers.
...
Additionally, fix conditional check for r_persistentStreamBuffer requirements in polymost_glinit().
git-svn-id: https://svn.eduke32.com/eduke32@7048 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-10 14:37:03 +00:00
terminx
3689f9c70c
Useless yet innocuous sdlayer fixes
...
git-svn-id: https://svn.eduke32.com/eduke32@7045 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:23:44 +00:00
terminx
78a3797295
Use a local variable in SDL_GL_ATTRIBUTES macro instead of relying on it being declared in the function calling the macro
...
git-svn-id: https://svn.eduke32.com/eduke32@7044 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:23:39 +00:00
terminx
f5928ad5c7
Correct some fuckery in inflineintersect()
...
git-svn-id: https://svn.eduke32.com/eduke32@7042 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:23:29 +00:00
terminx
f7c8eab261
Further revise a couple of null pointer checks in Polymost
...
git-svn-id: https://svn.eduke32.com/eduke32@7041 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:23:25 +00:00
terminx
217849b2a3
OSD strtoken maintenance
...
git-svn-id: https://svn.eduke32.com/eduke32@7040 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:23:20 +00:00
terminx
e6039031fe
Variable scope reduction. This commit is boring as fuck.
...
git-svn-id: https://svn.eduke32.com/eduke32@7032 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:22:41 +00:00
terminx
3082d381b9
Fix more possible null pointer dereferences in mdsprite
...
git-svn-id: https://svn.eduke32.com/eduke32@7031 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:22:36 +00:00
terminx
a3bfaed262
Mostly useless const-ifying and minor variable scope reduction in cache1d
...
git-svn-id: https://svn.eduke32.com/eduke32@7030 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:22:32 +00:00
terminx
c2f26439d1
Fix filename string bounds check in kzipopen()
...
git-svn-id: https://svn.eduke32.com/eduke32@7029 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:22:27 +00:00
terminx
eb08f1443e
Pass vec2_ts to get_screen_coords() by reference instead of by value
...
git-svn-id: https://svn.eduke32.com/eduke32@7027 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:22:17 +00:00
terminx
eeba7847eb
Hoist strlen() outside loop in kzopen()
...
git-svn-id: https://svn.eduke32.com/eduke32@7025 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:22:08 +00:00
terminx
a677b18b2d
Hoist strlen() outside loop in osdfunc_listsymbols()
...
git-svn-id: https://svn.eduke32.com/eduke32@7024 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:22:03 +00:00
terminx
4f590f59c1
Fix potential OOB spriteext[] access when checking SPREXT_NOTMD to determine whether or not to render a sprite's model, if available
...
git-svn-id: https://svn.eduke32.com/eduke32@7023 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:21:58 +00:00
terminx
870f1c4dab
Oh look, the first 3 arguments passed to parascan() are completely useless
...
git-svn-id: https://svn.eduke32.com/eduke32@7022 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:21:53 +00:00
terminx
756369dc22
Silence warning about truncating the result of memcmp
...
git-svn-id: https://svn.eduke32.com/eduke32@7021 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:21:49 +00:00
terminx
f4227dcbc1
Tweak osdfunc_setrendermode() to report whether the classic renderer is the C or ASM version
...
git-svn-id: https://svn.eduke32.com/eduke32@7020 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:21:43 +00:00
terminx
0d843526f0
Fix null pointer deference when attempting to load a model with improper or missing skin definitions
...
git-svn-id: https://svn.eduke32.com/eduke32@7019 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:21:39 +00:00
terminx
cab65752b5
Untabify kplib.cpp
...
git-svn-id: https://svn.eduke32.com/eduke32@7018 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:21:34 +00:00
terminx
12a77176e8
Fix overcomputation in the classic renderer due to a bug caused by a previous optimization attempt
...
git-svn-id: https://svn.eduke32.com/eduke32@7017 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:21:29 +00:00
terminx
9ae3a3ecb8
Slightly reorganize Bdirent struct for efficiency. Despite being "Bdirent", this struct in no way matches the system provided dirent struct.
...
git-svn-id: https://svn.eduke32.com/eduke32@7016 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:21:24 +00:00
terminx
6d7e0518cf
Add debug_break() to the top of handle_memerr()
...
git-svn-id: https://svn.eduke32.com/eduke32@7015 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:21:20 +00:00
terminx
7f5f22e184
Fix issue in the C version of the classic renderer where someone had attempted to negate a bool
...
git-svn-id: https://svn.eduke32.com/eduke32@7012 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:21:06 +00:00
terminx
0a84e2caef
Untabify polymost.h
...
git-svn-id: https://svn.eduke32.com/eduke32@7009 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:20:52 +00:00
terminx
39c0c93615
Slightly increase efficiency of osd_findsymbol() (this is the slow one that has to handle partial matches)
...
git-svn-id: https://svn.eduke32.com/eduke32@7008 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:20:47 +00:00
terminx
b0e0cfa2c9
Comment out bad entry in SDL keycode translation table
...
git-svn-id: https://svn.eduke32.com/eduke32@7007 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:20:42 +00:00
terminx
9157ae2776
Fix potential texcache issue with HICTINT_IN_MEMORY and HICTINT_APPLYOVERALTPAL due to a mistake involving operator precedence
...
git-svn-id: https://svn.eduke32.com/eduke32@7002 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:20:19 +00:00
terminx
d7772a0100
Fix potential uninitialized use of highlightx/y/1/2 in the editor and convert them to vec2_t in the process
...
git-svn-id: https://svn.eduke32.com/eduke32@7001 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:20:14 +00:00
terminx
2f3e78a4b8
Fix potential dereference of null pointer when calling polymost_bindPth()
...
git-svn-id: https://svn.eduke32.com/eduke32@7000 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:20:09 +00:00
terminx
7eb3436bad
Fix potential null pointer dereferences when rendering a model with no animations (?)
...
git-svn-id: https://svn.eduke32.com/eduke32@6997 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:19:55 +00:00
terminx
ece6082d2b
Add debugbreak.h from https://github.com/scottt/debugbreak
...
git-svn-id: https://svn.eduke32.com/eduke32@6990 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-04 04:19:46 +00:00
terminx
d4c9cc28d5
Minor fixups needed to build as a native VS project
...
git-svn-id: https://svn.eduke32.com/eduke32@6982 1a8010ca-5511-0410-912e-c29ae57300e0
2018-09-28 04:27:42 +00:00
terminx
e6277dd8da
Replace a bunch of fall-through comments with our fallthrough__ macro.
...
git-svn-id: https://svn.eduke32.com/eduke32@6976 1a8010ca-5511-0410-912e-c29ae57300e0
2018-09-04 05:57:41 +00:00
terminx
e9961ec5a3
Silence stupid fucking warnings
...
git-svn-id: https://svn.eduke32.com/eduke32@6968 1a8010ca-5511-0410-912e-c29ae57300e0
2018-08-09 16:07:09 +00:00
terminx
f8fc87db78
Work around strange internal compiler error with gcc 8.2.0...
...
git-svn-id: https://svn.eduke32.com/eduke32@6965 1a8010ca-5511-0410-912e-c29ae57300e0
2018-08-09 16:06:55 +00:00
hendricks266
e38dc3f674
Remove redundant code from Polymost fog
...
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6961 1a8010ca-5511-0410-912e-c29ae57300e0
2018-08-02 01:21:16 +00:00
pogokeen
eb964f15d8
polymost.cpp/glsurface.cpp: Don't print shader compile status to the console on success.
...
git-svn-id: https://svn.eduke32.com/eduke32@6960 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-30 23:01:48 +00:00
terminx
e92e9d4f04
"Lomont then searched for a constant optimal even after one and two Newton iterations and found 0x5F375A86, which is more accurate than the original at every iteration stage."
...
git-svn-id: https://svn.eduke32.com/eduke32@6958 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-29 19:31:12 +00:00
hendricks266
104bdb131b
Fix warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
...
git-svn-id: https://svn.eduke32.com/eduke32@6949 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-23 02:55:53 +00:00
hendricks266
0116b51b2d
softsurface: Perform a "divisor known at compile time" optimization
...
git-svn-id: https://svn.eduke32.com/eduke32@6947 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-23 02:55:46 +00:00
hendricks266
142b97b9fb
Fix variable capitalization in Dependencies.mak files
...
git-svn-id: https://svn.eduke32.com/eduke32@6946 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-23 02:55:42 +00:00
terminx
f181db5776
MSVC build fix
...
git-svn-id: https://svn.eduke32.com/eduke32@6945 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-21 00:18:18 +00:00
pogokeen
1df7127609
Support software renderer upscaling engine-side in sdlayer and sdlayer12 with various scaling factors (beyond just pixel doubling).
...
When glsurface is available, use GL to upscale the render buffer.
Additionally, fix build issues with sdlayer12 introduced by GLAD changes (r6656).
git-svn-id: https://svn.eduke32.com/eduke32@6939 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-14 21:36:44 +00:00
pogokeen
1b932fddaf
sdlayer.cpp: Don't destroy window resouces if switching between software rendering on glsurface and Polymost/Polymer
...
git-svn-id: https://svn.eduke32.com/eduke32@6938 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-14 21:36:34 +00:00
pogokeen
a13a8bf579
polymost.cpp: make c_wrapThreshold consistent between POLYMOST1_BASIC_FRAGMENT_SHADER_CODE and POLYMOST1_EXTENDED_FRAGMENT_SHADER_CODE
...
git-svn-id: https://svn.eduke32.com/eduke32@6937 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-03 04:29:23 +00:00
pogokeen
facc69f142
polymost.cpp: fix rendering for indexed colour textures to match original behaviour when !r_usetileshades or globalflags & GLOBAL_NO_GL_TILESHADES
...
Additionally, fix issue in polymost_setShade() where shade calculation was happening after a check for whether or not the shade needed to be updated.
git-svn-id: https://svn.eduke32.com/eduke32@6936 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-03 04:29:19 +00:00
pogokeen
29c2863750
sdlayer.cpp: fix software renderer crash affecting Mapster32 due to improper handling of lockcount in videoBeginDrawing()/videoEndDrawing() when using glsurface
...
git-svn-id: https://svn.eduke32.com/eduke32@6933 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-28 02:00:42 +00:00
pogokeen
9e90b0633b
glsurface.h/.cpp: change how the palette is handled and fix tinting/fading
...
git-svn-id: https://svn.eduke32.com/eduke32@6932 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-25 14:53:46 +00:00
pogokeen
a0faeaf8f6
Revert a number of changes from r6929 and r6930 that are no longer necessary.
...
Fix root causes of issues causing crash and black screen in Mapster32 when switching back and forth between 3D & 2D modes
git-svn-id: https://svn.eduke32.com/eduke32@6931 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-25 14:53:42 +00:00
terminx
d0e73aa85e
Temporary workaround for palette or GL surface issue wherein launching Mapster32 into 2d mode produces a black screen until switching to 3d mode and back
...
git-svn-id: https://svn.eduke32.com/eduke32@6930 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-24 00:55:29 +00:00
terminx
bcb7815118
Fix crash in Mapster32 when switching from GL 3d mode to 2d mode.
...
git-svn-id: https://svn.eduke32.com/eduke32@6929 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-24 00:55:23 +00:00
terminx
cbf6dc3c42
Use aligned memory allocation for GL surface
...
git-svn-id: https://svn.eduke32.com/eduke32@6928 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-24 00:55:17 +00:00
pogokeen
ffee0f8ae9
Add glsurface.cpp/h and tilepacker.cpp/h to Visual Studio Project
...
git-svn-id: https://svn.eduke32.com/eduke32@6922 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-13 19:15:26 +00:00
pogokeen
d5b669ebe5
Don't allow GL modes if GL Major Version is less than 2.
...
Additionally, fix build issues for RENDERTYPE=WIN introduced in r6827.
git-svn-id: https://svn.eduke32.com/eduke32@6921 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-13 19:15:22 +00:00
pogokeen
7fd844a795
sdlayer.cpp: don't alter desktop composition using win_setvideomode() if we're creating an SDL window for rendering GL
...
git-svn-id: https://svn.eduke32.com/eduke32@6920 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-13 19:15:19 +00:00
pogokeen
9d243606d0
When OpenGL is available, prefer using the new glsurface to blit the classic renderer's 8-bit buffer to the screen.
...
git-svn-id: https://svn.eduke32.com/eduke32@6919 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-13 19:15:16 +00:00
pogokeen
38de24d7eb
tilepacker.cpp: instead of maintaining the heap on each insertion, maxheap_buildHeap() on tilepacker_pack()
...
git-svn-id: https://svn.eduke32.com/eduke32@6918 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-13 19:15:10 +00:00
pogokeen
054f25d7ef
palette.cpp: don't call uploadbasepalette() if USE_OPENGL is not defined
...
git-svn-id: https://svn.eduke32.com/eduke32@6915 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-12 02:13:32 +00:00
pogokeen
8bf9ad1c31
engine.cpp: fix issue introduced in r6905 where voxels with fractional scaling would not be handled correctly in Polymost
...
git-svn-id: https://svn.eduke32.com/eduke32@6907 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-30 12:01:42 +00:00
pogokeen
014cf67753
tiles.cpp: fix texcache.cpp:CLEAR_GL_ERRORS() hang on some drivers when trying to create GL textures for tiles when we have no GL context.
...
This could occur when returning to 2D mode from 3D mode in Mapster32 as videoSet2DMode() does not affect the result of videoGetRenderMode() despite destroying the GL context.
git-svn-id: https://svn.eduke32.com/eduke32@6906 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-26 22:11:25 +00:00
pogokeen
db1220cd11
engine.cpp: fix issue with voxmodel_t voxels not having their scale set properly due to defs being processed before PolymostProcessVoxels()
...
git-svn-id: https://svn.eduke32.com/eduke32@6905 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-23 15:04:56 +00:00
pogokeen
5ff4e22eb9
engine.cpp: fix classicDrawVoxel() positioning bugs by:
...
+avoid adding the pivot's z offset again after it was already added in classicDrawSprite()
+offset the voxel object by half of the voxel object's z size
git-svn-id: https://svn.eduke32.com/eduke32@6904 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-23 15:04:52 +00:00
hendricks266
9b495ea67f
Ensure that anywhere the def parser takes a tilenum or palnum accepts defined tokens in addition to integer literals, if it doesn't already.
...
Affects fogpal, nofloorpalrange, setuptilerange, dummytilerange, undefinetilerange, definemodelframe, definevoxeltiles, texhitscanrange, nofullbrightrange, and light.
git-svn-id: https://svn.eduke32.com/eduke32@6896 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-23 05:43:35 +00:00
hendricks266
6cb29c820c
sdlmusic: Slight cosmetic cleanup
...
git-svn-id: https://svn.eduke32.com/eduke32@6891 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-19 14:14:25 +00:00
pogokeen
5ee2bbc771
polymost_drawpoly(): fix issue where mirrors wouldn't update the depth buffer
...
git-svn-id: https://svn.eduke32.com/eduke32@6888 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-17 22:33:13 +00:00
pogokeen
d6d078114c
engine.cpp/.h: clean up & fix lintersect(). Additionally, add support for finding intersections of collinear line segments.
...
git-svn-id: https://svn.eduke32.com/eduke32@6886 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-15 16:45:34 +00:00
pogokeen
a4736f6bf7
polymost_bindPth(): Fix issue where non-indexed colour, non-hightile textures (including those with polytintflags HICTINT_USEONART or HICTINT_ALWAYSUSEART) would not render correctly while r_useindexedcolortextures is set.
...
git-svn-id: https://svn.eduke32.com/eduke32@6885 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-08 22:47:55 +00:00
pogokeen
dcdffb73d0
Dynamic tilepacking for indexed colour textures
...
git-svn-id: https://svn.eduke32.com/eduke32@6883 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-08 17:32:16 +00:00
pogokeen
fdaf5a8ac7
polymost_resetVertexPointers(): remove erroneous glBindBuffer call
...
git-svn-id: https://svn.eduke32.com/eduke32@6881 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-08 17:32:07 +00:00
hendricks266
58f5b34143
Fix some printf warnings.
...
git-svn-id: https://svn.eduke32.com/eduke32@6872 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-02 07:13:04 +00:00
terminx
64b37dc581
Direct cache1d error messages to log instead of stdout
...
git-svn-id: https://svn.eduke32.com/eduke32@6865 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-29 17:20:11 +00:00
terminx
07ec86c4af
Mapster32: second attempt at preventing extra wall points from being inserted on some walls with the batch point insert tool
...
git-svn-id: https://svn.eduke32.com/eduke32@6863 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-29 17:20:01 +00:00
terminx
a407661354
Mapster32: use sc_XXX defines from scancodes.h instead of unlabeled hex scancodes when checking keystatus[]
...
git-svn-id: https://svn.eduke32.com/eduke32@6860 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 10:15:27 +00:00
terminx
b1c44af6f8
Indentation
...
git-svn-id: https://svn.eduke32.com/eduke32@6858 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 10:15:17 +00:00
terminx
b4a8656910
Fix Mapster32 bug where sometimes you'd get two points instead of one when pressing enter to insert points where the lines intersect with the wall drawing tool
...
git-svn-id: https://svn.eduke32.com/eduke32@6857 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 10:15:12 +00:00
terminx
16696dbe0b
LZ4 warning silencing I accidentally left out of a previous commit
...
git-svn-id: https://svn.eduke32.com/eduke32@6856 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 10:15:03 +00:00
terminx
b932485a1d
macOS build fix
...
git-svn-id: https://svn.eduke32.com/eduke32@6855 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:36:14 +00:00
terminx
f903aac29f
Fix warning
...
git-svn-id: https://svn.eduke32.com/eduke32@6852 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:35:57 +00:00
terminx
df50dcd897
Change mouseGrabInput()'s parameter to a bool
...
git-svn-id: https://svn.eduke32.com/eduke32@6851 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:35:52 +00:00
terminx
ee4df7fde5
Fix a couple of warnings in the new versions of LZ4 and Miniz
...
git-svn-id: https://svn.eduke32.com/eduke32@6850 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:35:45 +00:00
terminx
4cd19d5435
Update Miniz
...
git-svn-id: https://svn.eduke32.com/eduke32@6849 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:35:34 +00:00
terminx
5522ac0f2d
Rename int64.h to fix16_int64.h
...
git-svn-id: https://svn.eduke32.com/eduke32@6848 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:35:25 +00:00
terminx
64b0755ec5
Update xxHash
...
git-svn-id: https://svn.eduke32.com/eduke32@6847 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:35:17 +00:00
terminx
b3aa64a026
Update lz4
...
git-svn-id: https://svn.eduke32.com/eduke32@6846 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:35:11 +00:00
terminx
ef9845a947
Merge our changes to libdivide back in
...
git-svn-id: https://svn.eduke32.com/eduke32@6845 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:35:06 +00:00
terminx
bd2019435a
Update libdivide.h to latest release
...
git-svn-id: https://svn.eduke32.com/eduke32@6844 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:35:00 +00:00
terminx
64c82e7b0d
Remove no longer used glext.h
...
git-svn-id: https://svn.eduke32.com/eduke32@6842 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:34:49 +00:00
terminx
4551b276a1
MSVC warning fix
...
git-svn-id: https://svn.eduke32.com/eduke32@6840 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:34:33 +00:00
terminx
1cb6ab9db1
Prevent divide by 0 when SDL_GetCurrentDisplayMode()/SDL_GetClosestDisplayMode() say the refresh rate is 0
...
git-svn-id: https://svn.eduke32.com/eduke32@6833 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:04:07 +00:00
terminx
87d19d5cde
More function name shit
...
git-svn-id: https://svn.eduke32.com/eduke32@6832 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:04:00 +00:00
terminx
19c43b84b3
Function names
...
git-svn-id: https://svn.eduke32.com/eduke32@6831 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:03:47 +00:00
terminx
e5bcc1cf81
More function name cleanup
...
git-svn-id: https://svn.eduke32.com/eduke32@6830 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:03:30 +00:00
terminx
1fd209444f
Continuing the quest for clearer function names
...
git-svn-id: https://svn.eduke32.com/eduke32@6829 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:03:12 +00:00
terminx
0340e3cc0f
Engine function name cleanup round 2
...
git-svn-id: https://svn.eduke32.com/eduke32@6828 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:02:51 +00:00
terminx
ee63d2c070
Beginnings of baselayer.cpp/.h refactor. This is 99.9% renames.
...
git-svn-id: https://svn.eduke32.com/eduke32@6827 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:02:31 +00:00
terminx
f41dc7b9c4
This is supposed to enable the discrete GPU on NVIDIA Optimus and AMD PowerXpress setups
...
git-svn-id: https://svn.eduke32.com/eduke32@6826 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:02:18 +00:00
hendricks266
84183c439b
SW: Fix NORM_(SPRITE|WALL|SECTOR) macros to use MAX$1 instead of ARRAY_SIZE, which would fail due to the structs not being statically allocated.
...
Patch prepared by Striker.
git-svn-id: https://svn.eduke32.com/eduke32@6825 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-11 03:34:03 +00:00
terminx
d20df1ec9a
Bump MAXSPRITESONSCREEN from 2048 to 2560
...
git-svn-id: https://svn.eduke32.com/eduke32@6820 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-06 01:43:22 +00:00
terminx
6cd5baf5c7
Replace a couple checks for qsetmode==200 with in3dmode(), because it's literally a macro that does that
...
git-svn-id: https://svn.eduke32.com/eduke32@6814 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-06 01:42:53 +00:00
terminx
4b5b6de13c
Remove useless switch/case setup in nextpage()
...
git-svn-id: https://svn.eduke32.com/eduke32@6813 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-06 01:42:47 +00:00
terminx
d2a3e2a70d
Revert a small change to cache1d and default lz4CompressionLevel to 5
...
git-svn-id: https://svn.eduke32.com/eduke32@6812 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-06 01:42:43 +00:00
terminx
851c7755c2
Use CSTAT_SPRITE_ALIGNMENT_* enums in a couple places
...
git-svn-id: https://svn.eduke32.com/eduke32@6811 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-06 01:42:38 +00:00
terminx
16a72c4530
Untabify engine_priv.h
...
git-svn-id: https://svn.eduke32.com/eduke32@6809 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-06 01:42:27 +00:00
terminx
86a4158b8a
Epic fuckup
...
git-svn-id: https://svn.eduke32.com/eduke32@6808 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-05 05:39:33 +00:00
terminx
1b2ab0edad
cache1d changes, also implements lz4compressionlevel cvar to control the speed vs side trade-off for savegame compression
...
git-svn-id: https://svn.eduke32.com/eduke32@6807 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-05 04:39:30 +00:00
terminx
3d0a4c37d4
Minor png writer fixups
...
git-svn-id: https://svn.eduke32.com/eduke32@6803 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-04 20:48:10 +00:00
terminx
7fc541f0d5
#if guard unncessary mouse position check with SDL2
...
git-svn-id: https://svn.eduke32.com/eduke32@6797 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-02 22:00:38 +00:00
terminx
f3843a9a3a
Branchless sectorofwall_internal()
...
git-svn-id: https://svn.eduke32.com/eduke32@6794 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-02 22:00:23 +00:00
pogokeen
136dd514e1
Switched Duke3D to use new LZ4 dfwrite()/kdfread() implementations to improve compression/decompression speed.
...
SV_MINOR_VER is incremented as using this alternate compression algorithm is not backwards compatible with older saves/demos.
git-svn-id: https://svn.eduke32.com/eduke32@6789 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-23 21:41:02 +00:00
pogokeen
b969687689
texcache.cpp: Override PTH_INDEXED and fall back to pre-processing tiles if high colour tint effects are being used on indexed colour art
...
git-svn-id: https://svn.eduke32.com/eduke32@6788 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-23 04:02:35 +00:00
pogokeen
c1d7d1bfe0
Fix console background disappearing intermittently
...
git-svn-id: https://svn.eduke32.com/eduke32@6785 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-22 07:13:30 +00:00
pogokeen
ab07afad76
polymost.cpp: fix shadeFactor not being set properly for non-indexed colour textures
...
git-svn-id: https://svn.eduke32.com/eduke32@6784 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-22 07:13:25 +00:00
pogokeen
7b2c468f04
Polymost: center texel fetches for palette lookups and add various optimizations related to indexed texture changes
...
git-svn-id: https://svn.eduke32.com/eduke32@6777 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-21 20:41:32 +00:00
pogokeen
a364b7bbfd
Polymost palette-indexed texture rendering
...
git-svn-id: https://svn.eduke32.com/eduke32@6776 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-21 20:41:26 +00:00
hendricks266
cab8c9aadf
Fix MSVC build
...
git-svn-id: https://svn.eduke32.com/eduke32@6770 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-17 03:26:05 +00:00
hendricks266
01606bb6fb
Instrument the code to build without the struct trackers and disable them when the build options eliminate all uses of them (currently USE_OPENGL=0).
...
git-svn-id: https://svn.eduke32.com/eduke32@6769 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-17 03:26:01 +00:00
hendricks266
9462ad4076
Minor cleanup regarding buildtypes.h
...
git-svn-id: https://svn.eduke32.com/eduke32@6768 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-17 03:25:57 +00:00
hendricks266
548d335316
Polymer: Fix smoothness of q16 mouse aiming
...
git-svn-id: https://svn.eduke32.com/eduke32@6765 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-13 23:29:42 +00:00
terminx
491783d81e
Fix Polymer issues introduced with change to Q16.16 view angles
...
git-svn-id: https://svn.eduke32.com/eduke32@6760 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-09 10:20:53 +00:00
terminx
ef853e8b92
Inline drawrooms() wrapper
...
git-svn-id: https://svn.eduke32.com/eduke32@6759 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-09 05:55:50 +00:00
hendricks266
bfc6b7589e
Improve file loading
...
git-svn-id: https://svn.eduke32.com/eduke32@6757 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-09 03:10:53 +00:00
hendricks266
fba53b144a
Accept "BUILDART" prepended to ART files
...
git-svn-id: https://svn.eduke32.com/eduke32@6755 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-09 02:51:24 +00:00
terminx
ee37c04623
Remove attempt at being compatible with the original ranges of ang and horiz values, and introduce a q16 version of drawrooms (and showroom)
...
git-svn-id: https://svn.eduke32.com/eduke32@6735 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 12:02:03 +00:00
terminx
5f13160dd6
Flesh out Fix16 with some operators we need to work with it from CON
...
git-svn-id: https://svn.eduke32.com/eduke32@6726 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 04:21:25 +00:00
terminx
a76750df55
Q16.16 for player angle, too
...
git-svn-id: https://svn.eduke32.com/eduke32@6725 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 04:21:18 +00:00
terminx
4d8bb170a3
Use Q16.16 fixed point for player horiz
...
git-svn-id: https://svn.eduke32.com/eduke32@6724 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 04:21:05 +00:00
hendricks266
322f1b46dd
Disable the switching of keyboard layout on window focus gain and loss.
...
git-svn-id: https://svn.eduke32.com/eduke32@6708 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-26 20:27:58 +00:00
hendricks266
e26760b6af
Use the user's desktop resolution, fullscreen, as the default, instead of 1024x768 windowed.
...
git-svn-id: https://svn.eduke32.com/eduke32@6704 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-26 14:46:52 +00:00
hendricks266
6f7313a46a
Fix whitespace issues
...
git-svn-id: https://svn.eduke32.com/eduke32@6700 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-26 14:46:36 +00:00
pogokeen
c0b0ed2240
polymost.cpp: fix polymost_dorotatesprite() issue where sprites could be rendered with fractional positions and sizes leading to GL filtering imperfections.
...
git-svn-id: https://svn.eduke32.com/eduke32@6698 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-26 11:26:40 +00:00
pogokeen
15b11232c3
sdlayer.h/winlayer.cpp: If a resolution is supported for fullscreen, also support the mode as a windowed resolution.
...
git-svn-id: https://svn.eduke32.com/eduke32@6696 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-26 02:48:06 +00:00
pogokeen
5370beb026
baselayer.cpp: add 1280x720 resolution to defaultres windowed resolutions
...
git-svn-id: https://svn.eduke32.com/eduke32@6695 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-26 02:48:03 +00:00
pogokeen
9f48927ea8
sdlayer.cpp: fix vsync heartbeat issue on some NVidia & Intel drivers
...
git-svn-id: https://svn.eduke32.com/eduke32@6689 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-22 23:25:56 +00:00
hendricks266
b2470aa677
Fix typo in collections.h. DONT_BUILD
...
git-svn-id: https://svn.eduke32.com/eduke32@6688 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-22 14:15:13 +00:00
pogokeen
e5c6cc2238
sdlayer.cpp: remove unnecessary call to SDL_WarpMouseInWindow() on SDL2 that was causing issues with mouse movement when vsync was enabled on some hardware
...
git-svn-id: https://svn.eduke32.com/eduke32@6683 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-22 03:38:54 +00:00
pogokeen
9001ec60a0
Polymost: workaround for texcache expecting all mipmap levels to be available
...
git-svn-id: https://svn.eduke32.com/eduke32@6675 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-19 06:11:44 +00:00
hendricks266
dc7e727f0c
Fix the definetint def token, broken in r6557.
...
git-svn-id: https://svn.eduke32.com/eduke32@6674 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-18 00:24:54 +00:00
hendricks266
3ae7cb1de5
Replace bespoke CON/def module and clipmap filename array reallocing with a new class, GrowArray.
...
git-svn-id: https://svn.eduke32.com/eduke32@6673 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-17 22:30:39 +00:00
pogokeen
d6926cb7d3
Fix building on Visual Studio after GLAD & Polymost changes
...
git-svn-id: https://svn.eduke32.com/eduke32@6671 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-17 06:38:15 +00:00
pogokeen
59b01d9d67
Polymost: fix typo causing bug where persistentStreamBuffer was being reset to the config value when it should be disabled
...
git-svn-id: https://svn.eduke32.com/eduke32@6669 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 08:35:45 +00:00
pogokeen
451bdb4601
Polymost: fix bug where polymost2_drawVBO() wouldn't reset the bound buffer state properly for polymost1
...
git-svn-id: https://svn.eduke32.com/eduke32@6664 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:54 +00:00
pogokeen
7b2ac67e9d
Polymost: adjust parenthesis to cease compiler warnings
...
git-svn-id: https://svn.eduke32.com/eduke32@6663 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:51 +00:00
pogokeen
1f133cd049
Polymost: streaming VBO optimizations for polymost_drawpoly()
...
git-svn-id: https://svn.eduke32.com/eduke32@6662 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:48 +00:00
pogokeen
8ebb8083a5
polymost_dorotatesprite(): fix for Polymer bug introduced by Polymost drawarrays optimization
...
git-svn-id: https://svn.eduke32.com/eduke32@6659 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:37 +00:00
pogokeen
ff1d948d44
In-progress POLYMOST2 work
...
git-svn-id: https://svn.eduke32.com/eduke32@6658 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:34 +00:00
pogokeen
a2cf961591
Moved BUILD engine defined CSTAT enums into the BUILD engine side of the code base.
...
git-svn-id: https://svn.eduke32.com/eduke32@6657 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:31 +00:00
pogokeen
3ca5f33c73
Moved to GLAD for dynamic GL/WGL and extension loading.
...
Refactored extension usage that became core in GL2, and adjusted some types for GL2 compatibility.
git-svn-id: https://svn.eduke32.com/eduke32@6656 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:21 +00:00
pogokeen
037289a812
polymost_drawpoly(): only change the blend mode if blending is enabled
...
git-svn-id: https://svn.eduke32.com/eduke32@6655 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:07 +00:00
pogokeen
28f9fcebb4
Polymost: Avoid generation of mipmaps if filter mode isn't set to use them
...
git-svn-id: https://svn.eduke32.com/eduke32@6654 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:05 +00:00
pogokeen
a1c88b740f
Polymost: texture format optimizations
...
git-svn-id: https://svn.eduke32.com/eduke32@6653 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:02 +00:00
pogokeen
464e65541c
polymost_drawpoly(): drawarrays optimization
...
git-svn-id: https://svn.eduke32.com/eduke32@6652 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:37:58 +00:00
hendricks266
ff0768eaa9
Fix build issues with ARM and USE_OPENGL=0. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@6651 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-15 03:49:23 +00:00
hendricks266
d68c9b45c6
Add "rtsname" token to grpinfo grammar.
...
git-svn-id: https://svn.eduke32.com/eduke32@6645 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-11 05:03:55 +00:00
hendricks266
65b3bccf06
Add support for MapArt from within zip files.
...
git-svn-id: https://svn.eduke32.com/eduke32@6643 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-11 05:03:46 +00:00
terminx
9c408fc26c
Useless assertion that only fires in alternate universes
...
git-svn-id: https://svn.eduke32.com/eduke32@6634 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-31 04:13:25 +00:00
hendricks266
27d93ac698
Satisfy -Wmaybe-uninitialized warnings exposed by -Og.
...
git-svn-id: https://svn.eduke32.com/eduke32@6632 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-30 16:02:29 +00:00
hendricks266
4978a8f167
Fix some preprocessor logic errors regrading GL ES on ARM devices with desktop operating systems.
...
git-svn-id: https://svn.eduke32.com/eduke32@6603 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-28 04:30:46 +00:00
hendricks266
b3fd642bf4
Replace "INT16_32768" macro with unsigned literal "32768u".
...
git-svn-id: https://svn.eduke32.com/eduke32@6600 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-28 04:30:34 +00:00
hendricks266
6a77175ac5
New def token "shadefactor"
...
shadefactor <value>
Controls the level of shading in GL modes. Normally it is set to the shade at which all colors are pitch black.
The default value calculated from Duke 3D's palette is 30, but most other Build games with a different palette are calculate to 31.
This token is for GL mods without a palette.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6592 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-26 04:35:15 +00:00
hendricks266
67438d0cd2
New userdef structure: "global_r", "global_g", "global_b"
...
Set the tinting RGB values of textures being rendered. Can be used in DISPLAYROOMS or before rotatesprite (similar to setaspect). Remember to reset the values afterwards.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6591 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-26 04:35:11 +00:00
hendricks266
392d5fc942
Fix visibility in Polymer with r_usenewshading 4 and palette emulation off.
...
Move some visibility-related constants from Polymer "core" code elsewhere.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6590 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-26 04:35:06 +00:00
hendricks266
214109b506
Revert the parts of r3159 corresponding to redefining lotag and hitag as unsigned, so that they are once again signed.
...
Any issues in Duke's code relating to misunderstanding these types are now restricted to Duke itself rather than changing the engine and potentially introducing new issues in all Build games.
git-svn-id: https://svn.eduke32.com/eduke32@6581 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-15 23:13:50 +00:00
hendricks266
ee298f18b8
Add is_(un)signed to compat.h, with specializations for the Tracker classes.
...
DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6577 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-13 22:15:07 +00:00
terminx
09c03151db
Uncomment extra check in COMBINE_STRIPS
...
git-svn-id: https://svn.eduke32.com/eduke32@6573 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-20 08:35:49 +00:00
pogokeen
9c695d6bc4
Fix line spacing tab issue in rev 6570.
...
git-svn-id: https://svn.eduke32.com/eduke32@6571 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-19 00:03:12 +00:00
pogokeen
741305e976
Fix a number of cases where files opened with cache1d.cpp's kopen_internal() could be leaked.
...
git-svn-id: https://svn.eduke32.com/eduke32@6570 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-18 23:36:05 +00:00
terminx
ca308d5879
Happened to be reading a SDL doc and noticed we were creating our surface with the wrong flags
...
git-svn-id: https://svn.eduke32.com/eduke32@6567 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-17 09:27:32 +00:00
terminx
c728176352
Revert a tweak made for HTTKC
...
git-svn-id: https://svn.eduke32.com/eduke32@6566 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-17 09:27:27 +00:00
hendricks266
4c095c954d
Fix tints with negative shades in r_usenewshading 4.
...
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6561 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-12 05:14:12 +00:00
hendricks266
583dc0f47a
Polymost: Account for yscale when deciding if the sky is tall enough to repeat or not. Comment out code that is not working as expected.
...
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6560 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-12 05:14:09 +00:00
hendricks266
b6d7de7d27
Add def "globalflags" bit 4, and for individual palettes the "tint" flag bit 512. This makes fog the same for all shades. Make fog behave normally with sector structure .fogpal.
...
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6559 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-12 05:14:06 +00:00
hendricks266
2f98d759f6
Fix visibility in Polymer with r_usenewshading 4.
...
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6558 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-12 05:14:02 +00:00
hendricks266
ae47d2f11d
New def tokens for "tint": "shadered" or "sr", "shadeblue" or "sb", "shadegreen" or "sg"
...
tint { pal <pal> shadered <0-255> shadegreen <0-255> shadeblue <0-255> }
Make shade apply a tint based on the RGB.
Default values for shade are zero (black).
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6557 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-12 05:13:58 +00:00
hendricks266
084c661fa0
New def tokens for "cutscene": "texturefilter", "forcefilter", "forcenofilter"
...
Changes the filtering for cutscenes. By default, ANMs are unfiltered and IVFs filtered regardless of the filtering option in the menu. Use “texturefilter” to use the same filtering as textures, “forcenofilter” to never use filtering and “forcefilter” to always use filtering.
cutscene <path> { texturefilter }
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6552 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-12 05:13:38 +00:00
hendricks266
45a8742e42
New def token for "cutscene": "aspect"
...
Overrides the aspect ratio for IVF files.
cutscene <path> { aspect <numerator> <denominator> }
Note: For ANMs, you can use rotatesprite and setaspect to draw TILE_ANIM (currently defined as 30716) in EVENT_CUTSCENE with a custom aspect.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6551 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-12 05:13:32 +00:00
terminx
d3417b763a
Untabify engine.cpp
...
git-svn-id: https://svn.eduke32.com/eduke32@6547 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-09 02:56:31 +00:00
terminx
3ab1c2c722
Fix problem where sometimes fullscreen GL modes display incorrectly. I'm not sure why this fixes it and I believe it to be a SDL bug.
...
git-svn-id: https://svn.eduke32.com/eduke32@6544 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-09 02:56:17 +00:00
terminx
f97aee59c8
Address issue where timers will no longer update after several hours of runtime
...
git-svn-id: https://svn.eduke32.com/eduke32@6543 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-09 02:56:12 +00:00
terminx
3c8f050565
Fix memory leak with .ANM playback in Polymost
...
git-svn-id: https://svn.eduke32.com/eduke32@6541 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-02 12:42:40 +00:00
terminx
bb836cfc0b
Fix small memory leak in OSD
...
git-svn-id: https://svn.eduke32.com/eduke32@6540 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-02 12:42:36 +00:00
terminx
6231c0bdf5
Change ARRAY_SSIZE macro to return type native_t
...
git-svn-id: https://svn.eduke32.com/eduke32@6535 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-02 08:45:04 +00:00
terminx
a18d03635c
Fix crash issue with nested console script execution
...
git-svn-id: https://svn.eduke32.com/eduke32@6534 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-02 08:44:59 +00:00
hendricks266
c5ebf96217
Remix screencapture_begin into OutputFileCounter.
...
git-svn-id: https://svn.eduke32.com/eduke32@6532 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-01 06:19:19 +00:00
terminx
7acf811eae
Re-comment out part of COMBINE_STRIPS in polymost.cpp
...
git-svn-id: https://svn.eduke32.com/eduke32@6525 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-30 23:54:23 +00:00
terminx
845abb435a
Drop VSPMAX back to 2048 from 4096
...
git-svn-id: https://svn.eduke32.com/eduke32@6524 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-30 23:54:18 +00:00
hendricks266
90045e4ce3
Revert r6496
...
git-svn-id: https://svn.eduke32.com/eduke32@6523 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-30 02:57:23 +00:00
hendricks266
12c4d033f1
Polymost: Set r_parallaxskypanning to 1 by default.
...
This enables sky panning, which allows the effect of CLOUDYSKIES to work properly.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6521 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:54 +00:00
hendricks266
ad83ca0188
Polymost: Display paper-skies correctly when looking up or down.
...
Show a solid color for skies taller than 256 px, otherwise repeat.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6520 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:51 +00:00
hendricks266
5fbe1b89be
New def token for "multipsky": "yscale".
...
multipsky <tile> { yscale <yscale> }
Default value is 65536.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6519 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:48 +00:00
hendricks266
66162032a0
Add r_usenewshading 4.
...
Uses a constant determined from the shade tables.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6515 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:33 +00:00
hendricks266
5adb8364b6
Calculate the perceptual (i.e. "real") max shade in the given tables.
...
git-svn-id: https://svn.eduke32.com/eduke32@6514 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:30 +00:00
hendricks266
23b1b650bb
Clean up E_PostLoadPalette.
...
git-svn-id: https://svn.eduke32.com/eduke32@6513 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:27 +00:00
hendricks266
9d0e76b2e3
Fox's projection patch 2.0
...
git-svn-id: https://svn.eduke32.com/eduke32@6496 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-06 05:56:48 +00:00
hendricks266
7033d83d26
Fox's maskwall fix 2.0
...
git-svn-id: https://svn.eduke32.com/eduke32@6495 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-02 04:25:59 +00:00
terminx
7fd86d09ad
If Fox's patch to fix flickering masked walls is correct, this change should improve FPS in some areas.
...
git-svn-id: https://svn.eduke32.com/eduke32@6494 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-31 02:09:44 +00:00
hendricks266
366d823894
Revert r6490.
...
git-svn-id: https://svn.eduke32.com/eduke32@6491 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-31 00:35:23 +00:00
hendricks266
e12b63c3bd
A potential fix for the disappearing maskwall problem.
...
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6490 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-30 03:48:31 +00:00
hendricks266
e979aa1ff4
Eliminate the need for cache1d to calculate and remember the CRC32 of every GRP loaded.
...
git-svn-id: https://svn.eduke32.com/eduke32@6489 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-30 03:48:28 +00:00
terminx
d33107808e
Fix crash with "setrendermode 4" in builds with Polymer disabled
...
git-svn-id: https://svn.eduke32.com/eduke32@6488 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-16 21:17:53 +00:00
hendricks266
c746b486b7
Polymost: New projection hack algorithm: Keep zoom equivalent to Classic when looking straight ahead.
...
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6486 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-16 03:32:37 +00:00
hendricks266
2c7840d928
Fix infinite loop in OSD_StripColors() when trying to display a quote containing '^' not followed by a number.
...
This fixes Mission 2 of Platoon Leader, as reported by RunningDuke.
git-svn-id: https://svn.eduke32.com/eduke32@6478 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-15 23:10:09 +00:00
hendricks266
dfb98028f1
compat.h: Use C++17, C++11, or C11 static_assert if available.
...
git-svn-id: https://svn.eduke32.com/eduke32@6472 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-09 07:37:14 +00:00
hendricks266
4966b0922d
compat.h: Only use C++ attribute versions of fallthrough if C++11 or greater.
...
git-svn-id: https://svn.eduke32.com/eduke32@6471 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-09 07:37:11 +00:00
hendricks266
3ac0a936c8
build.h: Error out if Visual Studio is older than 2013.
...
We keep getting support requests about this. See previous commit.
git-svn-id: https://svn.eduke32.com/eduke32@6470 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-09 07:37:08 +00:00
hendricks266
8ff6d59688
compat.h: Add EDUKE32_MSVC_CXX_PREREQ().
...
It is necessary for testing C++11 functionality because Visual Studio never defines __cplusplus to be 201112L.
git-svn-id: https://svn.eduke32.com/eduke32@6469 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-09 07:37:05 +00:00
hendricks266
7c2f233450
compat.h: Add detection of C++17.
...
git-svn-id: https://svn.eduke32.com/eduke32@6468 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-09 07:37:01 +00:00
terminx
ff8d608caf
Fix in-game 2d map view line colors when using palettes that differ completely from Duke3D's palette
...
git-svn-id: https://svn.eduke32.com/eduke32@6461 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-08 22:15:51 +00:00
hendricks266
5f79c71aa0
Address a typo in r6435 affecting SDL 1.2 builds.
...
git-svn-id: https://svn.eduke32.com/eduke32@6449 1a8010ca-5511-0410-912e-c29ae57300e0
2017-09-23 03:17:35 +00:00
hendricks266
c07e705c48
Update fallthrough__ definitions.
...
git-svn-id: https://svn.eduke32.com/eduke32@6447 1a8010ca-5511-0410-912e-c29ae57300e0
2017-09-23 03:17:29 +00:00
terminx
f203ca78a2
Amend r6439
...
git-svn-id: https://svn.eduke32.com/eduke32@6444 1a8010ca-5511-0410-912e-c29ae57300e0
2017-09-21 04:32:14 +00:00
terminx
60d06d8757
useless change
...
git-svn-id: https://svn.eduke32.com/eduke32@6440 1a8010ca-5511-0410-912e-c29ae57300e0
2017-09-19 19:10:33 +00:00
terminx
ac3faa5fd4
Force enabling NVIDIA threaded optimizations. Probably only works on Linux, but the extra putenv() call doesn't hurt anyone anywhere else.
...
git-svn-id: https://svn.eduke32.com/eduke32@6439 1a8010ca-5511-0410-912e-c29ae57300e0
2017-09-19 19:10:27 +00:00
terminx
29fc836bb1
Switch palookup memory allocation to Xalligned_alloc and fix what looks like a botched preprocessor condition
...
git-svn-id: https://svn.eduke32.com/eduke32@6438 1a8010ca-5511-0410-912e-c29ae57300e0
2017-09-19 19:10:19 +00:00
terminx
c7d2f0b869
Add a few 2560 x XXXX modes to the default video modes added to the various lists
...
git-svn-id: https://svn.eduke32.com/eduke32@6437 1a8010ca-5511-0410-912e-c29ae57300e0
2017-08-27 10:20:53 +00:00
terminx
0958b57047
Refer to video modes as "software" and "OpenGL" in the startup window instead of simply by how many bpp they are. End users are likely to understand this distinction more.
...
git-svn-id: https://svn.eduke32.com/eduke32@6436 1a8010ca-5511-0410-912e-c29ae57300e0
2017-08-27 10:20:48 +00:00
terminx
5cde84e58a
Ignore video modes with resolutions less than 640x480 or with aspect ratios taller than around 4:3 when populating the mode lists used in the startup window and menus. Sorry to the two guys still using nasty 5:4 1280x1024 monitors in 2017; you'll have to set your resolution using the console now.
...
git-svn-id: https://svn.eduke32.com/eduke32@6435 1a8010ca-5511-0410-912e-c29ae57300e0
2017-08-27 10:20:41 +00:00
terminx
6889b64da8
Tweak Polymost z-fighting avoidance code
...
git-svn-id: https://svn.eduke32.com/eduke32@6434 1a8010ca-5511-0410-912e-c29ae57300e0
2017-08-27 10:20:35 +00:00
hendricks266
534747be90
Disable compiling some functions in miniz that we don't use, and that cause portability issues.
...
git-svn-id: https://svn.eduke32.com/eduke32@6421 1a8010ca-5511-0410-912e-c29ae57300e0
2017-08-06 13:44:47 +00:00
hendricks266
8f0848d901
Makefile: Mess with Wii stuff to fix a majority of its make invocation circumstances.
...
git-svn-id: https://svn.eduke32.com/eduke32@6420 1a8010ca-5511-0410-912e-c29ae57300e0
2017-08-06 13:44:44 +00:00
hendricks266
fe10e46778
Fix a fallthrough annotation. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@6407 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-30 05:42:01 +00:00
hendricks266
88d5da2859
Menus: Clean up MenuRanges.
...
git-svn-id: https://svn.eduke32.com/eduke32@6402 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-29 20:39:53 +00:00
hendricks266
33c138fdf9
Tweak UNREFERENCED_CONST_PARAMETER
...
git-svn-id: https://svn.eduke32.com/eduke32@6401 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-29 20:39:50 +00:00
hendricks266
0f54975751
Yet another round of trailing whitespace.
...
git-svn-id: https://svn.eduke32.com/eduke32@6400 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-29 20:39:46 +00:00
terminx
d89909997c
Fix issue with screenshots
...
git-svn-id: https://svn.eduke32.com/eduke32@6399 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-29 09:48:43 +00:00
hendricks266
e2c1e6b12c
In md3postload_polymer, always clear the triangle buffer (tribuf) to zero, not just when its allocation size is enlarged.
...
Fixes strange issues with lighting on models.
git-svn-id: https://svn.eduke32.com/eduke32@6396 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-28 11:29:16 +00:00
hendricks266
d1de78d8bc
Don't drink and copypaste, kids.
...
Unfucks r6379.
git-svn-id: https://svn.eduke32.com/eduke32@6395 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-28 11:29:12 +00:00
terminx
d9c43bb560
Fix issue with r6374
...
git-svn-id: https://svn.eduke32.com/eduke32@6384 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-27 09:13:32 +00:00
terminx
fa02c6433b
Switch allocation of sprite/wall/sector to individual aligned allocations instead of the weird thing I was doing with multiple pointers to different parts of a single large block
...
git-svn-id: https://svn.eduke32.com/eduke32@6381 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-27 09:13:15 +00:00
hendricks266
e229fc607c
mdsprite: Augment or revert portions of r4639.
...
Substantial work done in md3postload_common, md3postload_polymer_check, and md3postload_polymer.
git-svn-id: https://svn.eduke32.com/eduke32@6379 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-22 04:00:33 +00:00
hendricks266
a782247eac
inthi_rintf
...
git-svn-id: https://svn.eduke32.com/eduke32@6378 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-22 04:00:30 +00:00
hendricks266
5c77a6a13c
compat.h: Update ssize_t under MSVC.
...
git-svn-id: https://svn.eduke32.com/eduke32@6375 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-22 04:00:20 +00:00
hendricks266
d5f8c7a028
compat.h: Update u/native_t by introducing reg_t from LZ4.
...
git-svn-id: https://svn.eduke32.com/eduke32@6374 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-22 04:00:18 +00:00
hendricks266
366ccd7900
Add a fallthrough__ entry for VS.
...
git-svn-id: https://svn.eduke32.com/eduke32@6373 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-22 04:00:13 +00:00
terminx
dad337add8
Fix gcc 7.1.0 warnings
...
git-svn-id: https://svn.eduke32.com/eduke32@6370 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-18 20:53:41 +00:00
terminx
484f640f71
Maybe, possibly, unfuck gamearrays.
...
git-svn-id: https://svn.eduke32.com/eduke32@6368 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-18 20:53:22 +00:00
terminx
fd19569099
Drop libpng and zlib in favor of a custom < 100 line .png writer and a drop-in zlib replacement called miniz.
...
git-svn-id: https://svn.eduke32.com/eduke32@6365 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-18 20:53:00 +00:00
hendricks266
494c778feb
Fix some int/int32_t mismatches. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@6362 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-15 21:56:21 +00:00
hendricks266
f01c9205e9
Fix USE_OPENGL=0 build.
...
git-svn-id: https://svn.eduke32.com/eduke32@6361 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-15 21:56:17 +00:00
hendricks266
1c4c1e9b55
Polymer: Address an oversight in r4600.
...
git-svn-id: https://svn.eduke32.com/eduke32@6355 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-10 13:44:10 +00:00
hendricks266
37b2a751b9
compat.h: Add preliminary FALLTHROUGH macro to support
...
git-svn-id: https://svn.eduke32.com/eduke32@6353 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-10 13:44:04 +00:00
hendricks266
4252a60af9
Add an error directive to C++ standards versions < 2011.
...
git-svn-id: https://svn.eduke32.com/eduke32@6352 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-10 13:44:01 +00:00
terminx
3706ac1b43
Allow scripts to change MAXSPRITESONSCREEN before calls to drawrooms() and friends
...
git-svn-id: https://svn.eduke32.com/eduke32@6347 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-08 19:42:11 +00:00
terminx
8d7f23a842
Reduce MAXSPRITESONSCREEN from 4096 to 2048. Email me if you have a map so poorly designed that this actually breaks something!
...
git-svn-id: https://svn.eduke32.com/eduke32@6344 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-08 19:41:49 +00:00
terminx
1e647ca499
Change wordy error message I didn't like
...
git-svn-id: https://svn.eduke32.com/eduke32@6341 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-08 19:41:29 +00:00
terminx
8d2fe8ec1d
Fix old Build engine bug: setgotpic() not called from parascan()
...
git-svn-id: https://svn.eduke32.com/eduke32@6340 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-08 19:41:21 +00:00
terminx
b3b40c9581
Allow writing to 8 and 16-bit CON arrays
...
git-svn-id: https://svn.eduke32.com/eduke32@6338 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-08 05:18:43 +00:00
terminx
cabb918c64
Fix out of bounds write caused by memset call missed when tilesiz was changed from vec2_t to vec2s_t
...
git-svn-id: https://svn.eduke32.com/eduke32@6337 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-08 01:48:01 +00:00
hendricks266
96c30ffade
Turn DWM composition toggling (Windows Vista and 7 only) off by default.
...
We should only turn this on in specific cases, and turning it off by default will allow us to add these special cases as we get reports.
git-svn-id: https://svn.eduke32.com/eduke32@6331 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-06 14:43:14 +00:00
terminx
5ce9e2b208
Combine CONTROL_KeyBinds and CONTROL_MouseBinds
...
git-svn-id: https://svn.eduke32.com/eduke32@6328 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-05 05:42:54 +00:00
terminx
a9e513ecaf
Add OSD_PROTECTED flag, set when gamefunc_Show_Console has been undefined from CON. Currently just requires you hold down shift when pressing the console key to open the console.
...
git-svn-id: https://svn.eduke32.com/eduke32@6325 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-05 05:42:37 +00:00
hendricks266
9fdfd10723
Double the default pointhighlightdist from 128 to 256, a compromise between reverting r5721 and resetting it to 512.
...
git-svn-id: https://svn.eduke32.com/eduke32@6318 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-05 05:37:55 +00:00
hendricks266
5cdc130692
Remove register keyword from LZ4 and libxmp-lite.
...
git-svn-id: https://svn.eduke32.com/eduke32@6312 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-05 05:37:35 +00:00
hendricks266
01b6047377
Trailing whitespace.
...
git-svn-id: https://svn.eduke32.com/eduke32@6303 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-27 11:01:22 +00:00
hendricks266
bf76269906
What the last commit said.
...
git-svn-id: https://svn.eduke32.com/eduke32@6302 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-27 11:01:12 +00:00
terminx
bb75d0fbde
Texcache cleanups. No longer allocates a 256 byte buffer for every cache entry's name.
...
git-svn-id: https://svn.eduke32.com/eduke32@6300 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-27 02:24:34 +00:00
terminx
ee367baaea
scriptfile.[cpp|h] cleanups
...
git-svn-id: https://svn.eduke32.com/eduke32@6299 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-27 02:24:28 +00:00
terminx
c25aa4a790
OSD (console) cleanup
...
git-svn-id: https://svn.eduke32.com/eduke32@6297 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-27 02:24:14 +00:00
terminx
2dfc3acb38
Templatize the clamp functions
...
git-svn-id: https://svn.eduke32.com/eduke32@6293 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-27 02:23:46 +00:00
terminx
8932251ad2
Reduce MAXVOXELS to 1024.
...
git-svn-id: https://svn.eduke32.com/eduke32@6292 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-27 02:23:40 +00:00
hendricks266
cb12f25cda
Add a wallext structure for non-Lunatic builds so they can have a blend member too.
...
git-svn-id: https://svn.eduke32.com/eduke32@6276 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-25 11:23:53 +00:00
hendricks266
610d2e3b46
Connect wall.blend to Polymost in Lunatic builds with it enabled.
...
git-svn-id: https://svn.eduke32.com/eduke32@6275 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-25 11:23:47 +00:00
terminx
07419b18ab
Workaround for MSVC bug
...
git-svn-id: https://svn.eduke32.com/eduke32@6272 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 21:18:12 +00:00
terminx
854b303d18
Fix command line help window in builds with the startup window disabled
...
git-svn-id: https://svn.eduke32.com/eduke32@6270 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 21:17:59 +00:00
hendricks266
5ef942f4ec
Shrink the tilesiz vector to use int16_t members as the original arrays were.
...
git-svn-id: https://svn.eduke32.com/eduke32@6263 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 09:21:13 +00:00
hendricks266
4dbeb30907
Add internal drawlinergb function.
...
git-svn-id: https://svn.eduke32.com/eduke32@6260 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 09:20:58 +00:00
hendricks266
0d6842800b
Replace specialized swap C functions with a templatized version.
...
git-svn-id: https://svn.eduke32.com/eduke32@6257 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 09:20:46 +00:00
terminx
bf944cf27a
Potential CON performance improvements
...
git-svn-id: https://svn.eduke32.com/eduke32@6250 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 06:31:21 +00:00
hendricks266
ccb6d27349
Polymost: Fix yoffset bouncing of face sprites with cstat 128.
...
git-svn-id: https://svn.eduke32.com/eduke32@6248 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 09:17:12 +00:00
terminx
dac7679633
Replace 2 memcpys with assignments
...
git-svn-id: https://svn.eduke32.com/eduke32@6231 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 03:58:48 +00:00
terminx
4ae5f2e298
Remove "BUILD_NOP6", old cruft for running on ancient x86 processors without MMX.
...
git-svn-id: https://svn.eduke32.com/eduke32@6229 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 03:58:36 +00:00
terminx
d1c0366916
Minor classic mode optimization
...
git-svn-id: https://svn.eduke32.com/eduke32@6228 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 03:58:31 +00:00
terminx
e3f3a8ce33
Move Mapster32 autoexec to before the map specified on the command line is loaded, to allow EVENT_PRELOADMAP and EVENT_LOADMAP to work when loading a map from the command line. This makes the console output of autoexec a little worse but the OSD will be fixed at a later time.
...
git-svn-id: https://svn.eduke32.com/eduke32@6223 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 03:58:01 +00:00
hendricks266
262e863b33
Polymodes: Only try texcache_fetchmulti on detail texture slots.
...
git-svn-id: https://svn.eduke32.com/eduke32@6221 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-22 01:32:10 +00:00
hendricks266
b25ec936b3
Polymodes: Check that texture entries have a non-skybox filename before using it in texcache_fetchmulti.
...
Fixes crash reported by Sgt Jack V.
git-svn-id: https://svn.eduke32.com/eduke32@6220 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-22 01:32:05 +00:00
hendricks266
f03d704ddb
Polymost: Don't cut off a row and/or column of texels when drawing floor-aligned sprites with odd dimensions.
...
git-svn-id: https://svn.eduke32.com/eduke32@6219 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-21 13:47:04 +00:00
hendricks266
ad46ac785f
Add new tint flag 256, which always skips hightile when picking an image source.
...
git-svn-id: https://svn.eduke32.com/eduke32@6218 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-21 13:46:59 +00:00
hendricks266
986a545ff5
Polymodes: Explicitly opt out of hicfindsubst falling back to pal 0 instead of checking against the reserved palnum range.
...
git-svn-id: https://svn.eduke32.com/eduke32@6217 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-21 13:46:54 +00:00
hendricks266
a032b829bf
Factor out hictinting array accesses.
...
git-svn-id: https://svn.eduke32.com/eduke32@6216 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-21 13:46:50 +00:00
hendricks266
70245fc4f1
Create a new struct for hictinting that uses a uint16_t for flags.r
...
git-svn-id: https://svn.eduke32.com/eduke32@6215 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-21 13:46:44 +00:00
hendricks266
84c913d04c
Only allocate space for tint flags combinations that require a pre-computed texture to be stored in memory, instead of space for every combination.
...
git-svn-id: https://svn.eduke32.com/eduke32@6214 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-21 13:46:36 +00:00
hendricks266
66c85ec71f
Don't print any warnings to the log if an unrecognized gamefunc is dispatched; this is expected and normal when they are renamed.
...
git-svn-id: https://svn.eduke32.com/eduke32@6188 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-17 11:42:12 +00:00
hendricks266
7d6a0d965b
Update LZ4 to 1.7.5.
...
git-svn-id: https://svn.eduke32.com/eduke32@6181 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-14 07:00:08 +00:00
hendricks266
95826e79b3
Update xxHash to 0.6.2.
...
git-svn-id: https://svn.eduke32.com/eduke32@6180 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-14 07:00:02 +00:00
hendricks266
f8bdc5814e
Re-port our changes to libdivide.h and add new changes so that it works as we need.
...
git-svn-id: https://svn.eduke32.com/eduke32@6177 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-14 06:59:50 +00:00
hendricks266
284fdf1b63
Replace libdivide.h with an unpatched copy of the latest version.
...
git-svn-id: https://svn.eduke32.com/eduke32@6176 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-14 06:59:43 +00:00
terminx
feb8b43892
Better support for working with blend in the editor
...
git-svn-id: https://svn.eduke32.com/eduke32@6175 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-10 08:19:47 +00:00
terminx
faf5c90eef
Another attempt at fixing Polymost z-fighting. Probably still sucks! :)
...
git-svn-id: https://svn.eduke32.com/eduke32@6170 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:41:45 +00:00
terminx
b13deef232
The most minor of minor optimizations. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@6166 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:41:23 +00:00
terminx
d76c3c2764
Polymost: fix texture panning floatiness on slight slopes
...
git-svn-id: https://svn.eduke32.com/eduke32@6164 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:40:17 +00:00
hendricks266
75d25d0d15
LPeg: Necessary changes for building in our environment and with our project. See lpeg-lunatic.patch.
...
git-svn-id: https://svn.eduke32.com/eduke32@6156 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:39:18 +00:00
hendricks266
b3d597200b
Common.mak: Massive reorganization/cleanup.
...
Any functional changes are incidental and minor, other than the outright removals.
git-svn-id: https://svn.eduke32.com/eduke32@6147 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:38:42 +00:00
hendricks266
0633795683
Fix an extern "C" that was collateral damage in the last push. Fixes Lunatic build. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@6144 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-07 05:13:54 +00:00
hendricks266
8d8fd61ed0
Remove the register keyword, since it is deprecated in C++11 and removed in C++17.
...
git-svn-id: https://svn.eduke32.com/eduke32@6143 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-05 10:05:29 +00:00
hendricks266
576ff98f4d
Improve what build information we print to the log at startup. New feature: compilers, their versions, and big-endianness. Removed: C++, as it is now mandatory.
...
git-svn-id: https://svn.eduke32.com/eduke32@6142 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-05 10:05:22 +00:00
hendricks266
25b942de74
Visual Studio apparently still defines __cplusplus as 199711.
...
git-svn-id: https://svn.eduke32.com/eduke32@6141 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-05 10:05:17 +00:00
hendricks266
f781f21ccd
Address some longstanding warnings with printf when building with MinGW's GCC 6 and newer.
...
Building with said newer versions may fix the -Wodr warning when building for release.
git-svn-id: https://svn.eduke32.com/eduke32@6140 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-05 10:05:12 +00:00
hendricks266
914762513d
Introducing buildprint, a type-safe and more performant replacement for printf using C++11 variadic templates. At least, an incomplete version that is enough to implement the next commit.
...
git-svn-id: https://svn.eduke32.com/eduke32@6139 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-05 10:05:07 +00:00
hendricks266
5a0ed69310
compat.h: Add some more math stuff to support the next commit.
...
git-svn-id: https://svn.eduke32.com/eduke32@6138 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-05 10:05:03 +00:00
hendricks266
83c06a63b9
Fix some extern "C".
...
git-svn-id: https://svn.eduke32.com/eduke32@6137 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-05 10:04:56 +00:00
hendricks266
66f43bca24
compat.h: Prevent "warning: private field 'dummy' is not used". DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@6136 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-01 03:08:39 +00:00
hendricks266
d3c56b8a89
compat.h: Add logbase<size_t>().
...
git-svn-id: https://svn.eduke32.com/eduke32@6119 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-12 08:30:35 +00:00
hendricks266
73654c2079
compat.h: Add new types, native_t and unative_t, functionally equivalent to our current bssize_t and bsize_t, respectively, but generated dependably using template metaprogramming when building with C++ >= 11.
...
git-svn-id: https://svn.eduke32.com/eduke32@6118 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-12 08:30:32 +00:00
hendricks266
7a40df33b6
compat.h: Add some infrastructure for C++ template metaprogramming.
...
git-svn-id: https://svn.eduke32.com/eduke32@6117 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-12 08:30:29 +00:00
hendricks266
a1f317ecfc
compat.h: Upgrade our byteswapping functions with new versions that I have experimentally confirmed to compile down to the appropriate single assembly instructions on x86 and x86_64. As part of this, make them constexpr, and remove the OS-specific and inline assembly variants as sub-par due to these two improvements.
...
git-svn-id: https://svn.eduke32.com/eduke32@6116 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-12 08:30:26 +00:00
hendricks266
b98b00281c
compat.h: Add macros so that we can use constexpr without breaking C++ < 11 and C.
...
git-svn-id: https://svn.eduke32.com/eduke32@6115 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-12 08:30:23 +00:00
hendricks266
1ebbd553bd
compat.h: Add some definitions for easy testing of language standard versions.
...
git-svn-id: https://svn.eduke32.com/eduke32@6114 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-12 08:30:18 +00:00
hendricks266
cb2d1f4bce
Mac: Address deprecation warnings with the latest Xcode and macOS.
...
git-svn-id: https://svn.eduke32.com/eduke32@6109 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-27 17:13:07 +00:00
hendricks266
30ef04893b
compat.h: Re-taxonomize one item.
...
git-svn-id: https://svn.eduke32.com/eduke32@6091 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 03:03:26 +00:00
hendricks266
e9c8f44a47
compat.h: Upgrade ARRAY_SIZE.
...
git-svn-id: https://svn.eduke32.com/eduke32@6078 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:16:01 +00:00
hendricks266
d6e820645b
compat.h: Upgrade EDUKE32_FUNCTION and add EDUKE32_PRETTY_FUNCTION.
...
git-svn-id: https://svn.eduke32.com/eduke32@6077 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:58 +00:00
hendricks266
62a921c409
Remove the implicit "static" from our FORCE_INLINE macro.
...
This will be important for C++ member functions.
git-svn-id: https://svn.eduke32.com/eduke32@6076 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:53 +00:00
hendricks266
77875948ba
Eliminate more cases of duplication of compat.h's functionality.
...
git-svn-id: https://svn.eduke32.com/eduke32@6075 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:45 +00:00
hendricks266
aa04307ad1
Route all inclusion of libc headers and most of POSIX headers through compat.h.
...
git-svn-id: https://svn.eduke32.com/eduke32@6074 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:36 +00:00
hendricks266
22fbca52ca
Remove HAVE_INTTYPES define.
...
No #else was ever provided for any build system that lacks inttypes besides MSVC.
git-svn-id: https://svn.eduke32.com/eduke32@6073 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:20 +00:00
hendricks266
2b8fb9bfc1
Completely reorganize compat.h.
...
git-svn-id: https://svn.eduke32.com/eduke32@6072 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:16 +00:00
hendricks266
3f5dbe17f2
Eliminate the windows_inc.h include from compat.h by special-casing UNREFERENCED_PARAMETER in a different way.
...
git-svn-id: https://svn.eduke32.com/eduke32@6071 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:13 +00:00
hendricks266
ee4d69093c
Remove #define compat_h_macrodef__ and its absent case, which was only ever used for an old JFDuke3D port to PalmOS.
...
If for some reason you need to target a platform that lacks a libc, you're better off finding a libc, or putting together your own shim layer. It's a weekend project at most.
git-svn-id: https://svn.eduke32.com/eduke32@6070 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:10 +00:00
hendricks266
6d7191b848
windows_inc.h in two more places
...
git-svn-id: https://svn.eduke32.com/eduke32@6069 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:01 +00:00
hendricks266
26e740c0b7
Eliminate many cases of duplication of compat.h's functionality.
...
git-svn-id: https://svn.eduke32.com/eduke32@6067 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-19 22:15:56 +00:00
hendricks266
225be10f61
Define NOMINMAX in windows_inc.h.
...
git-svn-id: https://svn.eduke32.com/eduke32@6066 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-19 22:15:50 +00:00
hendricks266
d4ee6d00c8
Route inclusion of all Windows headers through a new header, windows_inc.h.
...
This allows us to make certain guarantees about limits on the extent of namespace pollution these headers introduce.
git-svn-id: https://svn.eduke32.com/eduke32@6065 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-19 22:15:44 +00:00
hendricks266
d43fb548cf
Abolish all " ={ " when assigning a struct. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@6061 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-05 20:58:33 +00:00
hendricks266
417b047cf3
Bring the previous commit into effect.
...
git-svn-id: https://svn.eduke32.com/eduke32@6056 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-01 10:20:54 +00:00
hendricks266
1cc9d13ccf
The great repository rearrangement of 2017.
...
Files moved but not modified. Changes to follow in a subsequent commit.
You down with CPP?
git-svn-id: https://svn.eduke32.com/eduke32@6055 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-01 10:01:11 +00:00