İlan
04 Haz 2026 22 çevrimiçi üye Duyurular
Ana Sayfa C++ / C# / Python
Ana Sayfa Forum C++ / C# / Python evlerdeki .gr2lerdeki titremeleri önleme....
İlan Yan banner placeholder

evlerdeki .gr2lerdeki titremeleri önleme.

vebur 06.04.2026 22:32 634 görüntüleme 2 cevap
Son Mesaj
vebur
Üye
Üye
Katılım22 Kas 2025
Konular9
Mesajlar47
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
06.04.2026 22:32 #1


VirusTotal



Kanıt

yapay zekaya yazdırdığım için hangisi titreme önlüyor bilmiyorum.

hepsine deneme yanılma yöntemiyle bakacak zamanım yok.



benim burda yapatığım çalışam dx8 olarak limitleme olmadan metin2yi en yüksek kaliteye getirmekdi bunu yapıncada titremelerde önlendi.

1- yapacağınız işlem

Texture Tools Exporter

Standalone Application​

bunu kurup.​

şuraya geliceksiniz.​

C:\Program Files\NVIDIA Corporation\NVIDIA Texture Tools​

burda​

nvbatchcompress.bat​

bunu alttaki gibi düzenlicyeskiniz​

alttkai kodda C:\ProjectX\1.Client\pack\yw_zone\ymir work.​

gr2leriniz olduğu dizini seçiceksiniz.​

sorna batı çalıştırcaksınız bat otomatik çeviricek.​

Kod:
[/HEADING][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]@echo off[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]chcp 65001 >nul[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]setlocal enabledelayedexpansion[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]set "NVCOMPRESS=C:\Program Files\NVIDIA Corporation\NVIDIA Texture Tools\nvcompress.exe"[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]REM Klasör listesi (1'den 12'ye kadar)[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]set folders[9]=C:\ProjectX\1.Client\pack\yw_zone\ymir work[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]echo.[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]echo ============================================================[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]echo 📁 ALT KLASÖRLER DAHİL ÜZERİNE YAZMA İŞLEMİ BAŞLATILDI[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]echo ============================================================[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]if not exist "%NVCOMPRESS%" ([/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    echo ✗ HATA: nvcompress.exe bulunamadı![/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    echo Lütfen yolu kontrol edin: %NVCOMPRESS%[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    pause[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    exit /b 1[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2])[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]set total_files=0[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]set converted_files=0[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]set error_files=0[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]REM Tanımlı 12 klasörü de taramak için (1,1,12) yaptık[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]for /l %%i in (1,1,12) do ([/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    if defined folders[%%i] ([/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        echo.[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        echo 🟢 ANA DİZİN [%%i]: !folders[%%i]![/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]       [/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        if exist "!folders[%%i]!" ([/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]            pushd "!folders[%%i]!"[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]           [/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]            REM /R parametresi tüm alt klasörlere derinlemesine girer[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]            for /r %%f in (*.png *.jpg *.jpeg *.dds *.tga *.tif *.tiff *.bmp) do ([/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]                REM Geçici dosya ismini (temp_output.dds) kontrol et ki kendini tekrar işlemesin[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]                if /I not "%%~nxf"=="temp_output.dds" ([/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]                    set /a total_files+=1[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]                    call :ConvertFile "%%f"[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]                )[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]            )[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]           [/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]            popd[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        ) else ([/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]            echo ✗ DİZİN BULUNAMADI: !folders[%%i]![/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        )[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    )[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2])[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]echo.[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]echo ============================================================[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]echo 📈 İŞLEM TAMAMLANDI[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]echo ============================================================[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]echo Toplam Taranan Dosya : %total_files%[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]echo Başarıyla Dönüştürülen: %converted_files%[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]echo Hata Alınan          : %error_files%[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]echo ============================================================[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]pause[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]goto :EOF[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]:ConvertFile[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]set "full_path=%~1"[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]set "file_dir=%~dp1"[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]set "file_name=%~n1"[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]set "file_ext=%~x1"[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]echo 📄 İşleniyor: %file_name%%file_ext%[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]REM 1. Önce geçici bir dosya olarak BC3 formatında sıkıştır[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]"%NVCOMPRESS%" -bc3 -mip -kaiser "%full_path%" "%file_dir%temp_output.dds" >nul 2>&1[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]if errorlevel 1 ([/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    echo    ❌ HATA: %file_name%%file_ext% dönüştürülemedi.[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    set /a error_files+=1[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    if exist "%file_dir%temp_output.dds" del "%file_dir%temp_output.dds"[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]) else ([/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    REM 2. Orijinal dosyayı sil (İster PNG olsun ister eski bir DDS)[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    if exist "%full_path%" del /f /q "%full_path%"[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]   [/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    REM 3. Eğer hedef isimde zaten bir .dds varsa (farklı uzantıdan geliyorsa) onu da temizle[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    if exist "%file_dir%%file_name%.dds" del /f /q "%file_dir%%file_name%.dds"[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]   [/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    REM 4. Geçici dosyaya asıl ismi ver[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    ren "%file_dir%temp_output.dds" "%file_name%.dds"[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]   [/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    echo    ✅ Başarılı: %file_name%.dds[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    set /a converted_files+=1[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2])[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]exit /b[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][HEADING=2]

bu pack kısmıydı şimdi gelelim c++ olarak yüksek kalite yapma ve gpunun 15 den %40 a çıkma aşaması.​

grpdevice.cpp​

Kod:
[/HEADING][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]#include <cstring> // std::memset için eklendi[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]int CGraphicDevice::Create(HWND hWnd, int iHres, int iVres, bool Windowed, int /*iBit*/, int iReflashRate)[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]{[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    int iRet = CREATE_OK;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    Destroy();[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    ms_iWidth    = iHres;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    ms_iHeight    = iVres;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    ms_hWnd        = hWnd;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    ms_hDC        = GetDC(hWnd);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    ms_lpd3d    = Direct3DCreate8(D3D_SDK_VERSION);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    if (!ms_lpd3d)[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        return CREATE_NO_DIRECTX;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    if (!ms_kD3DDetector.Build(*ms_lpd3d, EL3D_ConfirmDevice))[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        return CREATE_ENUM;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    std::string stDevList;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    ms_kD3DDetector.GetString(&stDevList);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    D3D_CAdapterInfo * pkD3DAdapterInfo = ms_kD3DDetector.GetD3DAdapterInfop(ms_iD3DAdapterInfo);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    if (!pkD3DAdapterInfo)[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    {[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        Tracenf("adapter %d is EMPTY", ms_iD3DAdapterInfo);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        return CREATE_DETECT;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    }[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    if (__IsInDriverBlackList(*pkD3DAdapterInfo))[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    {[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        iRet |= CREATE_BAD_DRIVER;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        __WarningMessage(hWnd, CREATE_BAD_DRIVER);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    }[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    D3D_SModeInfo * pkD3DModeInfo = pkD3DAdapterInfo->GetD3DModeInfop(ms_iD3DDevInfo, ms_iD3DModeInfo);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    if (!pkD3DModeInfo)[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    {[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        Tracenf("device %d, mode %d is EMPTY", ms_iD3DDevInfo, ms_iD3DModeInfo);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        return CREATE_DETECT;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    }[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    D3DADAPTER_IDENTIFIER8& rkD3DAdapterId=pkD3DAdapterInfo->GetIdentifier();[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    if (Windowed &&[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        strnicmp(rkD3DAdapterId.Driver, "3dfx", 4)==0 &&[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        22 == pkD3DAdapterInfo->GetDesktopD3DDisplayModer().Format)[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    {[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        return CREATE_FORMAT;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    }[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    if (pkD3DModeInfo->m_dwD3DBehavior==D3DCREATE_SOFTWARE_VERTEXPROCESSING)[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    {[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        iRet |= CREATE_NO_TNL;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    }[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    std::string stModeInfo;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    pkD3DModeInfo->GetString(&stModeInfo);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    int ErrorCorrection = 0;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]   [/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    // --- LİMİT YOK: Desteklenen en yüksek MSAA'dan (16X) başlıyoruz ---[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    D3DMULTISAMPLE_TYPE currentMSAA = D3DMULTISAMPLE_16_SAMPLES;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]RETRY:[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    std::memset(&ms_d3dPresentParameter, 0, sizeof(ms_d3dPresentParameter));[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    ms_d3dPresentParameter.Windowed                            = Windowed;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    ms_d3dPresentParameter.BackBufferWidth                    = iHres;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    ms_d3dPresentParameter.BackBufferHeight                    = iVres;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    ms_d3dPresentParameter.hDeviceWindow                    = hWnd;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    ms_d3dPresentParameter.BackBufferCount                    = m_uBackBufferCount;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    ms_d3dPresentParameter.SwapEffect                        = D3DSWAPEFFECT_DISCARD; // MSAA için DİSCARD zorunludur[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    // Kartın desteklediği maksimum MSAA'yı dayatıyoruz[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    ms_d3dPresentParameter.MultiSampleType                    = currentMSAA;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    if (Windowed)[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    {[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        ms_d3dPresentParameter.BackBufferFormat                = pkD3DAdapterInfo->GetDesktopD3DDisplayModer().Format;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    }[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    else[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    {[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        ms_d3dPresentParameter.BackBufferFormat                = pkD3DModeInfo->m_eD3DFmtPixel;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        ms_d3dPresentParameter.FullScreen_RefreshRateInHz    = D3DPRESENT_RATE_DEFAULT;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]       [/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        // --- FPS LİMİTİNİ KALDIR (VSYNC OFF) ---[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        // Tam ekran modunda ekran yenileme hızına (örn: 60fps) takılmanı engeller.[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        ms_d3dPresentParameter.FullScreen_PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    }[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    ms_d3dPresentParameter.Flags                            = D3DPRESENTFLAG_LOCKABLE_BACKBUFFER;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    ms_d3dPresentParameter.EnableAutoDepthStencil            = TRUE;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    ms_d3dPresentParameter.AutoDepthStencilFormat            = pkD3DModeInfo->m_eD3DFmtDepthStencil;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    ms_dwD3DBehavior = pkD3DModeInfo->m_dwD3DBehavior;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    if (FAILED(ms_hLastResult = ms_lpd3d->CreateDevice([/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]                ms_iD3DAdapterInfo,[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]                D3DDEVTYPE_HAL,[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]                hWnd,[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]                pkD3DModeInfo->m_dwD3DBehavior,[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]                &ms_d3dPresentParameter,[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]                &ms_lpd3dDevice)))[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    {[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        // KADEMELİ DÜŞÜŞ: Kart üst seviyeyi desteklemiyorsa bir alt kaliteye geçer. Çökme engellenir.[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        if (currentMSAA == D3DMULTISAMPLE_16_SAMPLES) { currentMSAA = D3DMULTISAMPLE_8_SAMPLES; goto RETRY; }[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        else if (currentMSAA == D3DMULTISAMPLE_8_SAMPLES) { currentMSAA = D3DMULTISAMPLE_4_SAMPLES; goto RETRY; }[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        else if (currentMSAA == D3DMULTISAMPLE_4_SAMPLES) { currentMSAA = D3DMULTISAMPLE_2_SAMPLES; goto RETRY; }[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        else if (currentMSAA == D3DMULTISAMPLE_2_SAMPLES) { currentMSAA = D3DMULTISAMPLE_NONE; goto RETRY; }[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        if (ErrorCorrection)[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]            return CREATE_DEVICE;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        iReflashRate = 0;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        ++ErrorCorrection;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        iRet = CREATE_REFRESHRATE;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        goto RETRY;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    }[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    // Check DXT Support Info[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    if(ms_lpd3d->CheckDeviceFormat(ms_iD3DAdapterInfo, D3DDEVTYPE_HAL, ms_d3dPresentParameter.BackBufferFormat, 0, D3DRTYPE_TEXTURE, D3DFMT_DXT1) == D3DERR_NOTAVAILABLE) ms_bSupportDXT = false;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    if(ms_lpd3d->CheckDeviceFormat(ms_iD3DAdapterInfo, D3DDEVTYPE_HAL, ms_d3dPresentParameter.BackBufferFormat, 0, D3DRTYPE_TEXTURE, D3DFMT_DXT3) == D3DERR_NOTAVAILABLE) ms_bSupportDXT = false;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    if(ms_lpd3d->CheckDeviceFormat(ms_iD3DAdapterInfo, D3DDEVTYPE_HAL, ms_d3dPresentParameter.BackBufferFormat, 0, D3DRTYPE_TEXTURE, D3DFMT_DXT5) == D3DERR_NOTAVAILABLE) ms_bSupportDXT = false;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    if (FAILED((ms_hLastResult = ms_lpd3dDevice->GetDeviceCaps(&ms_d3dCaps))))[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    {[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        Tracenf("IDirect3DDevice.GetDeviceCaps - ERROR %d", ms_hLastResult);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        return CREATE_GET_DEVICE_CAPS2;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    }[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    if (!Windowed)[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, iHres, iVres, SWP_SHOWWINDOW);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    ms_lpd3dDevice->GetViewport(&ms_Viewport);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    m_pStateManager = new CStateManager(ms_lpd3dDevice);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    D3DXCreateMatrixStack(0, &ms_lpd3dMatStack);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    ms_lpd3dMatStack->LoadIdentity();[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    ms_ptVS    = CreatePTStreamVertexShader();[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    ms_pntVS = CreatePNTStreamVertexShader();[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    ms_pnt2VS = CreatePNT2StreamVertexShader();[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    D3DXMatrixIdentity(&ms_matIdentity);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    D3DXMatrixIdentity(&ms_matView);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    D3DXMatrixIdentity(&ms_matProj);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    D3DXMatrixIdentity(&ms_matInverseView);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    D3DXMatrixIdentity(&ms_matInverseViewYAxis);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    D3DXMatrixIdentity(&ms_matScreen0);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    D3DXMatrixIdentity(&ms_matScreen1);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    D3DXMatrixIdentity(&ms_matScreen2);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    ms_matScreen0._11 = 1.0f;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    ms_matScreen0._22 = -1.0f;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    ms_matScreen1._41 = 1.0f;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    ms_matScreen1._42 = 1.0f;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    ms_matScreen2._11 = static_cast<float>(iHres) / 2.0f;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    ms_matScreen2._22 = static_cast<float>(iVres) / 2.0f;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    D3DXCreateSphere(ms_lpd3dDevice, 1.0f, 32, 32, &ms_lpSphereMesh, nullptr);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    D3DXCreateCylinder(ms_lpd3dDevice, 1.0f, 1.0f, 1.0f, 8, 8, &ms_lpCylinderMesh, nullptr);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    ms_lpd3dDevice->Clear(0L, nullptr, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, 0xff000000, 1.0f, 0);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    if (!__CreateDefaultIndexBufferList())[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        return false;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    if (!__CreatePDTVertexBufferList())[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        return false;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    DWORD dwTexMemSize = GetAvailableTextureMemory();[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    if (dwTexMemSize < 64 * 1024 * 1024)[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        ms_isLowTextureMemory = true;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    else[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        ms_isLowTextureMemory = false;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    if (dwTexMemSize > 100 * 1024 * 1024)[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        ms_isHighTextureMemory = true;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    else[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        ms_isHighTextureMemory = false;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    if (ms_d3dCaps.TextureAddressCaps & D3DPTADDRESSCAPS_BORDER)[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        GRAPHICS_CAPS_CAN_NOT_TEXTURE_ADDRESS_BORDER=false;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    else[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        GRAPHICS_CAPS_CAN_NOT_TEXTURE_ADDRESS_BORDER=true;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    if (strnicmp(rkD3DAdapterId.Driver, "SIS", 3) == 0)[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    {[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        GRAPHICS_CAPS_CAN_NOT_DRAW_LINE = true;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        GRAPHICS_CAPS_CAN_NOT_DRAW_SHADOW = true;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        GRAPHICS_CAPS_HALF_SIZE_IMAGE = true;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        ms_isLowTextureMemory = true;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    }[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    else if (strnicmp(rkD3DAdapterId.Driver, "3dfx", 4) == 0)[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    {[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        GRAPHICS_CAPS_CAN_NOT_DRAW_SHADOW = true;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        GRAPHICS_CAPS_HALF_SIZE_IMAGE = true;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        ms_isLowTextureMemory = true;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    }[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    return (iRet);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]}[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][HEADING=2]

statemanager.cpp​

Kod:
[/HEADING][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]#include <cstring> // std::memset için eklendi[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]void CStateManager::SetDefaultState()[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]{[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    D3DCAPS8 d3dCaps;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    m_lpD3DDev->GetDeviceCaps(&d3dCaps);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    // SINIRSIZ DOKU NETLİĞİ: Donanımın desteklediği MAKSİMUM Anisotropy seviyesini kullan (örn. 16X, 32X, 64X)[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    if (d3dCaps.TextureFilterCaps & D3DPTFILTERCAPS_MAGFANISOTROPIC)[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        m_dwBestMagFilter = D3DTEXF_ANISOTROPIC;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    else[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        m_dwBestMagFilter = D3DTEXF_LINEAR;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    if (d3dCaps.TextureFilterCaps & D3DPTFILTERCAPS_MINFANISOTROPIC)[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        m_dwBestMinFilter = D3DTEXF_ANISOTROPIC;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    else[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        m_dwBestMinFilter = D3DTEXF_LINEAR;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    // Kartın çipi neyi destekliyorsa sonuna kadar köklüyoruz[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    DWORD dwMaxAnisotropy = d3dCaps.MaxAnisotropy;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    m_CurrentState.ResetState();[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    m_CopyState.ResetState();[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    m_ChipState.ResetState();[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    m_bScene = false;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    m_bForce = true;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    D3DXMATRIX Identity;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    D3DXMatrixIdentity(&Identity);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetTransform(D3DTS_WORLD, &Identity);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetTransform(D3DTS_VIEW, &Identity);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetTransform(D3DTS_PROJECTION, &Identity);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    D3DMATERIAL8 DefaultMat;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    std::memset(&DefaultMat, 0, sizeof(D3DMATERIAL8));[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    DefaultMat.Diffuse.r = 1.0f;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    DefaultMat.Diffuse.g = 1.0f;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    DefaultMat.Diffuse.b = 1.0f;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    DefaultMat.Diffuse.a = 1.0f;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    DefaultMat.Ambient.r = 1.0f;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    DefaultMat.Ambient.g = 1.0f;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    DefaultMat.Ambient.b = 1.0f;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    DefaultMat.Ambient.a = 1.0f;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    DefaultMat.Emissive.r = 0.0f;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    DefaultMat.Emissive.g = 0.0f;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    DefaultMat.Emissive.b = 0.0f;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    DefaultMat.Emissive.a = 0.0f;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    DefaultMat.Specular.r = 0.0f;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    DefaultMat.Specular.g = 0.0f;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    DefaultMat.Specular.b = 0.0f;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    DefaultMat.Specular.a = 0.0f;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    DefaultMat.Power = 0.0f;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetMaterial(&DefaultMat);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    // -------------------------------------------------------------[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    // --- ÖZEL DX8 RENDER STATE (KALİTE VE PERFORMANS YAMASI) ---[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    // -------------------------------------------------------------[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    // Temel Işık ve Materyal Ayarları[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_DIFFUSEMATERIALSOURCE, D3DMCS_MATERIAL);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_SPECULARMATERIALSOURCE, D3DMCS_MATERIAL);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_AMBIENTMATERIALSOURCE, D3DMCS_MATERIAL);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_EMISSIVEMATERIALSOURCE, D3DMCS_MATERIAL);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    // Çizgi ve Piksel Kalitesi[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_LINEPATTERN, 0xFFFFFFFF);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_LASTPIXEL, FALSE);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_EDGEANTIALIAS, TRUE); // MSAA'nın yetmediği poligon köşelerini yumuşatır[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    // Gelişmiş Alpha Testi (Ağaçlar ve Çimenler için ciddi FPS artışı sağlar)[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_ALPHATESTENABLE, FALSE);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_ALPHAREF, 0x20); // 32 ve altı şeffaflıktaki pikselleri GPU'dan at[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_ALPHAFUNC, D3DCMP_GREATEREQUAL);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    // Z-Buffer (Derinlik) Ayarları[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_ZENABLE, TRUE);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_ZFUNC, D3DCMP_LESSEQUAL);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_ZWRITEENABLE, TRUE);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_ZVISIBLE, FALSE);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_ZBIAS, 0);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    // Gerçekçi Sis (Radyal Sis) Ayarları[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_FOGENABLE, FALSE);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_FOGCOLOR, 0xFF000000);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_FOGTABLEMODE, D3DFOG_NONE);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_FOGVERTEXMODE, D3DFOG_LINEAR);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_RANGEFOGENABLE, TRUE); // Düz duvar sisini iptal eder, gerçekçi dairesel sis oluşturur![/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    // Kaliteli Işıklandırma ve Parlamalar (Specular)[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_LIGHTING, FALSE);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_LOCALVIEWER, TRUE); // Parlamaları (Silah/Zırh) kamera açısına göre kusursuz hesaplar[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_NORMALIZENORMALS, TRUE); // Büyütülmüş Boss'ların ve Metin Taşlarının ışık bug'ını çözer[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_SPECULARENABLE, FALSE);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    // Çizim, Gölge ve Renk Blend Ayarları[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_SHADEMODE, D3DSHADE_GOURAUD); // Yumuşak ışık geçişleri[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_CULLMODE, D3DCULL_CW);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_FILLMODE, D3DFILL_SOLID);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_DITHERENABLE, TRUE); // Renk geçişlerindeki bantlanmayı (Color Banding) önler[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_COLORWRITEENABLE, 0x0000000F); // Tüm renk kanallarına izin ver[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    // Alpha Blend[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_BLENDOP, D3DBLENDOP_ADD);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    // Kullanılmayan/Gereksiz Eski Ayarları Kapat[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_STENCILENABLE, FALSE);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_STENCILWRITEMASK, 0xFFFFFFFF);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_SOFTWAREVERTEXPROCESSING, FALSE); // İşlemciyi (CPU) kullanmayı yasakla, her şey GPU'da[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_INDEXEDVERTEXBLENDENABLE, FALSE);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_VERTEXBLEND, D3DVBF_DISABLE);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_CLIPPLANEENABLE, 0);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_COLORVERTEX, FALSE);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    // Çoklu Örnekleme (MSAA) Maskeleri[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_MULTISAMPLEANTIALIAS, TRUE); // GrpDevice'da açılan MSAA'yı Engine'e yansıt[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetRenderState(D3DRS_MULTISAMPLEMASK, 0xFFFFFFFF);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    // -------------------------------------------------------------[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    // --- KOD TEKRARLARINI KALDIRAN OPTİMİZE DÖNGÜ ---[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    // Orijinaldeki onlarca satırlık spagetti kodları tek bir for döngüsüne topladık[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    // -------------------------------------------------------------[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    for (int i = 0; i < 8; ++i)[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    {[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        SetRenderState(static_cast<D3DRENDERSTATETYPE>(D3DRS_WRAP0 + i), 0);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        SetTextureStageState(i, D3DTSS_MAXANISOTROPY, dwMaxAnisotropy);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        SetTextureStageState(i, D3DTSS_MINFILTER, m_dwBestMinFilter);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        SetTextureStageState(i, D3DTSS_MAGFILTER, m_dwBestMagFilter);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        SetTextureStageState(i, D3DTSS_MIPFILTER, D3DTEXF_LINEAR); // MipMap geçişleri hep Linear kalmalı[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]       [/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        SetTextureStageState(i, D3DTSS_ADDRESSU, D3DTADDRESS_WRAP);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        SetTextureStageState(i, D3DTSS_ADDRESSV, D3DTADDRESS_WRAP);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]       [/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        SetTextureStageState(i, D3DTSS_COLOROP, D3DTOP_DISABLE);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        SetTextureStageState(i, D3DTSS_COLORARG1, D3DTA_TEXTURE);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        SetTextureStageState(i, D3DTSS_COLORARG2, D3DTA_DIFFUSE);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]       [/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        SetTextureStageState(i, D3DTSS_ALPHAOP, D3DTOP_DISABLE);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        SetTextureStageState(i, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        SetTextureStageState(i, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]       [/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        SetTextureStageState(i, D3DTSS_TEXCOORDINDEX, i);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        SetTextureStageState(i, D3DTSS_TEXTURETRANSFORMFLAGS, 0);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        SetTexture(i, nullptr);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    }[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    // İlk aşama (Stage 0) için özel renk blend (Orijinal yapıyı koruyoruz)[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_CURRENT);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_CURRENT);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetPixelShader(0);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetVertexShader(D3DFVF_XYZ);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    D3DXVECTOR4 av4Null[STATEMANAGER_MAX_VCONSTANTS];[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    std::memset(av4Null, 0, sizeof(av4Null));[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetVertexShaderConstant(0, av4Null, STATEMANAGER_MAX_VCONSTANTS);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    SetPixelShaderConstant(0, av4Null, STATEMANAGER_MAX_PCONSTANTS);[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    m_bForce = false;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]#ifdef _DEBUG[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    for (int i = 0; i < STATEMANAGER_MAX_RENDERSTATES; i++)[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        m_bRenderStateSavingFlag[i] = FALSE;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    for (int j = 0; j < STATEMANAGER_MAX_TRANSFORMSTATES; j++)[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        m_bTransformSavingFlag[j] = FALSE;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]    for (int j = 0; j < STATEMANAGER_MAX_STAGES; ++j)[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]        for (int i = 0; i < STATEMANAGER_MAX_TEXTURESTATES; ++i)[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]            m_bTextureStageStateSavingFlag[j][i] = FALSE;[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]#endif[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]}[/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2][/HEADING][/HEADING][/HEADING]
[HEADING=2][HEADING=2][HEADING=2]

hazır dosyalar​

grpdevice.cppdeki​

int CGraphicDevice::Create(HWND hWnd, int iHres, int iVres, bool Windowed, int /*iBit*/, int iReflashRate)
{
değişcek.
statemanager.cppdeki.
void CStateManager::SetDefaultState()
değilcek.
.batın tamamı değişcek
gerisi üstte analttığım gibi
vebur
Üye
Üye
Katılım22 Kas 2025
Konular9
Mesajlar47
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
14.04.2026 05:20 #2
hayatım boyunca bu kadar girilmesi zor bi forum ve bozuk bi forum görüyorum.habire insan doğrulaması robotu kodu ekle kodun çökmesi
konualrın yanında hit o kadar yüksek olmasına rağmen herk yeri reklam olmasına rağmen
şu MMOZirvedaki pvp tanıtım bölümündeki reklamları toplasan aylık ne kadar para ediyor.
heralde içmeye harcıyor.

kafasına vurmaya gelicem
vebur
Üye
Üye
Katılım22 Kas 2025
Konular9
Mesajlar47
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
21.04.2026 18:35 #3
hayatım boyunca bu kadar girilmesi zor bi forum ve bozuk bi forum görüyorum.habire insan doğrulaması robotu kodu ekle kodun çökmesi
konualrın yanında hit o kadar yüksek olmasına rağmen herk yeri reklam olmasına rağmen
şu MMOZirvedaki pvp tanıtım bölümündeki reklamları toplasan aylık ne kadar para ediyor.
heralde içmeye harcıyor.

kafasına vurmaya gelicem
Bu konuyu görüntüleyenler
1 misafir
Cevap yazmak için giriş yapın.
Benzer Konular
6 cevap
2K görüntüleme
9 cevap
1.9K görüntüleme
4 cevap
1.9K görüntüleme
8 cevap
1.9K görüntüleme
İlan Yan banner placeholder