Project

General

Profile

« Previous | Next » 

Revision 96dc0730

Added by danij over 13 years ago

Further refactoring of the texture upload/processing pipeline in ringzero:
  • Began replacing the use of TextureVariantUsageContext identifiers, turning the context-specific logic branching into new properties of TextureVariantSpecification. The context identifiers will remain, however they'll instead be used to reference predefined default property sets (avoiding an additional lookup).
  • Added an object interface for de::ColorPalette and moved into new source files.
  • Color palettes are now considered part of the refresh subsystem (was GL) and are now allocated from the real heap.
  • Register the games' color palettes before the view border patches thus allowing them to be precached during game load.
  • Purge deferred GL tasks during a game change.
  • PCX image loader failed to reposition the file stream if the file being read was smaller than the PCX header structure.
  • Removed the allow-single-alpha-pixel kludge for DOOM2's RWDMON3; we now force all map surfaces opaque (unless a twosided linedef middle) so we don't need to kludge this.
  • Refactored away most of the in-place changes to the texture clamp state. If a temporary change is necessary the user should return the clamp state to that defined in the variantspecification, otherwise, a new variant should be derived (note that the actual GL texture objects may be shared, however this implementation detail is hidden by the texture manager).
  • Refactored away the EASY_UPLOAD, UPLOAD_ARG_ALPHACHANNEL and UPLOAD_ARG_RGBDATA Texture Content Flags.
  • Fixed: The engine failed to specify the correct GL pixel store, unpack byte alignment and consequently relied upon the default 4-byte alignment. This is fine for textures whose width is divisible by 4 however anything else would fail to upload correctly (e.g., NPOT).
  • Fixed: Detail textures larger than the maximum texture size (unlikely) would fail to load. Larger textures are now scaled down according to the texture quality preferences when necessary.
  • Fixed: Texture coordinate calculations for the fullscreen HUD icons.
  • Changed: Removed the -bigmtex command line option as it wasn't particularly useful.
  • Added: Patch-class textures used in the UI can now be loaded from a WAD lump using any supported image format (not just DOOM's Patch format). Note that this does not include composite patch textures (i.e., textures defined in DOOM's TEXTURE1/2 format) which still require component patches to use the DOOM Patch format.
  • Changed Snowberry: Removed the paletted texture option from texture settings.
  • Cleanup.

Files

  • added
  • modified
  • copied
  • renamed
  • deleted

View differences