Commit graph

1348 commits

Author SHA1 Message Date
Christoph Oelckers
0168b9ddf2 - fix RedNukem input. 2019-09-19 01:10:07 +02:00
Christoph Oelckers
412f3a0b32 - proper npot checks for RedNukem's sky calculations. 2019-09-19 00:37:12 +02:00
Christoph Oelckers
588fbc26f9 - added RedNukem project. 2019-09-19 00:27:46 +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
9edf6be10d - texture sampler class added, not used yet. 2019-09-16 22:56:48 +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
b7816e2dfb - use full GL 4.6 API. 2019-09-16 17:52:14 +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
21217585c9 Fix crash when starting E2L1
git-svn-id: https://svn.eduke32.com/eduke32@7440 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-13 00:51:02 +02:00
terminx
d869e612e4 Fix stupid typo in hardcoded Duke3D actor
git-svn-id: https://svn.eduke32.com/eduke32@7426 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-13 00:51:02 +02:00
terminx
120332c562 Fix hang when setting r_maxfps to 0 while r_maxfpsoffset is a negative value
git-svn-id: https://svn.eduke32.com/eduke32@7425 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-13 00:51:02 +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
95fa4e04f9 Allow lowering fov to 60 from the console
git-svn-id: https://svn.eduke32.com/eduke32@7416 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:54 +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
b819b298ee ifdef EDUKE32_STANDALONE something for hardcoded Duke projectiles
git-svn-id: https://svn.eduke32.com/eduke32@7410 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:31 +00:00
terminx
da6b01bf8e Improve collision for projectiles
This does a few things:

-projectiles now use clipmovex() instead of clipmove() (this is like CON_CLIPMOVENOSLIDE)
-the z distances passed to clipmove() are now calculated from the sprite's size instead of being hard-coded
-projectiles now move as if they had SFLAG_NOCLIP applied for the first tic after spawning

git-svn-id: https://svn.eduke32.com/eduke32@7409 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:27 +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
2ec041b10e Use correct type in range-based loop
git-svn-id: https://svn.eduke32.com/eduke32@7407 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:19 +00:00
terminx
c7f003a1a9 Remove a couple of blocks in A_MoveSpriteClipdist() from standalone builds and call setsprite() unconditionally before doing any movement
git-svn-id: https://svn.eduke32.com/eduke32@7406 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:16 +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
729f83761a Rename "player speech" menu option in standalone builds
git-svn-id: https://svn.eduke32.com/eduke32@7402 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:00 +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
92c52d7e60 Formatting
git-svn-id: https://svn.eduke32.com/eduke32@7399 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:07:48 +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
e33fed3bf8 Add Nuke.YKT to thanks section in credits and move pogokeen to active developers
This also cleans up the code for MENU_CREDITS4 so that it's significantly easier to alter in the future if needed.

git-svn-id: https://svn.eduke32.com/eduke32@7389 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-04 23:48:59 +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
ac87b8c945 I forgot to remove this comment in r7376
git-svn-id: https://svn.eduke32.com/eduke32@7384 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-03 11:15:12 +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
3c0a38d47a Rename "INCOMPLETE_STRUCT_ACCESS" to CON_DISCRETE_VAR_ACCESS as it was neither incomplete nor anything to do with access to structs
However, it's remaining disabled because even with the new dispatch method it still doesn't improve performance any.

git-svn-id: https://svn.eduke32.com/eduke32@7382 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-03 11:15:01 +00:00
terminx
35b208eeab Fix saving to %APPDATA% on Windows...
git-svn-id: https://svn.eduke32.com/eduke32@7381 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:52:50 +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
e61831ad5d Fix CON issues introduced in r7357 and r7358
git-svn-id: https://svn.eduke32.com/eduke32@7378 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:22:08 +00:00
terminx
dbcd3968ee Am I missing something here?
git-svn-id: https://svn.eduke32.com/eduke32@7377 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:22:04 +00:00
terminx
8b7d099cbd Remove reference pointing to vm.pPlayer because it seems incompatible with the new dispatch method
git-svn-id: https://svn.eduke32.com/eduke32@7376 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:22:00 +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
6a251fca16 Free inthash tables used by the CON compiler using the contents of inttables[] instead of listing them explicitly in C_Compile()
git-svn-id: https://svn.eduke32.com/eduke32@7371 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:21:41 +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
6d9ecbcfb7 Marginally less sucky version of a function that completely sucks
git-svn-id: https://svn.eduke32.com/eduke32@7367 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:21:25 +00:00
terminx
db51740d3d Clean up a few uses of the hash table functions to account for hash_findcase() working properly now
git-svn-id: https://svn.eduke32.com/eduke32@7366 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:21:21 +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
0de543ca2b This was slightly faster here
git-svn-id: https://svn.eduke32.com/eduke32@7363 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:21:09 +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
terminx
425c183c67 Clean up DirectSound driver in audiolib
This includes a small patch from Nuke.YKT as well.

git-svn-id: https://svn.eduke32.com/eduke32@7361 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:21:01 +00:00
terminx
c757725e65 Remove a "cheap fix" from multivoc that is no longer needed and should never have been needed in the first place
git-svn-id: https://svn.eduke32.com/eduke32@7360 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:20:56 +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
5c9b921285 CON: Implement a new VM dispatch method using an explicit jump table
Most of this patch is by pogokeen.

git-svn-id: https://svn.eduke32.com/eduke32@7358 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-28 07:21:49 +00:00
hendricks266
12bfbd5a06 CON: Macro-ize CON keyword tokens in gamedef.h and gameexec.cpp
Most of this patch is by pogokeen.

git-svn-id: https://svn.eduke32.com/eduke32@7357 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-28 07:21:43 +00:00
hendricks266
b7e9cd0791 CON: Move five missed opcodeless keywords down in gamedef.h
git-svn-id: https://svn.eduke32.com/eduke32@7356 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-28 07:21:40 +00:00
hendricks266
328e771636 CON: #ifdef out deactivated stuff that should not be half-in, half-out
git-svn-id: https://svn.eduke32.com/eduke32@7355 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-28 07:21:37 +00:00
hendricks266
f84cbd9a1a Clean up unused warnings
git-svn-id: https://svn.eduke32.com/eduke32@7354 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-28 07:21:33 +00:00
hendricks266
94504ee0c3 Fix net.cpp compilation failure under clang
git-svn-id: https://svn.eduke32.com/eduke32@7353 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-28 07:21:30 +00:00
terminx
b7e524d5d1 Fix autoaim bug introduced in r6942
git-svn-id: https://svn.eduke32.com/eduke32@7352 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-23 05:10:59 +00:00
terminx
766fb93191 Fix a crash when accessing SECTOR_WALLPTR with CON_SETSECTOR
git-svn-id: https://svn.eduke32.com/eduke32@7351 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-22 20:26:38 +00:00
terminx
4b1d268908 Use existing viewingrange and yxaspect for showview so it matches that of the main view
This fixes fov when using showview in EVENT_DISPLAYROOMS to do layered rendering, but it might not be right for uses of showview that simply display picture-in-picture stuff on screen.

git-svn-id: https://svn.eduke32.com/eduke32@7350 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-22 18:35:37 +00:00
terminx
e0b5e32be2 Clean up a little bit of yxaspect and viewingrange variable cruft in G_DrawRooms()
git-svn-id: https://svn.eduke32.com/eduke32@7349 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-22 18:35:33 +00:00
terminx
934f1e9ec6 Display value next to FOV slider and allow dropping FOV to 70
git-svn-id: https://svn.eduke32.com/eduke32@7348 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-22 18:35:28 +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