DosBox的Windows下的編譯與其字體繪製實現

在SDL(http://www.libsdl.org/applications.php)官網上找資料時無意看到了頂頂大名的DosBox

原來它也是基於SDL的啊

WIN32編譯過程

下載DosBox源碼http://www.dosbox.com/

下載SDL源碼及其第三方插件SDL_image和SDL_net,而SDL_image需要libpng,libpng又需要zlib

 

用VS將SDL和及其兩個插件編譯好,需要注意的是SDL_image開啓LOAD_PNG宏,不需要LOAD_JPG和LOAD_GIF等等

將編譯好的lib文件拷貝到DosBox項目下

 

也可以直接下載編譯好的lib和dll替代

 

打開DosBox項目,引入的庫文件列表中有個curses.lib我不知道幹嘛的,我給去掉了好像也沒關係

編譯,然後將SDL相關的幾個dll拷貝到編譯好的dosbox.exe同目錄下,別忘了libpng.dll和zlib.dll

運行即可了

 

 

到這裏我比較奇怪的是DosBox是怎麼實現字體顯示的,因爲它並沒有使用SDL_ttf這個字體庫

在DosBox源碼中搜索"DrawText"找到了其字體輸出方法

 

 

int10_font_14是一個14像素的字體點陣數組

大概原理就是逐點判定當前點陣是否需要塗上顏色,否則塗黑CLR_BLAC

 

有了DosBox就可以玩我最喜歡的天使帝國2了,記得當時小學6年紀(99年左右)最喜歡玩的遊戲了,記憶深刻

後來直到大四才重新找到這個遊戲,內牛滿面的又玩了一遍,感慨現在的遊戲業急功近利做那麼多遊戲都很難有能在遊戲性上能超越這麼個dos遊戲的

 

 

第一次寫這種教人編譯的例子,以前老是看別人的,寫的不夠詳細敬請見諒

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章