Well i got shown this on another site but it wasnt working correctly
(if your card couldnt support AA the client would jus crash)
UPDATE (01/02/2012) : The Code Below has been Improved, Thanks to nabby59 and ShadowDragon42 for the research/coding help with this!
SO i decided to release a code i did which so far, seems to be working fine.
For those who dont know, Anti-aliasing, in a nutshell takes all those "Jagged" looking edges on models, and smooths them out some, giving a cleaner look ingame, obviously the higher the multiplied sampler, the better the quality.
What the code itself does, is checks to see if your graphics card is compatible with the anti aliasing and checks what multisample level you can use on your graphics hardware for Flyff, and sets it to that.
To add this....
in d3dapp.cpp find:
under the SECOND #else after this replace:Code:#ifdef __XUZHU #if 0 // Create the device hr = m_pD3D->CreateDevice( m_pD3D->GetAdapterCount()-1, D3DDEVTYPE_REF, m_hWndFocus, behaviorFlags, &m_d3dpp, &m_pd3dDevice );
Code:hr = m_pD3D->CreateDevice( m_d3dSettings.AdapterOrdinal(), pDeviceInfo->DevType, m_hWndFocus, behaviorFlags, &m_d3dpp, &m_pd3dDevice );
with this:
Code:DWORD MSQuality = 0; D3DMULTISAMPLE_TYPE MSType = D3DMULTISAMPLE_NONE; if( SUCCEEDED( m_pD3D->CheckDeviceMultiSampleType(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, D3DFMT_A8R8G8B8, TRUE, D3DMULTISAMPLE_8_SAMPLES, &MSQuality) )) MSType = D3DMULTISAMPLE_8_SAMPLES; else if( SUCCEEDED( m_pD3D->CheckDeviceMultiSampleType(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, D3DFMT_A8R8G8B8, TRUE, D3DMULTISAMPLE_4_SAMPLES, &MSQuality) )) MSType = D3DMULTISAMPLE_4_SAMPLES; else if( SUCCEEDED( m_pD3D->CheckDeviceMultiSampleType(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, D3DFMT_A8R8G8B8, TRUE, D3DMULTISAMPLE_2_SAMPLES, &MSQuality) )) MSType = D3DMULTISAMPLE_2_SAMPLES; int MSQ = MSQuality - 1; // -------------------------------------------------------------- // ... Below Will Display a message box on Start-Up with the AntiAliasing // ... Multisample level Your Graphics card can handle . // --------------------------------------------------------------- // char msaaText[128]; // sprintf( msaaText, "Multi Sample Type = x%d", MSType ); // MessageBox( NULL, msaaText, "MSAA AMOUNT", MB_OK ); // ------------------------------------------------------------------- m_d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD; m_d3dpp.MultiSampleType = MSType; m_d3dpp.MultiSampleQuality = MSQ; m_d3dpp.BackBufferFormat = D3DFMT_X8R8G8B8; m_d3dpp.EnableAutoDepthStencil = TRUE; m_d3dpp.AutoDepthStencilFormat = D3DFMT_D16; m_d3dpp.Flags = 0; m_d3dpp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT; m_d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT; hr = m_pD3D->CreateDevice( m_d3dSettings.AdapterOrdinal(), pDeviceInfo->DevType, m_hWndFocus, behaviorFlags, &m_d3dpp, &m_pd3dDevice ); m_pd3dDevice->SetRenderState(D3DRS_MULTISAMPLEANTIALIAS, TRUE); m_pd3dDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE); m_pd3dDevice->SetRenderState(D3DRS_ALPHAFUNC, D3DCMP_GREATEREQUAL); m_pd3dDevice->SetRenderState(D3DRS_ALPHAREF, (DWORD)8); m_pd3dDevice->SetRenderState(D3DRS_ALPHATESTENABLE, TRUE);
I hope this helps.


Reply With Quote![[Source] Multi-Sample Anti-Aliasing in Flyff](http://ragezone.com/hyper728.png)




