Christoph Oelckers
1149b4f4aa
- various fixes and improvements related to file location management:
...
* saving of demos and savegames no longer mindlessly writes to the mod directory. All such access is now being rerouted through the special paths interface so that the game data can reside in write protected locations.
* refactored all occurences of klistpath except fnlist_getnames.
* do not allow CON scripts to write to arbitrary files. This is a massive exploit and can be used to cause real damage if someone knows how to play this thing - it's far easier than people may think! It will now write any such data to a special section in the main config which is safe and cannot be manipulated to write to random locations on the hard drive.
2019-11-02 00:38:30 +01:00
Christoph Oelckers
cfca8060ba
- gutted cache1d. The old file system is gone, excepr for klistpath, which still gets used in a few places.
...
- consolidated the 3 identical S_OpenAudio implementations. The replacement code is disabled for the time being because it needs a rewrite. The replacement logic is uses is a bit too volatile.
- removed the old GRP scan code.
2019-11-01 22:17:15 +01:00
Christoph Oelckers
2d7c0e26d2
- cleanup of the old file system initialization.
...
The real fun part is yet to come, i.e. removing the remaining dependencies on the old file system code.
2019-11-01 19:25:42 +01:00
Christoph Oelckers
39bfd64fe9
- a bit more cleanup in app_init.
2019-11-01 08:24:10 +01:00
Christoph Oelckers
6c5d9c3507
- moved the net init code out of the game frontends to avoid having to call atexit for their deinit function.
...
When doing this during startup it can be done by regular cleanup measures.
This also moves two larger chunks of networking code out of game.cpp.
Nevertheless, the fact that enet is a very dirty library which directly depends on Windows types is a big problem because it bleeds Windows definitions everywhere thanks to poor abstraction in all relevant layers.
2019-11-01 07:26:49 +01:00
Christoph Oelckers
67acad3984
- startup cleanup.
2019-11-01 00:32:56 +01:00
Christoph Oelckers
57f879fa8b
- moved the startup dialog out of the game front ends, now that there is a global cross-game list of playable configurations.
2019-10-31 23:25:21 +01:00
Christoph Oelckers
c6753a3fec
- tested and fixed game list loader.
2019-10-31 00:41:56 +01:00
Christoph Oelckers
2a7beeff69
- cleaned out some chunks of unused or useless code, most importantly the Build cache which was only used by the sound code for permanently loading the data into memory.
2019-10-30 21:51:04 +01:00
Christoph Oelckers
5b1036093c
- fixed startup.
2019-10-30 19:55:03 +01:00
hendricks266
dcba445f4e
SW: Fix file loading and init sequence
...
git-svn-id: https://svn.eduke32.com/eduke32@8269 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/duke3d/src/common.cpp
# source/duke3d/src/game.cpp
# source/sw/src/common.cpp
# source/sw/src/common_game.h
# source/sw/src/game.cpp
# source/sw/src/jnstub.cpp
2019-10-30 18:38:43 +01:00
hendricks266
797c79d4a5
Move registry reading to engine
...
git-svn-id: https://svn.eduke32.com/eduke32@8268 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/duke3d/src/common.cpp
2019-10-30 18:27:40 +01:00
hendricks266
9b21fe0c28
Move VDF parsing to engine
...
git-svn-id: https://svn.eduke32.com/eduke32@8267 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/include/common.h
# source/duke3d/src/common.cpp
2019-10-30 18:15:00 +01:00
Christoph Oelckers
ac87665972
- use std::filesystem for directory traversal.
...
So far implemented for scanning search paths
2019-10-29 19:53:46 +01:00
Christoph Oelckers
762f174743
- moved the command line parser out of the game frontends.
...
Some part are not done yet, and the file system data is currently ignored - there's no way to properly set this up with the file system code Build came with.
2019-10-28 22:19:50 +01:00
Christoph Oelckers
f8203ac766
- fixed the compile errors and consolidated the key binding CCMDs.
2019-10-28 06:47:49 +01:00
Christoph Oelckers
e7f75cbf4d
WIP
2019-10-28 01:12:31 +01:00
Christoph Oelckers
c0d5ca8ab8
- Config work almost done.
...
The only thing still referencing the old config file is Shadow Warrior's config read function.
2019-10-27 13:40:24 +01:00
Christoph Oelckers
038c1ba4ba
- more CVARs.
2019-10-27 09:53:09 +01:00
Christoph Oelckers
4b5ec2aabb
- transitioned the combat macros to the new config and made them independent for all games, so that everything can use the original text. (But considering that they are a multiplayer feature I'm not sure how much that is worth.)
...
- sort the config output alphabetically.
- do not use [=] as key names for the bindings.
2019-10-27 08:14:58 +01:00
Christoph Oelckers
db1a9a9363
- the config finally get saved.
...
Still with a few errors, though.
2019-10-26 20:47:37 +02:00
ny00123
731671c401
Make the secondary backslash key of the standard 102-keys PC keyboard layout, also known as a "less than" key, usable. This is the key generally sitting in-between the left shift and Z keys, for the 102-keys QWERTY layout.
...
git-svn-id: https://svn.eduke32.com/eduke32@8265 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-26 19:29:13 +02:00
Christoph Oelckers
f53c9f6947
- save stuff to the new config.
2019-10-26 19:24:46 +02:00
Christoph Oelckers
cd47582632
- disabled the settings.cfg console script so that the newly added config code can take over its duties.
...
- write the console log to the folder returned by M_GetDocumentsPath and not to the root game directory.
- removed G_ExtPreInit because it has become redundant. The search path setup will have to be redone anyway.
2019-10-26 13:41:42 +02:00
Christoph Oelckers
1e0d49f947
- game starts again.
2019-10-26 13:16:32 +02:00
Christoph Oelckers
1c29169492
-perform a proper exit, i.e. make sure that the deinit code can run, by throwing a special exception and actually catching it in the main function.
2019-10-26 10:30:08 +02:00
Christoph Oelckers
0d878a8604
- some needed cleanup on the control code before testing can start.
2019-10-26 10:16:39 +02:00
Christoph Oelckers
5cf5c74695
- let kopenFileReader have a look into demolition.pk3 if nothing else is found.
...
This should help as long as the old resource management is still in place.
2019-10-25 02:01:52 +02:00
Christoph Oelckers
8730ce552b
- make things compile again.
...
Let's hope it still works...
2019-10-24 20:28:46 +02:00
nukeykt
e6f53f7c30
Resolve merge issues
...
# Conflicts:
# GNUmakefile
# platform/Windows/eduke32.sln
# platform/Windows/props/build_common.props
# source/audiolib/include/music.h
# source/blood/src/blood.cpp
# source/blood/src/gui.cpp
# source/blood/src/mapedit.cpp
# source/blood/src/sound.cpp
# source/build/include/vfs.h
# source/build/src/vfs.cpp
2019-10-24 19:48:11 +02:00
Christoph Oelckers
966751b7e8
- added GZDoom's font code and some dependencies.
2019-10-24 01:20:58 +02:00
Christoph Oelckers
20df360778
- converted the Polymost CVARs.
2019-10-23 21:11:37 +02:00
Szilárd Biró
c419fae31b
Fix compiling without OpenGL
2019-10-23 18:37:56 +02:00
Christoph Oelckers
21d90fd08b
- fixed compilation.
2019-10-23 18:36:48 +02:00
Christoph Oelckers
63f020996e
- a few more CVARs
2019-10-23 01:30:43 +02:00
Christoph Oelckers
e5aa6c5df0
- refactored the HUD scaling into something manageable.
...
Blood was fine, albeit with an inverted scale, but the EDuke implementation was something very special - and not in a good way, using 4 CVARs to store the scaling state instead of one.
2019-10-22 23:31:46 +02:00
Christoph Oelckers
30e9eed1b3
- the next CVAR, cl_autoaim
2019-10-22 00:05:21 +02:00
Christoph Oelckers
f7b9fb92c1
- added back ZDoom's CVAR code and hooked into the OSD.
...
This has the distinct advantage, aside from much cleaner coding, that it can interoperate with the gameconfigfile class.
2019-10-21 22:39:26 +02:00
terminx
91dac5c73a
I swear, the amount of trivial differences between toolchain setups drives me up the wall sometimes
...
git-svn-id: https://svn.eduke32.com/eduke32@8247 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-21 19:37:14 +02:00
terminx
b2421887a1
Use stat() instead of fopen() to detect existing files when saving screenshots
...
git-svn-id: https://svn.eduke32.com/eduke32@8246 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-21 19:37:13 +02:00
Christoph Oelckers
72b87e5bd7
- fixed compilation.
2019-10-21 19:36:54 +02:00
Christoph Oelckers
8c7590e161
- refactored most of the remaining calls to kopen4load
2019-10-21 17:16:08 +02:00
Christoph Oelckers
0c4ffdea43
- do not use the cache for loading voxel data
...
This stuff is software rendering only so should be made optional anyway.
But aside from that it was the last non-sound data, being loaded into the cache.
With this gone the sound cache can be redone as a dedicated object and the atrocious cache1d implementation be tossed out.
2019-10-21 01:17:26 +02:00
Christoph Oelckers
5333f6adc1
- refactored a few more - simple stuff but lots of lines.
2019-10-21 00:13:17 +02:00
Christoph Oelckers
d3c2d8e96f
- refactored file access in the movie player.
2019-10-20 22:48:21 +02:00
Christoph Oelckers
449a5a4717
- refactoring of palette loader.
2019-10-20 22:26:53 +02:00
Christoph Oelckers
6e7db1b63a
- refactored file access in RR frontend's sound code.
2019-10-20 21:56:13 +02:00
terminx
69a3f9e884
Band-aid fix for Duke3d E4L4 map "corruption"
...
The map isn't necessarily "corrupt", but it has a large water sector with half a dozen different SE7 teleporter sprites in it, of which all but one have destination SE7 sprites that are constantly moving while the matching SE7 in the large sector stays in place. When you teleport, the game code picks one. It doesn't always pick the one that matches.
Yeah, OK, it never picks the one that matches.
The area is a total clusterfuck.
git-svn-id: https://svn.eduke32.com/eduke32@8241 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-20 21:08:48 +02:00
Christoph Oelckers
2be5727137
- refactored all file reading in the savegame code to the FileReader interface.
...
In this case a different open function is used because this is normally files on the hard drive and not assets, so being able to have a different setup for finding them is important.
2019-10-20 21:04:55 +02:00
Christoph Oelckers
7cacb7203f
- refactored all file access in SW frontend to use the FileReader variant and added a few utilities to avoid opening handles.
...
Because use of the handle API needs to be eliminated before a functioning resource management can be plugged in here.
2019-10-20 20:08:17 +02:00
Christoph Oelckers
75205ca69c
- do not throw exceptions to exit without proper handling.
2019-10-20 11:28:16 +02:00
Christoph Oelckers
489170b12c
- fixed compilation again.
2019-10-20 10:52:38 +02:00
terminx
ba02bbaf67
Add #pragma once to debugbreak.h and remove it from separate inclusion in a couple of translation units as we're including it directly in compat.h now
...
git-svn-id: https://svn.eduke32.com/eduke32@8192 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/sdlayer.cpp
# source/duke3d/src/gamedef.cpp
2019-10-20 10:45:48 +02:00
terminx
d7f779eaec
Use EXIT_FAILURE and EXIT_SUCCESS from stdlib.h when calling exit()
...
git-svn-id: https://svn.eduke32.com/eduke32@8190 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
# source/build/src/polymost.cpp
# source/build/src/tiles.cpp
# source/duke3d/src/astub.cpp
2019-10-20 10:45:48 +02:00
Christoph Oelckers
2316957026
- made things compile again after updating enet. Also removed the redundant dumb and game_music_emu libraries which just got imported by accident when using other things from GZDoom.
...
Note: enet uses 'malloc' and 'free' as field names in a struct - this does not work with any compiler using some sort of heap instrumentation that #defines these names!
This had to be changed to allow MSVC debug builds to compile again.
2019-10-20 09:16:01 +02:00
terminx
63713002b3
Swap out our old deprecated version of ENet for a single-file header-based fork, including features like IPv6 support
...
git-svn-id: https://svn.eduke32.com/eduke32@8175 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# GNUmakefile
# libraries/enet/LICENSE
# libraries/enet/callbacks.c
# libraries/enet/compress.c
# libraries/enet/enet/callbacks.h
# libraries/enet/enet/enet.h
# libraries/enet/enet/list.h
# libraries/enet/enet/protocol.h
# libraries/enet/enet/time.h
# libraries/enet/enet/types.h
# libraries/enet/enet/unix.h
# libraries/enet/enet/utility.h
# libraries/enet/enet/win32.h
# libraries/enet/host.c
# libraries/enet/list.c
# libraries/enet/packet.c
# libraries/enet/peer.c
# libraries/enet/protocol.c
# libraries/enet/unix.c
# libraries/enet/win32.c
# platform/Windows/build.vcxproj
# platform/Windows/build.vcxproj.filters
# platform/Windows/eduke32.sln
# platform/Windows/eduke32.vcxproj
# source/duke3d/src/player.cpp
2019-10-20 08:43:36 +02:00
terminx
1667d4dd87
This is useless
...
git-svn-id: https://svn.eduke32.com/eduke32@8170 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-20 08:31:49 +02:00
terminx
8b43ed5777
Rename timerUpdate() and timerGetRate() to timerUpdateClock() and timerGetClockRate(), because they both only apply to totalclock
...
git-svn-id: https://svn.eduke32.com/eduke32@8169 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/timer.cpp
# source/build/src/winlayer.cpp
2019-10-20 08:31:26 +02:00
terminx
91fde580ce
Use nanosleep instead of usleep
...
git-svn-id: https://svn.eduke32.com/eduke32@8168 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-20 08:29:25 +02:00
terminx
8e088f6659
Equivalent to jfbuild commit b6a666745cea21c6f8193b046bcdd0636fb7c166
...
git-svn-id: https://svn.eduke32.com/eduke32@8158 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-20 08:17:35 +02:00
terminx
0270cc2df5
SDL_free() is not for pointers to SDL_RWops structures...
...
git-svn-id: https://svn.eduke32.com/eduke32@8151 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-20 08:16:02 +02:00
terminx
c86af959b9
Add optional duration parameter to idle()
...
git-svn-id: https://svn.eduke32.com/eduke32@8149 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/include/winlayer.h
2019-10-20 08:13:22 +02:00
Christoph Oelckers
e5ddb28a2b
- renamed texcache.cpp and moved it to its proper place.
...
The old content no longer exists, this is entirely backend code now.
2019-10-20 08:04:54 +02:00
Christoph Oelckers
f29dd6c495
- include cleanup
2019-10-20 08:02:45 +02:00
Christoph Oelckers
efcf447398
- moved newly added file to its proper place.
2019-10-20 07:51:35 +02:00
terminx
4dfae31900
Update xxHash to git commit cd0f5c22095c49c35104dca86620322801f14893
...
git-svn-id: https://svn.eduke32.com/eduke32@8142 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# platform/Windows/build.vcxproj
# platform/Windows/build.vcxproj.filters
2019-10-20 07:50:30 +02:00
terminx
70171ea341
Use timerGetHiTicks() instead of timerGetTicks() for timing in osdfunc_fileinfo()
...
git-svn-id: https://svn.eduke32.com/eduke32@8141 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-20 07:48:16 +02:00
terminx
4c4ffa80b4
Use tabledivide64() in timerUpdate()
...
git-svn-id: https://svn.eduke32.com/eduke32@8136 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-20 07:48:02 +02:00
Christoph Oelckers
85d377647a
- tweaked the fade ramp a bit.
...
For Duke Nukem and its direct offspring (Nam, WW2GI and Redneck Rampage) the ramp is not a linear fade from 0 to 1, it needs to be a little darker than that.
Unfortunately the proper factor needed here must be set manually, this cannot really be calculated from the lookup tables.
2019-10-20 01:14:48 +02:00
Christoph Oelckers
abaa1d19ee
- fixed some bad setup in SetTextureInternal.
2019-10-20 00:31:27 +02:00
Christoph Oelckers
bb4a19cf3a
- added a few more texture formats to FHardwareTexture.
...
For brightmaps we do not need full RGBA8 data with mipmaps - RGBA2 without mipmaps is fully sufficient here and will save a lot of video memory.
2019-10-19 23:14:36 +02:00
Christoph Oelckers
7d2f61db2e
- converted all boolean parameters of the shader into a single flag word.
...
- discarded the idea of transient palettes because the maintenance here stood in no relation to the savingd.
2019-10-19 22:46:37 +02:00
Christoph Oelckers
6f4ca480b5
- sky clamping may only be done in Blood for now.
...
This needs a better solution.
2019-10-19 20:25:58 +02:00
Christoph Oelckers
5fa879d5d1
- use texture clamping for skies, because these textures do not always wrap.
2019-10-19 19:29:59 +02:00
Christoph Oelckers
d4fc13fba5
- cleaned up the sampler manager's content names and added the missing types to allow easier switching between indexed (no filtering) and non-indexed (filter as per user option).
2019-10-19 19:10:09 +02:00
Christoph Oelckers
2152780806
- added some hackery to render voxels properly again.
...
Something about their data preparation is not right, their depth looks totally off and causes fog to become to dense.
One more reason to reconstruct the renderer in a sane fashion.
2019-10-19 18:14:13 +02:00
Christoph Oelckers
cd7bbe35a8
- removed all legacy fog code.
2019-10-19 15:52:46 +02:00
Christoph Oelckers
2ef89abe08
- reworked palookupinfo output.
2019-10-19 13:27:09 +02:00
Christoph Oelckers
4a9f0248d7
- removed the texture ID cache.
...
Although this initially helped, it was only because it partially covered up the issues from the real problem which was using the sampler properties of the texture offsets.
With that one fixed this cache became pointless.
2019-10-19 10:40:47 +02:00
Christoph Oelckers
bc986b8054
- make the engine consistently use BGRA data - the internal palettes were still RGBA, which caused problems down the line.
...
- increased cache size to 200 MB (Note: The cache really needs to be replaced with something better that can adapt better to a system's RAM size.)
2019-10-19 10:22:02 +02:00
Christoph Oelckers
c6f973d05f
- more palookup information dumping
2019-10-19 00:25:42 +02:00
Christoph Oelckers
00630f728f
- fixed voxel rendering.
...
Still need to move the voxel textures into the texture manager but at least they render properly again.
2019-10-18 22:25:47 +02:00
Christoph Oelckers
00d59459a1
- fixed creation of true color textures and disabled fog in palette mode.
...
The fog should go away entirely but in palette mode it made everything too dark.
2019-10-18 22:09:19 +02:00
Christoph Oelckers
2ed722f329
- do not draw invalid textures.
2019-10-18 19:29:35 +02:00
Christoph Oelckers
dab7c43f7c
- fixed all compiler errors.
...
It mostly works again, but still has a few glitches.
2019-10-18 19:06:57 +02:00
Christoph Oelckers
23265ad213
- rework of texture management for models
...
Voxels yet to do.
This also removes the redundant texture matrix for the glow texture.
2019-10-18 14:04:32 +02:00
Christoph Oelckers
542994cc20
- added lookup for brightmap palettes.
2019-10-18 12:11:53 +02:00
Christoph Oelckers
530a9944f7
- texture loader redone but not tested yet
...
Models are currently non-functional and need to reroute their texture handling to the global texture manager instead of handling everything themselves.
Voxels also need a bit of work to make their texture management more automated.
2019-10-18 11:37:07 +02:00
Christoph Oelckers
c6514949e3
- texture creation WIP.
2019-10-18 00:20:27 +02:00
Christoph Oelckers
3da49ad20a
- safety commit: all relevant code for the texturing system has been moved to texcache.cpp.
2019-10-17 21:44:34 +02:00
Christoph Oelckers
bef8c9ae76
- hictinting cleanup.
...
This needs to be moved into the backend, and partially into the shader. So far this only removes the code from the main rendering logic, the final implementation is not done yet.
It had to go because it required the main rendering code to look deep into the texture data which would be a major blocker for refactoring.
2019-10-17 20:29:58 +02:00
Christoph Oelckers
304a906aa7
copy code
2019-10-17 14:21:51 +02:00
Christoph Oelckers
1426ebec20
Moved hightile replacement data into the textures
...
Not tested yet!
2019-10-17 12:45:25 +02:00
Christoph Oelckers
4f8e0dd936
- cleaned up a few copyright notices and unified licenses
2019-10-17 09:42:11 +02:00
Christoph Oelckers
452cfe385e
- Blood's voxel loader override has somehow gotten lost.
2019-10-16 23:57:29 +02:00
Christoph Oelckers
0aa5db7969
- project rework to shorten compile times.
...
* subprojects fpr game frontends added and unsigned char option put into global flags.
2019-10-16 23:09:02 +02:00
Christoph Oelckers
4cd2c024fc
- fixed crash in texture deinit code and ensure that everything gets deleted.
2019-10-16 21:16:40 +02:00
Christoph Oelckers
64e116a4b1
- use special classes with [] operators to redirect the frequently used global arrays to the newly implemented texture manager.
...
This allows to use the contained storage without changing all the code.
2019-10-16 20:39:59 +02:00
Christoph Oelckers
4dc69620b7
- cleanup
2019-10-15 23:56:29 +02:00
Christoph Oelckers
57c221644a
- transitioned all texture options of the def file
2019-10-15 23:38:01 +02:00
Christoph Oelckers
bb78db71bc
- tileDelete / tileSetDummy
2019-10-15 23:29:47 +02:00
Christoph Oelckers
9a52e8039c
- rerouted tileCreate and tileSetExternal calls.
2019-10-15 23:18:52 +02:00
Christoph Oelckers
c3bc690e98
- more updating and bug in UpdatePicSize fixed.
2019-10-15 20:02:37 +02:00
Christoph Oelckers
0e165e40a3
- first batch of adjustments to the new tile management.
...
- consolidated Polymost precaching and removed precaching for static tiles because they now are always loaded.
- removed cache configurability. On modern systems this is relatively pointless - allocating 50 or 100 MB is a non-issue - and the cache is due for replacement anyway.
2019-10-15 00:54:14 +02:00
Christoph Oelckers
4b6f28e7c8
- hooked up the writable texture types.
2019-10-15 00:19:31 +02:00
Christoph Oelckers
039d948991
- update of new texture classes.
2019-10-14 23:11:01 +02:00
Christoph Oelckers
a6ba81939a
- reworked texture management, not yet active.
2019-10-12 22:49:46 +02:00
Christoph Oelckers
fbc22e0125
- sanitized walock.
...
Sorry, but having a globally writable pointer to every texture is just insane and makes any functional management impossible.
This is merely a preparation for adding a real texture manager. That cannot be done if any code can write over the data at will. For that, it now has to make the texture writable first or create a writable empty texture.
2019-10-11 23:31:59 +02:00
Christoph Oelckers
3621aae3f0
- rerouted all write accesses to tilesiz and picsiz through a function interface.
...
These will have to do some texture management bookkeeping so directly changing the values is problematic.
This required changing the parameter interface in polymost.cpp because a few places hacked around with the global state to pass parameters to subfunctions.
2019-10-11 21:04:31 +02:00
Christoph Oelckers
14b21bab7a
- merged playing_blood and bloodhack variables because they did the same thing.
...
The only difference was that bloodhack came from NBlood and playing_blood was added for unhandled differences between the backends of EDuke32 and NBlood.
2019-10-11 00:34:27 +02:00
Christoph Oelckers
d9d721bff6
- removed old sky code.
...
r_flatsky is now the only option.
2019-10-11 00:15:20 +02:00
Christoph Oelckers
79ef3413dc
- removed a large block of fudging code for NPOT textures on non-supporting hardware.
...
We do not care about non-supporting hardware, so off this goes.
2019-10-10 23:38:06 +02:00
Christoph Oelckers
4d83a3c2a5
- moved all code related to texture creation to texache.cpp
...
Also go directly to the source when trying to determine translucency of a texture.
2019-10-10 23:29:13 +02:00
Christoph Oelckers
c588cd499a
- let GLInstance::Draw set the palette indexing mode.
...
This can be trivially decided based on the texture type, so there's really no need to let the higher level code deal with this.
2019-10-10 23:14:57 +02:00
Christoph Oelckers
36ca38258e
- hotfixed the transparency checkers to not create textures from regular tiles.
...
This caused some broken textures, apparently this gets called when not everything has been set up.
The hightile case will also have to be fixed.
2019-10-10 22:23:20 +02:00
Christoph Oelckers
fbc7e626e9
- removed the fullbright render pass, because this is better set up as a shader option.
...
- also removed the legacy fog modes because their implementation did not mix well with the texture system - they are also not really useful to begin with.
The last fog mode will most likely also be removed once true color shading is working but that one is less of an issue.
2019-10-10 21:05:10 +02:00
Christoph Oelckers
84b10bdb74
- cleaned up videoUpdatePalette function and removed the hardware texture invalidation from it.
...
This makes no sense because it'd toss out all the level textures that may still be needed for what probably is only a temporary palette change (like going underwater)
2019-10-10 20:28:41 +02:00
Christoph Oelckers
1407c18f8b
- cleaned out some remains of the non-indexed render path.
...
All of this will be redone in the backend.
2019-10-10 19:40:33 +02:00
Christoph Oelckers
46ffea94a4
- cleanup of gloadtile_art.
2019-10-10 19:30:05 +02:00
Christoph Oelckers
34b7759b7e
- removed the non-indexed parts of gloadtile_art.
...
This won't be needed anymore.
2019-10-10 19:25:03 +02:00
Christoph Oelckers
c428e367a0
- hotfix for texture filter settings.
...
This needs to be done differently later to choose the proper clamp setting.
2019-10-10 19:16:27 +02:00
Christoph Oelckers
1fee7a5f01
- cleanup of texture creation code.
...
There were several mostly pointless options complicating all of this.
2019-10-10 00:07:45 +02:00
Christoph Oelckers
eca099681a
- hooked up the Shadow Warrior frontend.
...
It doesn't really work but this way it always gets compiled and linked so that it receives the changes to the backend code.
2019-10-09 20:14:04 +02:00
Christoph Oelckers
ef0fd57367
- small bits of cleanup.
2019-10-08 22:23:48 +02:00
Christoph Oelckers
93f9303c62
- minor reorganization of tiles.
2019-10-08 19:46:39 +02:00
Christoph Oelckers
b78b53d75b
- deleted unused function.
2019-10-08 18:48:14 +02:00
Christoph Oelckers
50e6d364be
- prevent crash on invalid textures.
2019-10-08 01:37:24 +02:00
Christoph Oelckers
7131fe6c6e
- use separate textures for the palswap shade tables.
...
This creates a lot less mess than one big texture and also allows easier use of texelFetch in the server which is preferable for data textures.
2019-10-08 01:08:08 +02:00
Christoph Oelckers
82f6e2edb0
- fixed creation of paletted textures and added some palette debugging aids.
2019-10-07 23:32:38 +02:00
Christoph Oelckers
c050a0c4c8
- changed palswap management to handle the size of full lookup tables.
2019-10-07 00:34:15 +02:00
Christoph Oelckers
7713860b63
wip.
2019-10-07 00:14:16 +02:00
Christoph Oelckers
734d8b7d1e
- moved the palette management into the backend.
2019-10-06 21:15:53 +02:00
Christoph Oelckers
b1aaafb973
- abstracted uploadpalswap out of the game code.
...
This needs special setup on the renderer side that needs to be done in a more controlled fashion.
2019-10-06 19:47:31 +02:00
Christoph Oelckers
ef2de97077
- the harmless changes of the failed refactoring of the shader.
2019-10-06 19:32:35 +02:00
Christoph Oelckers
71d132b470
- use explicitly declared matrix uniforms.
...
The builtin matrices are no longer available in modern GLSL, preventing an upgrade of the shader.
Also perform better reporting of shader compilation errors.
2019-10-06 10:19:51 +02:00
Christoph Oelckers
d1a7c4225d
- added a texture class for ART-format hightiles.
...
This allows to treat them like all other image formats.
2019-10-05 23:44:28 +02:00
Christoph Oelckers
0dfe99356d
- stripped most of the image processing code from kplib, because it's not needed anymore - and also not salvageable for any refactoring.
2019-10-05 22:32:32 +02:00
Christoph Oelckers
93ad83b380
- use GZDoom's texture backend to read hightile textures. (Hightile tinting code moved to the shader but isn't active yet.
...
- remove all code for faking gamma correction through palette manipulated images.
2019-10-05 21:59:03 +02:00
Christoph Oelckers
bedfc262c4
- added a FileReader wrapper for kopen4load.
...
Needed when transitioning the hightile loader to GZDoom's texture loader.
2019-10-05 17:30:23 +02:00
Christoph Oelckers
f99492d6d5
- removed OpenGL headers from non-backend files.
2019-10-05 13:57:26 +02:00
Christoph Oelckers
3c193bb243
- moved the animvpx shader to the backend code.
...
This removes the final access to OpenGL from the rest of the source, with the exception of the glFinish call in the swap code.
2019-10-05 13:38:02 +02:00
Christoph Oelckers
0ee80628a2
- moved documentation out of the Source folder and added surface shader sources.
2019-10-05 13:17:26 +02:00
Christoph Oelckers
b83349fe6b
- moved the surface shader to the backend and the shader source to the resource file.
2019-10-05 13:09:15 +02:00
Christoph Oelckers
644b07b718
- minor fixes.
2019-10-05 12:39:50 +02:00
Christoph Oelckers
bd4e4834e3
- moved the main shader and its entire uniform maintenance into the backend.
2019-10-05 12:28:08 +02:00
Christoph Oelckers
d058084c10
- added an engine resource file.
...
Currently this only contains the main Polymost shaders and the resources from nblood.pk3.
The latter cannot be used yet because the Build resource management system is too stubborn to add the newly added file without some changes.
It's better to refactor the entire system instead.
2019-10-04 23:29:00 +02:00
Christoph Oelckers
ae1e090716
- all non-shader related GL calls are gone from the main code base.
2019-10-04 21:13:04 +02:00
Christoph Oelckers
f992aebf33
- two more
2019-10-04 19:17:55 +02:00
Christoph Oelckers
cb80e877ff
- refactored fog and depth func setting into GLInterface.
2019-10-04 18:44:16 +02:00
Christoph Oelckers
204abab724
glColor calls refactored.
2019-10-04 18:25:18 +02:00
Christoph Oelckers
96c0c3197c
- abstracted away more OpenGL calls, in particular all matrix access.
2019-10-04 18:12:03 +02:00
Christoph Oelckers
1ff8ea6a19
- added matrix class for moving the GL matrix manipulation out of the engine code.
2019-10-04 01:41:57 +02:00
Christoph Oelckers
471f720d95
- consolidated console clear functions.
2019-10-04 01:25:10 +02:00
Christoph Oelckers
ebbe1803bb
- made the game selector configurable (It's still Windows only...)
2019-10-04 00:26:13 +02:00
nukeykt
528e7f8320
More meaningful names for build object struct members
2019-09-30 20:31:11 +02:00
nukeykt
61b4fae6e0
Simplify voxel rotation handling
...
# Conflicts:
# source/build/include/mdsprite.h
2019-09-30 20:31:09 +02:00
Christoph Oelckers
7fd395b5d7
- removed some legacy demo stuff from RedNukem backend.
2019-09-26 00:19:49 +02:00
nukeykt
c815e1c246
Minor sorting fix
2019-09-25 23:15:45 +02:00
nukeykt
9deb486626
Second attempt to fix polymost sprite sorting issue
2019-09-25 23:15:44 +02:00
Christoph Oelckers
d12563f644
- got rid of klzw and the legacy demo code along with it.
2019-09-25 23:12:29 +02:00
Christoph Oelckers
0261fef4a8
- removed some unused files.
2019-09-25 23:00:10 +02:00
Christoph Oelckers
18b1ca287e
- moved the platform specific files out of the Build folder, mainly to get them out of the way.
2019-09-25 22:43:06 +02:00
Christoph Oelckers
cd920299d0
- moved winbits.cpp to the platform folder and cleaned out unused parts.
2019-09-25 22:38:47 +02:00
Christoph Oelckers
ad4527c8be
- initialize the GL backend in the proper place.
...
As long as there are still video mode switches this needs to be in the video mode switching function.
2019-09-23 23:33:59 +02:00
Christoph Oelckers
a5441061e9
- always save the entire config.
...
It is a major hassle if values cannot be looked up and then change when switching between branches etc.
2019-09-23 21:27:23 +02:00
Christoph Oelckers
330c80246e
- added ZDoom's FArgs class for easier command line checking.
2019-09-23 19:29:25 +02:00
Christoph Oelckers
37907ddd06
- startup hacks.
...
Unfortunately nothing of this can be fixed before the resource management has been refactored from the ground up. Sp for now this ugliness needs to suffice.
2019-09-23 18:17:36 +02:00
nukeykt
895fb719d9
blooddemohack -> enginecompatibility_mode
2019-09-23 01:30:07 +02:00
Christoph Oelckers
527d99008b
- fixed the setup.
...
Renamed all elements still referring to zdoom.
removed the frontend specific resource data.
fixed startup dialog to accept ANSI date despite building as Unicode. This needed a bit of hackery because the macros in windowsx.h are not character set sensitive.
2019-09-23 01:28:18 +02:00
Christoph Oelckers
2cbe211e7c
- transitioned project to CMake and deleted most of the old build system.
...
The EDuke32 and RedNukem frontends are working, Blood isn't yet.
Notes:
many of the CMake variables and its output still refer to zdoom. Before changing that I wanted to make sure to be able to commit something that works.
support code for Windows XP has been entirely removed. On Windows this will only target Vista and up.
the crc32.h header had to be renamed to deconflict from zlib.
several Windows API calls were changed to call the A-versions directly. Weirdly enough there were places that defined their parameters as T types but in a non-working way.
removed some remaining editor files and support for the native software rendering only Windows backend.
in a few simple cases, replaced 'char' with 'uint8_t'. The code as-is depends on chars being unsigned which is non-portable. This needs to be carefully reviewed.
2019-09-22 23:15:46 +02:00
Christoph Oelckers
0d98e7f256
- put all Blood game code into a namespace.
2019-09-22 08:39:22 +02:00
Christoph Oelckers
2dc051f7cf
- put RedNukem game frontend into a namespace.
2019-09-22 00:10:48 +02:00
Christoph Oelckers
401a645ea1
- added a temorary requester to allow choosing the game until the code has been sufficiently refactored to do this in the startup dialog.
2019-09-21 23:45:57 +02:00
Christoph Oelckers
55a879fcc0
- put EDuke frontend source into a namespace.
...
This commit does not work yet!
2019-09-21 22:53:00 +02:00
Christoph Oelckers
30c47a8511
- include namespace file in all sources as the very first include.
2019-09-21 20:59:54 +02:00
Christoph Oelckers
5050716bc0
- removed most extern "C" from the rest of the code base.
2019-09-21 20:14:34 +02:00
Christoph Oelckers
a2b429ffe0
- removed unused declaration.
2019-09-21 13:16:02 +02:00
Christoph Oelckers
998ac01157
- manual merge of all NBlood changes that couldn't get cherry picked.
2019-09-21 13:02:17 +02:00
nukeykt
81f78c24b7
Implement rotate parameter for voxel definitions
...
# Conflicts:
# source/build/include/build.h
# source/build/include/mdsprite.h
# source/build/src/defs.cpp
2019-09-21 11:43:50 +02:00
nukeykt
90b005a44a
Fix mouse centering in menu
2019-09-21 11:40:44 +02:00
nukeykt
78a3240c3e
Fix flat sky y offset
2019-09-21 10:51:47 +02:00
nukeykt
68c7b8c402
Compile fix
...
# Conflicts:
# source/build/include/build.h
2019-09-21 10:38:26 +02:00
nukeykt
d3994b0801
Revise polymost HOM issue workaround in Duke's E1L1. Add code to remove very thin spans.
...
This commit does not gain noticeable rendering performance, but at least should prevent weird polygon leakages
2019-09-21 10:31:34 +02:00
nukeykt
935084ae52
More hacks to emulate old clipping
...
# Conflicts:
# source/build/src/clip.cpp
2019-09-21 10:28:10 +02:00
nukeykt
af2106c9d0
Finally Duke's DEMO1 is sync
2019-09-21 10:27:59 +02:00
nukeykt
05749679a8
I think this is enough
2019-09-21 10:27:59 +02:00
nukeykt
1aab7601df
Add old lintersect implementation
2019-09-21 10:27:58 +02:00
nukeykt
5c099bea05
Start adding old collision code for demo compatibility.
...
DEMO2 and DEMO3 of Duke3D are sync again
# Conflicts:
# source/build/src/clip.cpp
2019-09-21 10:27:58 +02:00
nukeykt
e6ffc816c9
Fix blood crash
...
# Conflicts:
# source/build/src/engine.cpp
2019-09-21 10:24:13 +02:00
nukeykt
a90711f328
Add extra field to tilefromtexture
...
# Conflicts:
# source/build/src/defs.cpp
2019-09-21 10:20:43 +02:00
nukeykt
14401ca694
Fix TROR NULL texture
2019-09-21 10:11:03 +02:00
nukeykt
107a630883
Add TROR rendering
...
# Conflicts:
# source/blood/src/mapedit.cpp
# source/build/include/editor.h
# source/build/include/polymer.h
# source/build/src/build.cpp
# source/build/src/polymer.cpp
2019-09-21 10:11:02 +02:00
nukeykt
1fe344d273
Free cstat bit 14
...
# Conflicts:
# source/blood/src/mapedit.cpp
# source/build/src/build.cpp
# source/build/src/engine.cpp
# source/duke3d/src/astub.cpp
2019-09-21 10:10:15 +02:00
nukeykt
858da4351c
Semi-working map save
2019-09-21 10:08:04 +02:00
nukeykt
140174d1ee
Minor tweaks
...
# Conflicts:
# source/blood/src/m32common.cpp
# source/blood/src/mapedit.cpp
2019-09-21 10:08:04 +02:00
nukeykt
2867131c86
Add ability to load blood maps
...
# Conflicts:
# platform/Windows/nmapedit.vcxproj
# platform/Windows/nmapedit.vcxproj.filters
# source/blood/src/mapedit.cpp
# source/build/src/build.cpp
# source/build/src/engine.cpp
2019-09-21 10:06:57 +02:00
nukeykt
8fd6e0e183
TROR related tweaks
...
# Conflicts:
# source/blood/src/mirrors.cpp
2019-09-21 09:59:58 +02:00
nukeykt
388bf2665f
Enable TROR code and rotated wall cstat bit for blood
2019-09-21 09:59:16 +02:00
terminx
ce1a479ace
Fix bugged height check in cliptestsector()
...
git-svn-id: https://svn.eduke32.com/eduke32@8118 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:25:39 +02:00
terminx
3e4f2de79a
Add yax_getzsofslope(), based on getzsofslope_player()
...
git-svn-id: https://svn.eduke32.com/eduke32@8109 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:23:17 +02:00
terminx
062207b2e9
Fix polymost_dorotatesprite() clipping
...
git-svn-id: https://svn.eduke32.com/eduke32@8108 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:23:17 +02:00
hendricks266
47fc547532
Avoid a truncation warning in compat.h
...
git-svn-id: https://svn.eduke32.com/eduke32@8095 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:20:23 +02:00
hendricks266
1bd690c8c2
Fix warning in clip.cpp
...
git-svn-id: https://svn.eduke32.com/eduke32@8092 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:20:09 +02:00
hendricks266
475743424f
Make sjson its own object
...
git-svn-id: https://svn.eduke32.com/eduke32@8091 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:19:58 +02:00
terminx
5708b36d26
Fix qradarang calculation
...
git-svn-id: https://svn.eduke32.com/eduke32@8088 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:18:47 +02:00
terminx
d0a3b86c77
Fix relative aligned floor/ceiling texture wiggling
...
Patch from Nuke.YKT.
git-svn-id: https://svn.eduke32.com/eduke32@8087 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:18:00 +02:00
terminx
aa8ce8d42a
Fix USE_OPENGL=0 builds
...
git-svn-id: https://svn.eduke32.com/eduke32@8082 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:17:57 +02:00
terminx
7849693aef
Bump BMAXPAGESIZE to 16384
...
x86 stuff will only ever return 4096, but 64-bit ARM supports 16K.
git-svn-id: https://svn.eduke32.com/eduke32@8077 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:17:21 +02:00
terminx
c17db80734
Fix npot sky rendering in Polymost
...
Patch from Nuke.YKT.
git-svn-id: https://svn.eduke32.com/eduke32@8076 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymost.cpp
2019-09-20 23:16:01 +02:00
Christoph Oelckers
d0a49c3278
- moved 4 more.
2019-09-20 23:12:07 +02:00
Christoph Oelckers
b34c48962a
- removed some unused files.
2019-09-20 22:55:44 +02:00
Christoph Oelckers
3b8b2b1fe0
- it compiles again.
2019-09-20 22:44:42 +02:00
Christoph Oelckers
be29d3a2df
- removed the remains of the polymer renderer.
...
This cannot be reused in its current form, maybe it can help later.
2019-09-20 22:37:24 +02:00
Christoph Oelckers
1b20e5d4da
- 3 more files moved out of 'build' folder.
...
# Conflicts:
# platform/Windows/build.vcxproj
2019-09-20 22:34:34 +02:00
Christoph Oelckers
977614dea8
- two more headers to move to Thirdparty.
2019-09-20 22:33:47 +02:00
Christoph Oelckers
c9111a6c7a
- one more.
...
# Conflicts:
# platform/Windows/build.vcxproj.filters
2019-09-20 22:33:35 +02:00
Christoph Oelckers
0c6af775ad
- got rid of editor.h.
...
# Conflicts:
# source/build/include/editor.h
# source/build/src/2d.cpp
# source/build/src/softwarerenderer/engine_swr.cpp
2019-09-20 22:24:53 +02:00
Christoph Oelckers
46b4b6ffd4
- removed all editor related code from 2D.cpp.
...
# Conflicts:
# source/build/include/build.h
# source/build/src/2d.cpp
# source/build/src/softwarerenderer/engine_swr.cpp
2019-09-20 22:24:03 +02:00
Christoph Oelckers
a3b6485b5e
- removed some more inline assembly.
2019-09-20 22:21:43 +02:00
Christoph Oelckers
ce260526cb
- moved fix16 to thirdparty as well and removed the now unused assembly files.
...
# Conflicts:
# platform/Windows/build.vcxproj
2019-09-20 22:21:31 +02:00
Christoph Oelckers
f3d01e8244
- moved compression utilities to a 'thirdparty' folder to get them out of the way.
...
# Conflicts:
# platform/Windows/build.vcxproj
# platform/Windows/props/build_common.props
2019-09-20 22:20:53 +02:00
Christoph Oelckers
ba73268470
- removed GLES support and most related files.
...
My future plans do not include mobile support due tp poor support of modern APIs so this is essentially just baggage.
# Conflicts:
# source/build/src/2d.cpp
# source/build/src/dxtfilter.cpp
# source/build/src/mdsprite.cpp
# source/build/src/polymost.cpp
# source/build/src/sdlayer.cpp
# source/build/src/texcache.cpp
2019-09-20 22:16:21 +02:00
Christoph Oelckers
19bcfecc67
- get rid of the non-inlined assembly as well.
2019-09-20 22:11:01 +02:00
Christoph Oelckers
6299d2fe86
- removed all inline assembly crap.
...
Since no division function was handled here this is totally pointless on modern systems and will even on 32 bit cause performance degradation due to lack of optimizability.
The rest of that code in pragmas.h and pragmas.cpp should probably also be put under review. Much of it made sense 20 years ago but not anymore.
2019-09-20 22:10:35 +02:00
Christoph Oelckers
b389c99bf5
- removed some SDL 1 parts.
2019-09-20 22:09:56 +02:00
Christoph Oelckers
afe5128c70
- Blood fixes for changes in timer and mouse input interface-
2019-09-20 22:08:06 +02:00
Christoph Oelckers
5503ee98a0
- fixed bad merge
2019-09-20 22:06:15 +02:00
terminx
c8d42af954
Flat parallax skies in Polymost
...
Patch from Nuke.YKT.
git-svn-id: https://svn.eduke32.com/eduke32@8074 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymost.cpp
# source/build/src/voxmodel.cpp
2019-09-20 21:15:14 +02:00
terminx
4b6123f303
Change a couple of memcpys to just clear the whole size of the array instead of computing the size at runtime
...
git-svn-id: https://svn.eduke32.com/eduke32@8073 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 21:10:43 +02:00
terminx
c835219de0
Align cache1d memory blocks to system page size
...
git-svn-id: https://svn.eduke32.com/eduke32@8072 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 21:10:43 +02:00
terminx
4d20afa9ed
Use integer math for Polymost rotatesprite
...
Patch from Nuke.YKT.
git-svn-id: https://svn.eduke32.com/eduke32@8069 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 21:10:41 +02:00
terminx
de170848af
Move r_borderless and r_displayindex definitions out of polymost.cpp and into baselayer
...
git-svn-id: https://svn.eduke32.com/eduke32@8065 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymost.cpp
2019-09-20 21:10:39 +02:00
pogokeen
b13c0f1b43
clockticks.hpp: Fix issue where higher precision comparisons would cause unexpected behaviour with game loop code due to ototalclock being incremented rather than set to totalclock (causing a lack of subtick precision and potential doubled up/dropped game updates).
...
Provide compareHighPrecision() for any code that needs higher precision comparisons.
git-svn-id: https://svn.eduke32.com/eduke32@8064 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 21:10:23 +02:00
terminx
d0223fd744
Support fullscreening to the correct display in multiple monitor configurations
...
git-svn-id: https://svn.eduke32.com/eduke32@8063 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/include/baselayer.h
# source/build/src/polymost.cpp
2019-09-20 21:10:22 +02:00
terminx
f0ea646560
Fix SDL borderless windowed mode for real this time
...
Introduces r_borderless cvar. 0: never borderless, 1: always borderless, 2: borderless if resolution matches desktop resolution (default).
git-svn-id: https://svn.eduke32.com/eduke32@8060 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/include/baselayer.h
# source/build/src/baselayer.cpp
# source/build/src/polymost.cpp
2019-09-20 21:09:56 +02:00
terminx
cef3c33e5f
clockticks header fix
...
git-svn-id: https://svn.eduke32.com/eduke32@8056 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 21:09:17 +02:00
pogokeen
222e593437
Change some clocks to support sub-tick precision using a new class, ClockTicks.
...
Using that higher precision, interpolate at a higher granularity.
Further, truncate the target interpolation time to vertical blank boundaries to avoid producing temporal artifacts.
Fix issues caused by interpolation calculations being handled differently in multiple places (and fix cases where smoothratios were being thrown away only to be redone without checking all proper conditions).
Ensure ClockTicks changes do not break other targets (EKenBuild, VoidSW), but note any interpolation there is not similarly updated.
git-svn-id: https://svn.eduke32.com/eduke32@8050 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
# source/build/src/sdlayer.cpp
2019-09-20 21:09:14 +02:00
terminx
ec7fce9ff2
Ultra minor clipping stuff
...
git-svn-id: https://svn.eduke32.com/eduke32@8048 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:19:11 +02:00
terminx
8a01335c26
Don't consider CLIPCURBHEIGHT for ceiling clipping
...
git-svn-id: https://svn.eduke32.com/eduke32@8047 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:19:10 +02:00
terminx
1f5866295c
This should be MAXSECTORS
...
git-svn-id: https://svn.eduke32.com/eduke32@8046 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:19:10 +02:00
terminx
6acf3a958e
Remove EDUKE32_PREDICT_ macro usage in clip.cpp so the game doesn't stall if a weird clipping malfunction occurs
...
git-svn-id: https://svn.eduke32.com/eduke32@8045 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:19:09 +02:00
hendricks266
3b419e9d04
Fix mouse buttons 4 and 5 on Linux with SDL2, at least for 2.0.9 and up
...
git-svn-id: https://svn.eduke32.com/eduke32@8043 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:19:08 +02:00
terminx
cbec65be68
Reduce stencil buffer size
...
Revert if it causes issues in anything.
git-svn-id: https://svn.eduke32.com/eduke32@8035 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:15:54 +02:00
terminx
78004b17de
Ignore cstat 32768 sprites in map view
...
git-svn-id: https://svn.eduke32.com/eduke32@8034 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:15:53 +02:00
terminx
12cb46d94e
Fix borderless windowed fullscreen mode
...
git-svn-id: https://svn.eduke32.com/eduke32@8020 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:14:07 +02:00
pogokeen
fd41554ad7
timer.cpp: fix order of operations issue with timerUpdate()
...
git-svn-id: https://svn.eduke32.com/eduke32@8018 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:12:22 +02:00
pogokeen
0855428a0c
timer.cpp: avoid using floating point arithmetic in timerUpdate()
...
git-svn-id: https://svn.eduke32.com/eduke32@8011 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:12:18 +02:00
Christoph Oelckers
20f5972b9b
- fixed everything to compile again.
2019-09-20 19:37:29 +02:00
pogokeen
021e1358c7
timer.cpp: improve cross-platform & cross-compiler issues relating to precision & period.
...
Handle timerlastsample such that we don't throw away time & run slow in certain cases.
Ensure when calculating n, we do the double division first before multiplying for sake of floating point precision.
git-svn-id: https://svn.eduke32.com/eduke32@8009 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:12:31 +02:00
hendricks266
108a71cadb
Update md3_vox_calcmat_common to solve a sporadic voxel flickering issue
...
Patch by Nuke.YKT.
git-svn-id: https://svn.eduke32.com/eduke32@8007 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:12:27 +02:00
terminx
7ea2e4de54
Revert "This should be enough for SDL controller hotplug support but I haven't tested it"
...
git-svn-id: https://svn.eduke32.com/eduke32@8005 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:12:23 +02:00
terminx
7ec6a6beca
This should be enough for SDL controller hotplug support but I haven't tested it
...
git-svn-id: https://svn.eduke32.com/eduke32@8003 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:12:19 +02:00
terminx
c72a69ff6f
This timing stuff actually works
...
It doesn't help when it turns out the compiler is broken and implementing std::chrono::high_resolution_clock as something that only counts in ms instead of properly aliasing it to std::chrono::steady_clock!
git-svn-id: https://svn.eduke32.com/eduke32@8002 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/sdlayer.cpp
2019-09-20 16:12:16 +02:00
hendricks266
25bdd9f6d5
Apply the BUILDART patch at long last.
...
git-svn-id: https://svn.eduke32.com/eduke32@8000 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:11:07 +02:00
hendricks266
1bbd251bff
Rescan for controllers when toggling gamepads back on
...
git-svn-id: https://svn.eduke32.com/eduke32@7985 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:37 +02:00
terminx
04811f21f4
Replace separate timer implementations in SDL and Winlayer with a shared implementation based on std::chrono
...
git-svn-id: https://svn.eduke32.com/eduke32@7976 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# platform/Windows/build.vcxproj
# platform/Windows/build.vcxproj.filters
# source/build/src/mdsprite.cpp
2019-09-20 16:09:24 +02:00
terminx
55e3188afb
There's no way this is correct.
...
git-svn-id: https://svn.eduke32.com/eduke32@7975 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/sdlayer.cpp
2019-09-20 16:08:12 +02:00
terminx
f76ca0a361
Fix remaining casts to vec2_t/vec3_t
...
git-svn-id: https://svn.eduke32.com/eduke32@7973 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
2019-09-20 16:07:36 +02:00
hendricks266
b4362aa6a9
Implement controller defaults
...
git-svn-id: https://svn.eduke32.com/eduke32@7968 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:07:14 +02:00
hendricks266
3bfed33608
Add voxels option to menu, if at least one has been defined
...
git-svn-id: https://svn.eduke32.com/eduke32@7961 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/engine.cpp
2019-09-20 16:04:57 +02:00
hendricks266
284af9f5d9
Fix RENDERTYPE=WIN build
...
git-svn-id: https://svn.eduke32.com/eduke32@7960 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:04:43 +02:00
hendricks266
01fa02e1c0
Make use of SDL2's Game Controller API.
...
Thanks to JonoF for his take on this.
git-svn-id: https://svn.eduke32.com/eduke32@7958 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:49 +02:00
hendricks266
56998c4840
Report 16-bit analog axis precision to the game instead of arbitrarily truncating it to ~14.3 bits.
...
git-svn-id: https://svn.eduke32.com/eduke32@7956 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:45 +02:00
terminx
2ef83e4a71
This can overflow
...
git-svn-id: https://svn.eduke32.com/eduke32@7949 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:31 +02:00
hendricks266
e7723efcf4
Fix skipping to the end of def blocks
...
git-svn-id: https://svn.eduke32.com/eduke32@7938 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:06 +02:00
terminx
41ff733fcd
Happier try_facespr_intersect()
...
I'm prejudiced against 30-line functions with statements nested 5 levels deep.
git-svn-id: https://svn.eduke32.com/eduke32@7933 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:02:56 +02:00
hendricks266
67b7d2408b
newgamechoices
...
git-svn-id: https://svn.eduke32.com/eduke32@7930 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/defs.cpp
2019-09-20 16:02:49 +02:00
pogokeen
284adb6ac6
Fix issue with indexed colour textures where in the case that tiles entered the texcache while !waloff[picnum] & were later (re)loaded, the earlier pth pointing to the tilesheet containing the blank tile would never be properly replaced with an updated gl texture.
...
git-svn-id: https://svn.eduke32.com/eduke32@7929 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymost.cpp
2019-09-20 16:01:54 +02:00
hendricks266
ea79d74953
Revert r7908 because it introduces a race on dabuf
...
git-svn-id: https://svn.eduke32.com/eduke32@7928 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:01:27 +02:00
terminx
0d431a390f
Reverse the order video modes are sorted in
...
git-svn-id: https://svn.eduke32.com/eduke32@7922 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:01:14 +02:00
terminx
32cd1ae4dd
Tweak the fatal engine initialization error and game already running dialog boxes a bit
...
git-svn-id: https://svn.eduke32.com/eduke32@7921 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
2019-09-20 16:01:11 +02:00
terminx
b8f668aa9b
Polymost projection changes to correct the perspective in widescreen and ultrawide resolutions.
...
Patch from Nuke.YKT and Fox.
git-svn-id: https://svn.eduke32.com/eduke32@7916 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/include/polymost.h
# source/build/src/polymost.cpp
2019-09-20 15:48:55 +02:00
terminx
40e54fdbbb
Tweak how the semaphore used to detect multiple running copies of the game is utilized
...
git-svn-id: https://svn.eduke32.com/eduke32@7912 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:46:43 +02:00
terminx
c1aff49e4c
Improve usage of initprintf mutex
...
git-svn-id: https://svn.eduke32.com/eduke32@7908 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:46:35 +02:00
terminx
064516c050
Re-implement our mutex_lock() family of functions using SDL's atomic spinlocks
...
git-svn-id: https://svn.eduke32.com/eduke32@7907 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:46:32 +02:00
terminx
9021b885d6
Eliminate pos_as_vec2 from anything that had it
...
git-svn-id: https://svn.eduke32.com/eduke32@7905 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
# source/build/src/polymost.cpp
2019-09-20 15:46:28 +02:00
terminx
81882aa1a3
Fix issue clipping against sloped ceilings
...
git-svn-id: https://svn.eduke32.com/eduke32@7903 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:44:21 +02:00
pogokeen
4d22a44a5d
tiles.cpp: backup & restore picsiz, walock, & waloff alongside other per tile arrays in artClearMapArt() and artSetupMapArt()
...
This fixes an issue with viewscreens as tiles that are setup game-side after a map is loaded could have their sizes reset to 0 while not being properly cleared from walock/waloff
git-svn-id: https://svn.eduke32.com/eduke32@7892 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:43:58 +02:00
pogokeen
5fad944ed1
engine.cpp: make renderSetTarget() more robust so that passing an xsiz or ysiz <= 0 is not accepted and can't cause a segmentation fault
...
git-svn-id: https://svn.eduke32.com/eduke32@7890 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:43:55 +02:00
pogokeen
a844fd4b13
polymost.cpp: Fix issue where tiles whose dimensions had grown would not have their sizes updated in GL and could fail to update their texture data
...
git-svn-id: https://svn.eduke32.com/eduke32@7888 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymost.cpp
2019-09-20 15:42:29 +02:00
terminx
6931d448ff
Oops
...
git-svn-id: https://svn.eduke32.com/eduke32@7884 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:34:30 +02:00
terminx
7553bb043f
Skip drawing invalid polygons in polymost_drawpoly()
...
git-svn-id: https://svn.eduke32.com/eduke32@7880 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:34:18 +02:00
terminx
95598e08f9
getwalldist() tweak
...
git-svn-id: https://svn.eduke32.com/eduke32@7878 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:34:14 +02:00
terminx
9f9a158946
Replace runtime pow2 calculations with pow2char LUT usage
...
I don't know that this is any faster, but there's something to be said for standardization and consistency. I will be making most of this stuff use bitmap_set/test/clear() soon.
git-svn-id: https://svn.eduke32.com/eduke32@7876 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
# source/build/src/polymost.cpp
2019-09-20 15:34:08 +02:00
terminx
2a3c80f95d
Fix issue with sounds being expired from cache
...
git-svn-id: https://svn.eduke32.com/eduke32@7874 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:33:05 +02:00
terminx
1a0c56f0f1
This adds back in the engine's old automapping feature
...
This was removed a long time ago because Duke3D and Shadow Warrior don't use it.
git-svn-id: https://svn.eduke32.com/eduke32@7873 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymer.cpp
# source/build/src/polymost.cpp
2019-09-20 15:32:13 +02:00
terminx
1a83ec15e4
Fix silly branching logic in engineLoadBoard()
...
git-svn-id: https://svn.eduke32.com/eduke32@7871 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:38 +02:00
terminx
c7e403619b
Don't blow away wall cstat bit 14 for use as a temp flag in the editor
...
Patch from Nuke.YKT.
git-svn-id: https://svn.eduke32.com/eduke32@7870 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
2019-09-20 15:29:35 +02:00
terminx
a949665f26
Work around an issue with far plane clipping with voxels without mipmaps in software mode
...
Patch from Nuke.YKT.
git-svn-id: https://svn.eduke32.com/eduke32@7869 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:20 +02:00
terminx
9335b339b0
Emulate slope overflow in Polymost in order to match the rest of the engine's slope algorithms
...
Patch from Nuke.YKT.
git-svn-id: https://svn.eduke32.com/eduke32@7868 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:19 +02:00
terminx
0f4ccaf970
Hopefully work around more Polymost polygon leakages
...
Patch from Nuke.YKT.
git-svn-id: https://svn.eduke32.com/eduke32@7867 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:17 +02:00
terminx
acc0b527a9
Cache the distrecip[] table
...
Patch from Nuke.YKT.
git-svn-id: https://svn.eduke32.com/eduke32@7866 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:15 +02:00
terminx
0091acc858
"Another dumb polymost optimization. Probably worth few fps in heavy scenes"
...
Patch from Nuke.YKT
git-svn-id: https://svn.eduke32.com/eduke32@7865 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:12 +02:00
terminx
0652b5b6d6
Make ksgn() return int instead of int32_t
...
git-svn-id: https://svn.eduke32.com/eduke32@7864 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:09 +02:00
terminx
26272f6755
if 0 out our klabs() function and just define it as abs()
...
The compiler generates much better code for this now.
git-svn-id: https://svn.eduke32.com/eduke32@7863 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:06 +02:00
terminx
752cf77887
Untabify a couple of headers
...
git-svn-id: https://svn.eduke32.com/eduke32@7862 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:05 +02:00
terminx
f84e161e52
Wahhh, I'm MSVC and I cry about applying unary negation to a boolean
...
git-svn-id: https://svn.eduke32.com/eduke32@7859 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:28:59 +02:00
terminx
751b734795
Fix issue rendering TROR when the camera's z coordinate is right on the portal
...
git-svn-id: https://svn.eduke32.com/eduke32@7858 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:28:57 +02:00
terminx
6e4951bdb6
Another clipping fix
...
git-svn-id: https://svn.eduke32.com/eduke32@7857 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:28:53 +02:00
pogokeen
a0231cf90c
polymost_scansector(): avoid using a culling method not designed for voxels when handling 1-sided wall aligned sprites that have voxel replacements
...
git-svn-id: https://svn.eduke32.com/eduke32@7854 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:28:45 +02:00
pogokeen
83e863422a
Fix mixing offscreenrendering (render targets) and mirrors. Don't allow recursing beyond 1 level of mirroring through multiple levels of render targets.
...
git-svn-id: https://svn.eduke32.com/eduke32@7853 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:28:42 +02:00
pogokeen
5377b128a9
Fix rendering skyboxes to a tile by altering renderSetTarget() & renderRestoreTarget() to set & reset xdim & ydim so that G_ShowView() can render while a render target is set,
...
and additionally modifying G_SetupCamTile() to call EVENT_DISPLAYROOMSCAMERATILE after calling renderSetTarget()
git-svn-id: https://svn.eduke32.com/eduke32@7852 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:28:41 +02:00
terminx
e0e517aaed
Revise r7838 again
...
git-svn-id: https://svn.eduke32.com/eduke32@7847 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:26:22 +02:00
terminx
f3e4dd4463
Patch from Nuke.YKT to work around precision-based inaccuracy problems in Polymost TROR
...
git-svn-id: https://svn.eduke32.com/eduke32@7846 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:25:31 +02:00
terminx
1d14991acc
Add MERGE_NODES macro for Polymost... this will be used in the following commit
...
git-svn-id: https://svn.eduke32.com/eduke32@7845 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:25:28 +02:00
terminx
ee92304087
Patch from Nuke.YKT to clip bunches to screen boundaries in Polymost
...
git-svn-id: https://svn.eduke32.com/eduke32@7844 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:25:24 +02:00
terminx
47fa1eccd4
Patch from Nuke.YKT to fix sloped floor and ceiling textures wiggling around in Polymost
...
git-svn-id: https://svn.eduke32.com/eduke32@7843 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymost.cpp
2019-09-20 15:24:54 +02:00
terminx
a3b6d0e70b
Revise r7838: one less dumbass typo
...
git-svn-id: https://svn.eduke32.com/eduke32@7842 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:57 +02:00
terminx
28c778c8a3
Automatic source file dependency generation for GNUmakefile
...
This automatically saves the dependencies used for a given object file during the first compilation, then uses the generated data for each subsequent compile to determine if the object needs to be rebuilt. Why? Because if I see one more warning about the C++ One Definition Rule, I'm going to fucking snap.
git-svn-id: https://svn.eduke32.com/eduke32@7839 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:50 +02:00
terminx
565383e1d2
Revise r7835: instead of not testing wall sprites, we'll just ignore the side blockers
...
git-svn-id: https://svn.eduke32.com/eduke32@7838 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:47 +02:00
terminx
4beaeb5426
Don't check clip objects for sprites in the keepaway() loop in clipmove()
...
This prevents some hilarious issues with deadly wall decorations. The "side blocker" clip lines that already exist for these sprites should already prevent the kinds of clipping issues this loop is intended to address, anyway.
git-svn-id: https://svn.eduke32.com/eduke32@7835 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:40 +02:00
terminx
dad28df269
OK, this is just a bit too restrictive
...
git-svn-id: https://svn.eduke32.com/eduke32@7834 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:38 +02:00
terminx
dc7ec3b2fe
Fix additional clipmove() issue
...
git-svn-id: https://svn.eduke32.com/eduke32@7832 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:33 +02:00
terminx
1da1331299
Clean up raytrace() and rename it to cliptrace()
...
git-svn-id: https://svn.eduke32.com/eduke32@7831 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:31 +02:00
terminx
490b7249a2
Allow reading vec3_whatever_t as vec2 directly
...
It's a union in a struct in a union in a struct. Oh god, what have I done.
git-svn-id: https://svn.eduke32.com/eduke32@7830 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:28 +02:00
terminx
52db0e37f7
Additional clipmove() reworks
...
This fixes a LOT of clipping errors but needs thorough testing.
git-svn-id: https://svn.eduke32.com/eduke32@7829 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:25 +02:00
terminx
17d3c302a3
Switch a few iterators in clipmove() from int to native_t
...
git-svn-id: https://svn.eduke32.com/eduke32@7828 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:23 +02:00
terminx
417318c271
clipmove() patch from Nuke.YKT:
...
"In some edge cases posx/y might be 'inside' of neighbor sector. I've added double check for this case"
git-svn-id: https://svn.eduke32.com/eduke32@7827 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:20 +02:00
terminx
df28860bad
Add divscale64()
...
git-svn-id: https://svn.eduke32.com/eduke32@7826 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:18 +02:00
terminx
dc0130625a
Minor pushmove() cleanup
...
git-svn-id: https://svn.eduke32.com/eduke32@7825 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:15 +02:00
terminx
ed457895f1
Replace check_floor_curb() with cliptestsector()
...
git-svn-id: https://svn.eduke32.com/eduke32@7824 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:12 +02:00
terminx
0fb77f8af3
Use corrected slope heights in getzrange() and pushmove()
...
git-svn-id: https://svn.eduke32.com/eduke32@7823 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:10 +02:00
terminx
2482cddbb5
Add getcorrectzsofslope()
...
git-svn-id: https://svn.eduke32.com/eduke32@7822 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:08 +02:00
terminx
e6b700cf9b
Promote divisor argument to tabledivide64 to int64_t and replace a couple of 64-bit divides in rintersect() and inflineintersect()
...
git-svn-id: https://svn.eduke32.com/eduke32@7820 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
2019-09-20 15:23:03 +02:00
hendricks266
e49e8f4cd6
Fix warnings in sjson
...
git-svn-id: https://svn.eduke32.com/eduke32@7813 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:17:45 +02:00
hendricks266
0cd74a6782
Add sjson to project
...
git-svn-id: https://svn.eduke32.com/eduke32@7812 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:17:43 +02:00
terminx
165b320f64
Amend r7805
...
'Murica.
git-svn-id: https://svn.eduke32.com/eduke32@7811 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:17:40 +02:00
terminx
67dc0cb5f8
Fix mirrors in Polymer
...
git-svn-id: https://svn.eduke32.com/eduke32@7809 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:17:34 +02:00
terminx
43f263fc65
Try walldist + 8 instead of walldist << 1 in clipupdatesector()
...
git-svn-id: https://svn.eduke32.com/eduke32@7807 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:17:28 +02:00
terminx
97390c1ff4
Fix another bunch of improperly sized bitmap arrays
...
git-svn-id: https://svn.eduke32.com/eduke32@7806 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
2019-09-20 15:17:25 +02:00
pogokeen
3d63d1b720
Add updatesectorneighbour() and updatesectorneighbourz() and make them accessible to CON to allow searching for nearby neighbouring sectors from a known sector.
...
These updatesector counterparts are more performant for tasks that require determining whether nearby sectors exist at a point as they will not exhaustively search the map.
This also leads to more correct behaviour when sectors are disjoint, as queries will breadth-first search neighbouring sectors rather than risk accidentally stumbling first across accomodating disjoint sectors.
git-svn-id: https://svn.eduke32.com/eduke32@7805 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/include/build.h
2019-09-20 15:16:47 +02:00
hendricks266
d1b43acc06
Use std::numeric_limits instead of float.h
...
git-svn-id: https://svn.eduke32.com/eduke32@7799 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:14:23 +02:00
hendricks266
48b2cfef59
Fix compilation of linklist.h in C++11 mode with clang
...
git-svn-id: https://svn.eduke32.com/eduke32@7796 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:11:03 +02:00
pogokeen
12ce6a78fe
Fix parallel build by switching to generating .obj files from .glsl files and treat the shader source as an externed global resolved at link time.
...
Additionally, remove the no longer necessary shader generated headers folder from .gitignore
git-svn-id: https://svn.eduke32.com/eduke32@7793 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# .gitignore
# source/build/src/polymost.cpp
2019-09-20 15:10:56 +02:00
terminx
9fde5434f8
Fix translucent masked wall sorting issue in Polymost
...
git-svn-id: https://svn.eduke32.com/eduke32@7792 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:10:23 +02:00
terminx
fe4245dfc3
Voxel fix
...
git-svn-id: https://svn.eduke32.com/eduke32@7791 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:10:21 +02:00
terminx
f46db45970
Voxel fixes from Nuke
...
git-svn-id: https://svn.eduke32.com/eduke32@7788 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:10:14 +02:00
hendricks266
4e04e4a096
Fix issue with shader compilation
...
git-svn-id: https://svn.eduke32.com/eduke32@7787 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:10:12 +02:00
hendricks266
616b0c2347
Fix sequential GNUmakefile build
...
git-svn-id: https://svn.eduke32.com/eduke32@7786 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:10:09 +02:00
pogokeen
1664310159
Support clamping in polymost1Frag.glsl and use it for sprites
...
git-svn-id: https://svn.eduke32.com/eduke32@7783 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/include/polymost.h
# source/build/src/polymost1Frag.glsl
# source/build/src/voxmodel.cpp
2019-09-20 15:10:02 +02:00
Christoph Oelckers
a55e19ed83
- fixed the shader.
2019-09-20 15:02:49 +02:00
pogokeen
f6993940e5
Separate out polymost1Frag and polymost1Vert shaders from polymost.cpp and add rules for building in the GNUmakefile.
...
Additionally, git ignore the shader's generated headers folder.
git-svn-id: https://svn.eduke32.com/eduke32@7782 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# .gitignore
# source/build/src/polymost.cpp
2019-09-20 14:57:42 +02:00
pogokeen
fe36034e43
polymost.cpp: Adjust shaders to use texture2DGradARB() if available
...
git-svn-id: https://svn.eduke32.com/eduke32@7781 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:53:22 +02:00
terminx
a075a89304
Voxel fixes from Nuke.YKT
...
git-svn-id: https://svn.eduke32.com/eduke32@7778 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:39:40 +02:00
terminx
2882609822
Don't attempt to animate sprites drawn as voxels by picnum
...
git-svn-id: https://svn.eduke32.com/eduke32@7777 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:39:10 +02:00
terminx
c96ec9d440
This is just syntax and formatting
...
No functional changes.
git-svn-id: https://svn.eduke32.com/eduke32@7776 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:39:09 +02:00
terminx
dc9c7bc7b0
Make shadows on voxels in Polymost look like they do in classic
...
git-svn-id: https://svn.eduke32.com/eduke32@7770 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:47 +02:00
terminx
7e7f19b5fd
Add tilehasmodelorvoxel() function and fix instances where voxels for multi-sided sprites would get flipped based on the viewing angle
...
git-svn-id: https://svn.eduke32.com/eduke32@7767 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:40 +02:00
terminx
940df04eb6
Make cache1d try a little harder to find a suitable block before bailing with "CACHE SPACE ALL LOCKED UP!"
...
git-svn-id: https://svn.eduke32.com/eduke32@7764 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:34 +02:00
terminx
53000d1f31
Make cacheAgeEntries() do a more consistent amount of work per frame
...
git-svn-id: https://svn.eduke32.com/eduke32@7763 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:32 +02:00
terminx
6f54235b7a
Fix edge case in clipupdatesector()
...
git-svn-id: https://svn.eduke32.com/eduke32@7760 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:26 +02:00
terminx
82c37b78cc
Prevent uninitialized access to hitwalls[] in clipmove()
...
git-svn-id: https://svn.eduke32.com/eduke32@7759 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:24 +02:00
terminx
38fe40abf2
Bump MAXCACHEOBJECTS from 9216 to 16384
...
This is actually the first time we've increased this limit in the entire time the engine source has been available.
git-svn-id: https://svn.eduke32.com/eduke32@7757 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:19 +02:00
terminx
24b994d952
One of those stupid optimizations you notice the potential for when scrolling through code looking for something
...
git-svn-id: https://svn.eduke32.com/eduke32@7756 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:17 +02:00
terminx
7a6293ff42
Floating point grouscan() patch from Nuke.YKT, worth a couple of fps in classic mode in slope-heavy scenes
...
git-svn-id: https://svn.eduke32.com/eduke32@7755 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:08 +02:00
pogokeen
c9014870e3
Improve depth fighting by pushing out the near plane and improve near plane clipping by depth clamping.
...
Suggest reducing SCISDIST when there's time to debug SCISDIST issues.
git-svn-id: https://svn.eduke32.com/eduke32@7754 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:06 +02:00
Christoph Oelckers
8de0fd35a1
- fixed compilation
2019-09-20 14:32:28 +02:00
pogokeen
2e75437262
If GL_ARB_clip_control & GL_ARB_depth_clamp are available, reflect that in glinfo
...
git-svn-id: https://svn.eduke32.com/eduke32@7753 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:18:33 +02:00
terminx
f51b2a2cb3
Gump redux
...
git-svn-id: https://svn.eduke32.com/eduke32@7747 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:16:06 +02:00
terminx
3269875e7b
Fix builds on platforms other than win32--oops
...
git-svn-id: https://svn.eduke32.com/eduke32@7746 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/include/compat.h
2019-09-20 14:16:03 +02:00
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