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