DosBox的Windows下的编译与其字体绘制实现

来源:互联网 发布:股票盯盘系统公式源码 编辑:程序博客网 时间:2024/06/02 14:35

在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游戏的

 

 

第一次写这种教人编译的例子,以前老是看别人的,写的不够详细敬请见谅

 

 

 

原创粉丝点击