Commit Graph

8406 Commits

Author SHA1 Message Date
Christoph Oelckers ed415c1fa0 - silenced a few warnings. 2019-10-18 17:55:22 +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 6d7458fe42 - fixed bad endif() placing in CMake projects 2019-10-17 08:44:01 +02:00
Christoph Oelckers 452cfe385e - Blood's voxel loader override has somehow gotten lost. 2019-10-16 23:57:29 +02:00
Christoph Oelckers eebb396241 - this was missed 2019-10-16 23:11:19 +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 c988165131 - added a temporary workaround for image-based tile replacements.
The texture management is not ready yet to seamlessly handle these textures so for now they always need to be installed as hightile replacements.
2019-10-16 22:02:27 +02:00
Christoph Oelckers 066a76c892 - missed this part. 2019-10-16 21:18:26 +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
nukeykt 37322d001d Do not apply zero floorpal on color sectors 2019-10-16 20:40:54 +02:00
nukeykt a94404232b Default target value to -1
# Conflicts:
#	source/blood/src/trig.cpp
2019-10-16 20:40:53 +02:00
nukeykt 97feb8d59c Fix mapedit compiling
# Conflicts:
#	source/blood/src/mapedit.cpp
2019-10-16 20:40:41 +02:00
CommonLoon102 70b5e67e6f fix cultist respawn time (#220)
# Conflicts:
#	source/blood/src/actor.cpp
2019-10-16 20:40:34 +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
Grind Core 9dd46c1c7c - Fixes for refactor (wrong kills count)
- Fixes for refactor (proximity flag for dudes)
- Fixes for refactor (wrong kills count)

# Conflicts:
#	source/blood/src/actor.cpp
2019-10-14 22:42:43 +02:00
Grind Core 16d4aebbb4 - Fixes for refactor
- Some ThrowError() calls was replaced my viewSetSystemMessage()
- New modern type playQAV (WIP)

# Conflicts:
#	source/blood/src/actor.cpp
#	source/blood/src/weapon.h
2019-10-14 22:42:43 +02:00
Grind Core 08dfee073c - Added names for callbacks
- Added names for sprite, wall and sector types
- Added gModernMap protection for using new features only on different version of map

# Conflicts:
#	source/blood/src/actor.cpp
#	source/blood/src/callback.cpp
#	source/blood/src/callback.h
#	source/blood/src/triggers.h
2019-10-14 22:42:42 +02:00
Christoph Oelckers 9a4c07db27 - make it compile again. 2019-10-14 22:42:29 +02:00
Christoph Oelckers 17a4ddd51e - adjusted bit array helpers for the change of type for gotpic from (undefined) char to (defined) uint8_t. 2019-10-13 08:55:52 +02:00
Christoph Oelckers a6ba81939a - reworked texture management, not yet active. 2019-10-12 22:49:46 +02:00
Christoph Oelckers bb67a1ba38 - some reworking of the texture code to make integration of Build tiles easier. 2019-10-12 08:54:06 +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 fdbb27a796 - added back the paletted texture readers.
... after finding out what an inefficient and poorly working method the Build backend uses for downconverting true color textures.
2019-10-11 19:21:36 +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 179076c4b1 - set up the texture matrix. 2019-10-10 19:46:46 +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