* Added redink1's "soft shadow improvement" patch
* (proton) Fixed issue with blitting alpha things to the background, fixed the soft shadows for things rendered into the background * Versioned to 1.7.1, was distributed as beta git-svn-id: svn://rtsoft.com/rtsvn/projects/RTDink@1481 353e56fe-9613-0410-8469-b96ad8e6f29c
This commit is contained in:
parent
72d2a12be6
commit
e0717ae8d1
5 changed files with 69 additions and 22 deletions
|
@ -36,19 +36,21 @@ IDirectDrawSurface * LoadBitmapIntoSurface(const char *pName, eTransparencyType
|
|||
pSurf->m_mode = mode;
|
||||
pSurf->m_pSurf = new SoftSurface;
|
||||
|
||||
bool bUseCheckerboardFix = GetApp()->GetVar("checkerboard_fix")->GetUINT32() != 0;
|
||||
|
||||
if (pMem)
|
||||
{
|
||||
#ifdef _DEBUG
|
||||
//LogMsg("loading DDRAW bmp from mem");
|
||||
#endif
|
||||
//if this is set, ignore the filename
|
||||
pSurf->m_pSurf->LoadFileFromMemory(pMem, SoftSurface::eColorKeyType(trans));
|
||||
pSurf->m_pSurf->LoadFileFromMemory(pMem, SoftSurface::eColorKeyType(trans), 0, false, bUseCheckerboardFix);
|
||||
} else
|
||||
{
|
||||
#ifdef _DEBUG
|
||||
//LogMsg("loading DDRAW bmp from file");
|
||||
#endif
|
||||
pSurf->m_pSurf->LoadFile(pName, SoftSurface::eColorKeyType(trans), false);
|
||||
pSurf->m_pSurf->LoadFile(pName, SoftSurface::eColorKeyType(trans), false, bUseCheckerboardFix);
|
||||
}
|
||||
|
||||
//LogMsg("loaded bitmap");
|
||||
|
@ -96,6 +98,7 @@ IDirectDrawSurface * InitOffscreenSurface(int x, int y, IDirectDrawSurface::eMod
|
|||
{
|
||||
pdds->m_pSurf->Init(x,y, SoftSurface::SURFACE_RGBA);
|
||||
pdds->m_pSurf->SetHasPremultipliedAlpha(true);
|
||||
pdds->m_pSurf->SetUsesAlpha(true);
|
||||
} else
|
||||
{
|
||||
pdds->m_pSurf->Init(x,y, SoftSurface::SURFACE_PALETTE_8BIT);
|
||||
|
@ -335,7 +338,7 @@ int IDirectDrawSurface::BltFast( int x, int y, IDirectDrawSurface *pSrcSurf, rtR
|
|||
//we need to copy from what is already on the screen
|
||||
m_pSurf->BlitFromScreen(x, y, pSrcRect->left, pSrcRect->top, pSrcRect->GetWidth(), pSrcRect->GetHeight());
|
||||
//m_pSurf->Blit(x, y, lpDDSBackGround->m_pSurf, pSrcRect->left, pSrcRect->top, pSrcRect->GetWidth(), pSrcRect->GetHeight());
|
||||
m_pSurf->SetUsesAlpha(false);
|
||||
//m_pSurf->SetUsesAlpha(false);
|
||||
} else
|
||||
{
|
||||
m_pSurf->Blit(x, y, pSrcSurf->m_pSurf, pSrcRect->left, pSrcRect->top, pSrcRect->GetWidth(), pSrcRect->GetHeight());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue