Commit graph

5 commits

Author SHA1 Message Date
Randy Heit
111853e623 - Added a framework for drawing the 2D screen elements with Direct3D textures.
They are not actually drawn with it yet, nor is it complete, but it's
  something to start with.
- Split up DCanvas::DrawTexture() into more pieces to make it easier to
  virtualize.
- Removed support for non-32-bit palette textures from D3DFB. What kind of
  card supports pixel shaders but not 32-bit textures?


SVN r605 (trunk)
2007-12-20 04:36:43 +00:00
Randy Heit
af13d6d686 - Fixed: If you called the FString assignment operator that accepts a
const char * with a string inside its buffer, it released the buffer
  before copying the string.
- Added a new FString constructor that creates the string from a lump.
- Fixed: G_DoReborn() calls G_InitNew() with mapname set to level.mapname.
  G_InitNew() then copies it onto level.mapname, which is undefined
  behavior (although it does work as we want it to).
- Modified FMemLump to store its data using FString. That class provides
  a convenient method of storing reference counted data, so now FMemLump
  doesn't need to muck about sneakily using const_casts and possibly
  tricking its users into thinking that an old one is still valid after
  being assigned to a new one.
- Fixed: The IMGZ, PNG, PCX, and JPEG loaders assumed the files were
  large enough for their headers without actually checking.



SVN r463 (trunk)
2007-01-25 04:02:06 +00:00
Randy Heit
9b72e34223 - Added a range check for the PNG grAb chunks.
- Fixed: AddLine() could corrupt memory if the length of the text being
  added was longer than the console buffer.
- Fixed: FTexture::GetScaled(Left|Top)Offset returned the Width and Height
  instead when the scale values were 0.
- Removed the unnecessary "mov ecx,c" from mscinlines.h:Scale().


SVN r461 (trunk)
2007-01-23 01:13:17 +00:00
Christoph Oelckers
5c7eeed018 - Added support for PCX textures (1, 4, 8 and 24 bit variants.)
SVN r303 (trunk)
2006-08-21 13:09:55 +00:00
Christoph Oelckers
2536eca01d - Changed: Patch and IMGZ textures now initialize their dimensions upon creation.
The lump is open anyway at that time so deferring this action until the information
  is needed doesn't give any speed improvements. Now GetDimensions and all its
  associated overhead is gone.
- Added support for TGA textures. It can handle all of the common variations
  of this format.
- Changed: GI_PAGESARERAW is no longer checked. It wasn't really necessary before
  because the chance of texture misidentification is absolutely minimal.
  But raw pages are now restricted to textures of type TEX_MiscPatch only.
- Changed the automap parchment to use a regular texture. The previous 
  FAutomapTexture is only used as a last resort fallback now. If the code
  finds a recognizable graphic it will create a proper texture for it now.
- Fixed: Flats were only auto-scaled when in Doom flat format.
- Fixed: FMultiPatchTexture::CheckForHacks blindly assumed that all patches
  were FPstchTextures. Since the texture code does not have any type information
  I added a new flag bIsPatch for this purpose.
- Moved all texture classes into their own source files and created a new
  subdirectory 'textures' for that.
- Cleaned up the texture management code and added some stricter checks for
  the validity of Doom patches. The old code liked to crash when being passed
  some non-graphic data.

SVN r300 (trunk)
2006-08-20 12:55:46 +00:00