• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            專職C++

            不能停止的腳步

              C++博客 :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
              163 Posts :: 7 Stories :: 135 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(28)

            我參與的團(tuán)隊(duì)

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

              1 //HGE初始化
              2 bool CALL HGE_Impl::System_Initiate()
              3 {
              4     OSVERSIONINFO    os_ver;        //操作系統(tǒng)版本信息
              5     SYSTEMTIME        tm;         //系統(tǒng)時(shí)間 
              6     MEMORYSTATUS    mem_st;     //內(nèi)存狀態(tài)
              7     WNDCLASS        winclass;   
              8     int                width, height;
              9 
             10     // Log system info
             11 
             12     System_Log("HGE Started..\n");
             13 
             14     System_Log("HGE version: %X.%X", HGE_VERSION>>8, HGE_VERSION & 0xFF);
             15     GetLocalTime(&tm); //取本地時(shí)間 UTC格式,并顯示到日志中。
             16     System_Log("Date: %02d.%02d.%d, %02d:%02d:%02d\n", tm.wDay, tm.wMonth, tm.wYear, tm.wHour, tm.wMinute, tm.wSecond);
             17 
             18     System_Log("Application: %s",szWinTitle);
             19     os_ver.dwOSVersionInfoSize=sizeof(os_ver);
             20     GetVersionEx(&os_ver); //取當(dāng)前操作系統(tǒng)的版本信息
             21     System_Log("OS: Windows %ld.%ld.%ld",os_ver.dwMajorVersion,os_ver.dwMinorVersion,os_ver.dwBuildNumber);
             22 
             23     GlobalMemoryStatus(&mem_st);//取內(nèi)存狀態(tài)
             24     System_Log("Memory: %ldK total, %ldK free\n",mem_st.dwTotalPhys/1024L,mem_st.dwAvailPhys/1024L);
             25 
             26 
             27     // Register window class
             28     /**
             29         窗口樣式
             30         CS_DBLCLKS 支持雙擊消息
             31         CS_HREDRAW 水平移動(dòng)或變化時(shí)候,重畫(huà)
             32         CS_VREDRAW 垂直移動(dòng)或變化時(shí)候,重畫(huà)
             33      */
             34     winclass.style = CS_DBLCLKS | CS_OWNDC | CS_HREDRAW | CS_VREDRAW;
             35     
             36     winclass.lpfnWndProc    = WindowProc; //消息處理過(guò)程
             37     winclass.cbClsExtra        = 0;
             38     winclass.cbWndExtra        = 0;
             39     winclass.hInstance        = hInstance;
             40     winclass.hCursor        = LoadCursor(NULL, IDC_ARROW); //裝載光標(biāo)
             41     winclass.hbrBackground    = (HBRUSH)GetStockObject(BLACK_BRUSH); 
             42     winclass.lpszMenuName    = NULL; 
             43     winclass.lpszClassName    = WINDOW_CLASS_NAME;
             44     if(szIcon) winclass.hIcon = LoadIcon(hInstance, szIcon);  //裝載圖標(biāo)
             45     else winclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);    //應(yīng)用程序圖標(biāo)
             46     
             47     if (!RegisterClass(&winclass)) {
             48         _PostError("Can't register window class");
             49         return false;
             50     }
             51 
             52     // Create window
             53 
             54     width=nScreenWidth + GetSystemMetrics(SM_CXFIXEDFRAME)*2;  //SM_CXFIXEDFRAME垂直邊框的寬度
             55     height=nScreenHeight + GetSystemMetrics(SM_CYFIXEDFRAME)*2 + GetSystemMetrics(SM_CYCAPTION);//SM_CYFIXEDFRAME 水平邊框與標(biāo)題的寬度
             56     //下面的定義,是使自己處于屏幕的中心
             57     //這里定義的是窗口模式顯示的樣式
             58     rectW.left=(GetSystemMetrics(SM_CXSCREEN)-width)/2;  
             59     rectW.top=(GetSystemMetrics(SM_CYSCREEN)-height)/2;
             60     rectW.right=rectW.left+width;
             61     rectW.bottom=rectW.top+height;
             62     styleW=WS_POPUP|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|WS_VISIBLE; //WS_OVERLAPPED | WS_SYSMENU | WS_MINIMIZEBOX;
             63     //這里定義的是全屏模式顯示的樣式
             64     rectFS.left=0;
             65     rectFS.top=0;
             66     rectFS.right=nScreenWidth;
             67     rectFS.bottom=nScreenHeight;
             68     styleFS=WS_POPUP|WS_VISIBLE; //WS_POPUP
             69     //如果存在父窗口,則定義為子窗口樣式
             70     if(hwndParent)
             71     {
             72         rectW.left=0;
             73         rectW.top=0;
             74         rectW.right=nScreenWidth;
             75         rectW.bottom=nScreenHeight;
             76         styleW=WS_CHILD|WS_VISIBLE; 
             77         bWindowed=true;
             78     }
             79 
             80     if(bWindowed) //窗口模式
             81         hwnd = CreateWindowEx(0, WINDOW_CLASS_NAME, szWinTitle, styleW,
             82                 rectW.left, rectW.top, rectW.right-rectW.left, rectW.bottom-rectW.top,
             83                 hwndParent, NULL, hInstance, NULL);
             84     else          //全屏模式
             85         hwnd = CreateWindowEx(WS_EX_TOPMOST, WINDOW_CLASS_NAME, szWinTitle, styleFS,
             86                 0000,
             87                 NULL, NULL, hInstance, NULL);
             88 
             89     if (!hwnd)  //如果創(chuàng)建失敗
             90     {
             91         _PostError("Can't create window");
             92         return false;
             93     }
             94 
             95     ShowWindow(hwnd, SW_SHOW); //顯示
             96 
             97     // Init subsystems
             98 
             99     timeBeginPeriod(1); //設(shè)置多媒體時(shí)間粒度,在這里是1毫秒
            100     Random_Seed();        //初始化隨機(jī)數(shù)種子
            101     _InitPowerStatus();
            102     _InputInit();        //輸入初始化
            103     if(!_GfxInit()) { System_Shutdown(); return false; } //D3D8初始化
            104     if(!_SoundInit()) { System_Shutdown(); return false; } //bass.dll初始化
            105 
            106     System_Log("Init done.\n");
            107 
            108     
            109     fTime=0.0f;                //HGE計(jì)時(shí)器                
            110     t0=t0fps=timeGetTime(); //幀率計(jì)時(shí)器 初始化
            111     dt=cfps=0;              //幀間計(jì)時(shí)器 初始化
            112     nFPS=0;                    //幀率 初始化
            113 
            114     // Show splash
            115 
            116 #ifdef DEMO
            117 
            118     bool            (*func)();
            119     bool            (*rfunc)();
            120     HWND            hwndTmp;
            121 
            122     if(pHGE->bDMO)
            123     {
            124         Sleep(200);
            125         func=(bool(*)())pHGE->System_GetStateFunc(HGE_FRAMEFUNC);
            126         rfunc=(bool(*)())pHGE->System_GetStateFunc(HGE_RENDERFUNC);
            127         hwndTmp=hwndParent; hwndParent=0;
            128         pHGE->System_SetStateFunc(HGE_FRAMEFUNC, DFrame);
            129         pHGE->System_SetStateFunc(HGE_RENDERFUNC, 0);
            130         DInit();
            131         pHGE->System_Start();
            132         DDone();
            133         hwndParent=hwndTmp;
            134         pHGE->System_SetStateFunc(HGE_FRAMEFUNC, func);
            135         pHGE->System_SetStateFunc(HGE_RENDERFUNC, rfunc);
            136     }
            137 
            138 #endif
            139 
            140     // Done
            141 
            142     return true;
            143 }

            posted on 2010-02-01 15:38 冬瓜 閱讀(2682) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 原創(chuàng)HGE
            伊人久久大香线蕉亚洲五月天| 久久午夜伦鲁片免费无码| 欧美激情精品久久久久久久九九九| 久久婷婷五月综合成人D啪| 国产成人精品三上悠亚久久| 久久亚洲AV成人出白浆无码国产| 91久久精品国产91性色也| 免费无码国产欧美久久18| 久久青青草原国产精品免费 | 久久人人添人人爽添人人片牛牛| 久久青青草原精品国产| 久久婷婷色综合一区二区| 潮喷大喷水系列无码久久精品| 久久精品国产欧美日韩| 久久精品人人做人人妻人人玩| 亚洲午夜无码AV毛片久久| 欧美777精品久久久久网| 亚洲国产欧洲综合997久久| 久久国产三级无码一区二区| 97精品国产91久久久久久| 亚洲精品乱码久久久久久久久久久久| 国产精品久久久久一区二区三区 | 亚洲?V乱码久久精品蜜桃| 99久久精品影院老鸭窝| 久久香蕉国产线看观看精品yw| 久久香综合精品久久伊人| 无码任你躁久久久久久| 国产午夜精品久久久久九九电影 | 久久婷婷午色综合夜啪| 国产精品成人99久久久久| 777久久精品一区二区三区无码 | 国内高清久久久久久| 欧美一区二区久久精品| 亚洲国产成人久久综合野外| 国产亚洲成人久久| 久久黄视频| 午夜精品久久影院蜜桃| 亚洲午夜福利精品久久| 久久婷婷色综合一区二区| 中文字幕无码精品亚洲资源网久久| 伊色综合久久之综合久久|