游戏王残局简化版

Annotation For single_doc/副_容冗/ygopro_编译.md
Login

Annotation For single_doc/副_容冗/ygopro_编译.md

Origin for each line in single_doc/副_容冗/ygopro_编译.md from check-in 60c256f91b:

60c256f91b 2024-06-27    1: # ygopro_编译
60c256f91b 2024-06-27    2: 
60c256f91b 2024-06-27    3: ## 前言
60c256f91b 2024-06-27    4: 
60c256f91b 2024-06-27    5: 来,走起,我们来编译一个小且可用的 ygopro 。
60c256f91b 2024-06-27    6: 
60c256f91b 2024-06-27    7: 功能不求全,<b>只要有</b>残局功能就够了。
60c256f91b 2024-06-27    8: 
60c256f91b 2024-06-27    9: ## 新建文件夹
60c256f91b 2024-06-27   10: 
60c256f91b 2024-06-27   11: 万事第一步,先新建个文件夹……
60c256f91b 2024-06-27   12: 
60c256f91b 2024-06-27   13: 然后,不做了,等一年后再来看,进度 0%,哈哈,这才是正常轨迹。
60c256f91b 2024-06-27   14: 
60c256f91b 2024-06-27   15: 上面虽然是玩笑话,但也估摸着是我的真实经历,只不过我这个拖延王<b>拖延了</b>大概六年。
60c256f91b 2024-06-27   16: 
60c256f91b 2024-06-27   17: 好了,给这个文件夹改名吧。
60c256f91b 2024-06-27   18: 
60c256f91b 2024-06-27   19: 我则取名叫:
60c256f91b 2024-06-27   20: 
60c256f91b 2024-06-27   21: ~~~
60c256f91b 2024-06-27   22: ygopro
60c256f91b 2024-06-27   23: ~~~
60c256f91b 2024-06-27   24: 
60c256f91b 2024-06-27   25: ## 编译器
60c256f91b 2024-06-27   26: 
60c256f91b 2024-06-27   27: 编译时,一个<b>很麻烦</b>的东西就是编译器。
60c256f91b 2024-06-27   28: 
60c256f91b 2024-06-27   29: 很长一段时间,我都不知道到哪里去下编译器,也不知道编译器的名字叫什么。
60c256f91b 2024-06-27   30: 
60c256f91b 2024-06-27   31: 像这种基础性的东西难道不应该有某某一个人把它们汇总起来让人随便下吗?
60c256f91b 2024-06-27   32: 
60c256f91b 2024-06-27   33: 后来我发现,诶,还真有,但那人的网站在百度上很难搜。
60c256f91b 2024-06-27   34: 
60c256f91b 2024-06-27   35: 现在的搜索引擎,早不名副其实了。
60c256f91b 2024-06-27   36: 
60c256f91b 2024-06-27   37: 我们要下载的编译器叫 msvc ,准确点,应该叫 MSVC 。
60c256f91b 2024-06-27   38: 
60c256f91b 2024-06-27   39: 不过我懒得换大小写,后文直接叫 msvc 了。
60c256f91b 2024-06-27   40: 
60c256f91b 2024-06-27   41: msvc 是一家叫微软的公司出的,这公司现在很鸡贼,把 msvc 的下载页面给隐藏了,狂推 vs 的下载。
60c256f91b 2024-06-27   42: 
60c256f91b 2024-06-27   43: ~~~
60c256f91b 2024-06-27   44: https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools
60c256f91b 2024-06-27   45: ~~~
60c256f91b 2024-06-27   46: 
60c256f91b 2024-06-27   47: 下载下来之后,会有一个 exe ,直接进行执行。
60c256f91b 2024-06-27   48: 
60c256f91b 2024-06-27   49: 然后就会有一大堆东西让你选,你挑着系统 sdk 与 c++编译工具安装就行了。
60c256f91b 2024-06-27   50: 
60c256f91b 2024-06-27   51: 但这里会冒出来一个大问题:
60c256f91b 2024-06-27   52: 
60c256f91b 2024-06-27   53: 下不动!
60c256f91b 2024-06-27   54: 
60c256f91b 2024-06-27   55: 网络问题,我还真没法解决。
60c256f91b 2024-06-27   56: 
60c256f91b 2024-06-27   57: 中国的网络封锁太强,自己看情况想办法绕过去吧。
60c256f91b 2024-06-27   58: 
60c256f91b 2024-06-27   59: 就算我这写了一点解决网络问题的方法,以现在的封锁趋势,过一段时间也就不能用了。
60c256f91b 2024-06-27   60: 
60c256f91b 2024-06-27   61: 不过,你还是有可能下得动的,因为彻底封死网络会伤某些人的心,所以现在是采用人群分化的方法来封锁网络,顺便还能挑起人群之间的内部矛盾。
60c256f91b 2024-06-27   62: 
60c256f91b 2024-06-27   63: 安装好编译器之后,桌面上又没快捷方式,不知道该怎么打开。
60c256f91b 2024-06-27   64: 
60c256f91b 2024-06-27   65: 这时应该打开 windows 的搜索功能,用快捷键就能打开了,我用的是 win8.1 系统,可以用 win+s 组合键打开。
60c256f91b 2024-06-27   66: 
60c256f91b 2024-06-27   67: 然后输入:
60c256f91b 2024-06-27   68: 
60c256f91b 2024-06-27   69: ~~~
60c256f91b 2024-06-27   70: comm
60c256f91b 2024-06-27   71: ~~~
60c256f91b 2024-06-27   72: 
60c256f91b 2024-06-27   73: 你查字典大概是查不到这单词的,因为这是我记不住那个完整名称而记下来的简写。
60c256f91b 2024-06-27   74: 
60c256f91b 2024-06-27   75: 全名应该是「命令行」这三个字的英文版。
60c256f91b 2024-06-27   76: 
60c256f91b 2024-06-27   77: 你输入这单词之后会出现一堆黑框框,选「不带 x64 」的黑框框打开。
60c256f91b 2024-06-27   78: 
60c256f91b 2024-06-27   79: 你这样打开之后,看起来它仅仅只是打开个 cmd 控制台而已,其实它调用了一堆脚本来设置各组件的环境变量。
60c256f91b 2024-06-27   80: 
60c256f91b 2024-06-27   81: 比较可惜的是,这些它设置的环境变量它不会告诉你,这就导致很多人其实做了无用功去重复做了这些脚本已经帮他们做好的事。
60c256f91b 2024-06-27   82: 
60c256f91b 2024-06-27   83: 到这里,编译器就准备好了。
60c256f91b 2024-06-27   84: 
60c256f91b 2024-06-27   85: 而且它也设置了 32 位的环境。
60c256f91b 2024-06-27   86: 
60c256f91b 2024-06-27   87: ## lua
60c256f91b 2024-06-27   88: 
60c256f91b 2024-06-27   89: 先下载 lua 的源码:
60c256f91b 2024-06-27   90: 
60c256f91b 2024-06-27   91: ~~~
60c256f91b 2024-06-27   92: https://www.lua.org/download.html
60c256f91b 2024-06-27   93: ~~~
60c256f91b 2024-06-27   94: 
60c256f91b 2024-06-27   95: 直接下最新版本。
60c256f91b 2024-06-27   96: 
60c256f91b 2024-06-27   97: 顺便一说, lua5.3 有 bug ,性能也不如 lua5.4 。
60c256f91b 2024-06-27   98: 
60c256f91b 2024-06-27   99: 下完之后,解压,会出现一大堆文件,别怕。
60c256f91b 2024-06-27  100: 
60c256f91b 2024-06-27  101: 先在 ygopro 下建一个文件夹:
60c256f91b 2024-06-27  102: 
60c256f91b 2024-06-27  103: ~~~
60c256f91b 2024-06-27  104: lib
60c256f91b 2024-06-27  105: ~~~
60c256f91b 2024-06-27  106: 
60c256f91b 2024-06-27  107: 现在的目录结构是:
60c256f91b 2024-06-27  108: 
60c256f91b 2024-06-27  109: ~~~
60c256f91b 2024-06-27  110: ygopro
60c256f91b 2024-06-27  111: |——|—— lib
60c256f91b 2024-06-27  112: ~~~
60c256f91b 2024-06-27  113: 
60c256f91b 2024-06-27  114: 再建一个文件夹:
60c256f91b 2024-06-27  115: 
60c256f91b 2024-06-27  116: ~~~
60c256f91b 2024-06-27  117: ygopro
60c256f91b 2024-06-27  118: |—— lib
60c256f91b 2024-06-27  119: |——|—— lua
60c256f91b 2024-06-27  120: ~~~
60c256f91b 2024-06-27  121: 
60c256f91b 2024-06-27  122: 把 lua 源码的 src 文件夹复制过来:
60c256f91b 2024-06-27  123: 
60c256f91b 2024-06-27  124: ~~~
60c256f91b 2024-06-27  125: ygopro
60c256f91b 2024-06-27  126: |—— lib
60c256f91b 2024-06-27  127: |——|—— lua
60c256f91b 2024-06-27  128: |——|——|—— src
60c256f91b 2024-06-27  129: ~~~
60c256f91b 2024-06-27  130: 
60c256f91b 2024-06-27  131: 注意哦,不是光把文件复制过来就可以了,你自己本身也需要对这些源码的特性有一个基本的了解。
60c256f91b 2024-06-27  132: 
60c256f91b 2024-06-27  133: 比如 lua 的这个源码,就需要删除两个文件:
60c256f91b 2024-06-27  134: 
60c256f91b 2024-06-27  135: ~~~
60c256f91b 2024-06-27  136: lua.c
60c256f91b 2024-06-27  137: luac.c
60c256f91b 2024-06-27  138: ~~~
60c256f91b 2024-06-27  139: 
60c256f91b 2024-06-27  140: 这是因为这两个文件里都有主函数。
60c256f91b 2024-06-27  141: 
60c256f91b 2024-06-27  142: 这里要特别讲一下,什么叫主函数。
60c256f91b 2024-06-27  143: 
60c256f91b 2024-06-27  144: 主函数就是应用程序的入口函数,相当于一座城堡的大门,想进城堡旅游,就得进门,不然进不去的。
60c256f91b 2024-06-27  145: 
60c256f91b 2024-06-27  146: 有些人学程序学四个学期了仍然不知道什么是主函数,这其实都很正常,因为各人有各人的局限性。
60c256f91b 2024-06-27  147: 
60c256f91b 2024-06-27  148: 好了,接下来就要开始编译了。
60c256f91b 2024-06-27  149: 
60c256f91b 2024-06-27  150: 你也许会奇怪,这不是 lua 吗?
60c256f91b 2024-06-27  151: 
60c256f91b 2024-06-27  152: 又不是 ygopro 。
60c256f91b 2024-06-27  153: 
60c256f91b 2024-06-27  154: 怎么现在就要开始编译了?
60c256f91b 2024-06-27  155: 
60c256f91b 2024-06-27  156: 编译其实分两步,一步是编译,一步是连接。
60c256f91b 2024-06-27  157: 
60c256f91b 2024-06-27  158: 我们先编译,等到了最后再进行连接。
60c256f91b 2024-06-27  159: 
60c256f91b 2024-06-27  160: 打开之前下载的 msvc ,把它的目录转到 ygopro ,然后输入:
60c256f91b 2024-06-27  161: 
60c256f91b 2024-06-27  162: ~~~
60c256f91b 2024-06-27  163: cl
60c256f91b 2024-06-27  164: ~~~
60c256f91b 2024-06-27  165: 
60c256f91b 2024-06-27  166: 然后应该会报错。
60c256f91b 2024-06-27  167: 
60c256f91b 2024-06-27  168: 加个参数:
60c256f91b 2024-06-27  169: 
60c256f91b 2024-06-27  170: ~~~
60c256f91b 2024-06-27  171: cl /c ./lib/lua/src/*.c
60c256f91b 2024-06-27  172: ~~~
60c256f91b 2024-06-27  173: 
60c256f91b 2024-06-27  174: 那个梅花号是通配符,这样子会把那个目录下的所有后缀名为「 c 」的文件都给编译了。
60c256f91b 2024-06-27  175: 
60c256f91b 2024-06-27  176: 也许你会奇怪,这就编译完了?
60c256f91b 2024-06-27  177: 
60c256f91b 2024-06-27  178: 原来编译这么简单。
60c256f91b 2024-06-27  179: 
60c256f91b 2024-06-27  180: 别人都封装好了,当然简单了。
60c256f91b 2024-06-27  181: 
60c256f91b 2024-06-27  182: 其实就这么简单的事,窗户纸不捅破,就一直<b>做不了</b>。
60c256f91b 2024-06-27  183: 
60c256f91b 2024-06-27  184: 接下来,我们开优化:
60c256f91b 2024-06-27  185: 
60c256f91b 2024-06-27  186: ~~~
60c256f91b 2024-06-27  187: cl /O2 /c ./lib/lua/src/*.c
60c256f91b 2024-06-27  188: ~~~
60c256f91b 2024-06-27  189: 
60c256f91b 2024-06-27  190: 代码速度慢一点,没啥大关系,还有编译器优化可以帮我们。
60c256f91b 2024-06-27  191: 
60c256f91b 2024-06-27  192: 接下来讲点底层。
60c256f91b 2024-06-27  193: 
60c256f91b 2024-06-27  194: 电脑里其实啥也没有,只有 01 ,我再强调一下,「 0 」、「 1 」。
60c256f91b 2024-06-27  195: 
60c256f91b 2024-06-27  196: 那这些 01 是怎么运行的?
60c256f91b 2024-06-27  197: 
60c256f91b 2024-06-27  198: 01 根本就运行不了,必须有东西承载着它们,而承载它们的那个东西理所应当就是计算机的底层吧?
60c256f91b 2024-06-27  199: 
60c256f91b 2024-06-27  200: 你可以把那个东西看成是一个开关,它明显有两种状态,一种是开,一种关。
60c256f91b 2024-06-27  201: 
60c256f91b 2024-06-27  202: 于是我们可以「把开叫做 0 ,把关叫做 1 」,也可以「把开叫做 1 ,把关叫做 0 」
60c256f91b 2024-06-27  203: 
60c256f91b 2024-06-27  204: 但这样子,我们人与人之间就不好互相交流了,于是有些组织就给这些名字定了规范。
60c256f91b 2024-06-27  205: 
60c256f91b 2024-06-27  206: 好了,你现在已经把 01 与实物联系起来了,懂了。
60c256f91b 2024-06-27  207: 
60c256f91b 2024-06-27  208: 然后再把刚才的忘掉。
60c256f91b 2024-06-27  209: 
60c256f91b 2024-06-27  210: 因为刚才这个模型虽然合理,但其实是用来描述继电器的。
60c256f91b 2024-06-27  211: 
60c256f91b 2024-06-27  212: 计算机内部使用的是半导体——它会有一个高电平,一个低电平。
60c256f91b 2024-06-27  213: 
60c256f91b 2024-06-27  214: 于是我们可以像把开关的开关状态与 01 联系起来一样,把半导体的电平高低状态与 01 联系起来。
60c256f91b 2024-06-27  215: 
60c256f91b 2024-06-27  216: 这个所谓的电平具体是指啥,我已经忘了,不过总不外乎是「电压」、「电流」这些与电相关的量度。
60c256f91b 2024-06-27  217: 
60c256f91b 2024-06-27  218: 你小时候家里经常停电吗?
60c256f91b 2024-06-27  219: 
60c256f91b 2024-06-27  220: 如果有过停电或电烧电器的经历,那么应该会有「电不稳定」的印象。
60c256f91b 2024-06-27  221: 
60c256f91b 2024-06-27  222: 电平受制于电的不稳定,所以它是不精确的。
60c256f91b 2024-06-27  223: 
60c256f91b 2024-06-27  224: 电平是低于某个临界点,就属于低电平,高于某个临界点,就属于高电平。
60c256f91b 2024-06-27  225: 
60c256f91b 2024-06-27  226: 这个临界点是人定的。
60c256f91b 2024-06-27  227: 
60c256f91b 2024-06-27  228: 接下来,不讲底层了。
60c256f91b 2024-06-27  229: 
60c256f91b 2024-06-27  230: 01 往上可以组建逻辑门,而汇编编程语言可以指导逻辑门的运行。
60c256f91b 2024-06-27  231: 
60c256f91b 2024-06-27  232: 但问题在于各个商家给逻辑门定的汇编语言是不一样的,于是我们需要一个通用的汇编语言,而这就是 c 语言的别称——「便携式汇编语言」。
60c256f91b 2024-06-27  233: 
60c256f91b 2024-06-27  234: 一门编程语言可以大致分为三部分:
60c256f91b 2024-06-27  235: 
60c256f91b 2024-06-27  236: 语法、标准库、自定义库。
60c256f91b 2024-06-27  237: 
60c256f91b 2024-06-27  238: lua 会用到 c 语言的标准库,而我们从上面的过程可以看到系统肯定会有 c 语言标准库。
60c256f91b 2024-06-27  239: 
60c256f91b 2024-06-27  240: 加个参数:
60c256f91b 2024-06-27  241: 
60c256f91b 2024-06-27  242: ~~~
60c256f91b 2024-06-27  243: cl /MD /O2 /c ./lib/lua/src/*.c
60c256f91b 2024-06-27  244: ~~~
60c256f91b 2024-06-27  245: 
60c256f91b 2024-06-27  246: 这样子, lua 就会采用系统自带的 c 语言标准库了。
60c256f91b 2024-06-27  247: 
60c256f91b 2024-06-27  248: 但仅仅是这样子还不行,因为 ygopro 不是一个纯 c 语言的项目。
60c256f91b 2024-06-27  249: 
60c256f91b 2024-06-27  250: 这里的 lua 需要采用 cpp ,也就是 c++的方式进行编译:
60c256f91b 2024-06-27  251: 
60c256f91b 2024-06-27  252: ~~~
60c256f91b 2024-06-27  253: cl /TP /MD /O2 /c ./lib/lua/src/*.c
60c256f91b 2024-06-27  254: ~~~
60c256f91b 2024-06-27  255: 
60c256f91b 2024-06-27  256: 然后由于 cpp 的特性,你会收到一堆报错,此时编译器会提醒你再加个参数:
60c256f91b 2024-06-27  257: 
60c256f91b 2024-06-27  258: ~~~
60c256f91b 2024-06-27  259: cl /EHsc /TP /MD /O2 /c ./lib/lua/src/*.c
60c256f91b 2024-06-27  260: ~~~
60c256f91b 2024-06-27  261: 
60c256f91b 2024-06-27  262: 好,大功告成,这就算把 lua 编译完了。
60c256f91b 2024-06-27  263: 
60c256f91b 2024-06-27  264: 不过,这时候,你的目录下会有一大堆的 obj 文件,不好看。
60c256f91b 2024-06-27  265: 
60c256f91b 2024-06-27  266: 于是输入:
60c256f91b 2024-06-27  267: 
60c256f91b 2024-06-27  268: ~~~
60c256f91b 2024-06-27  269: lib /OUT:lua.lib *.obj
60c256f91b 2024-06-27  270: ~~~
60c256f91b 2024-06-27  271: 
60c256f91b 2024-06-27  272: 这就把所有的 obj 文件合成了一个文件了。
60c256f91b 2024-06-27  273: 
60c256f91b 2024-06-27  274: 所以可以把 obj 文件全部删了:
60c256f91b 2024-06-27  275: 
60c256f91b 2024-06-27  276: ~~~
60c256f91b 2024-06-27  277: del *.obj
60c256f91b 2024-06-27  278: ~~~
60c256f91b 2024-06-27  279: 
60c256f91b 2024-06-27  280: 也就是说,我们由一堆文件中编译出了一个文件:
60c256f91b 2024-06-27  281: 
60c256f91b 2024-06-27  282: ~~~
60c256f91b 2024-06-27  283: lua.lib
60c256f91b 2024-06-27  284: ~~~
60c256f91b 2024-06-27  285: 
60c256f91b 2024-06-27  286: ## sqlite3
60c256f91b 2024-06-27  287: 
60c256f91b 2024-06-27  288: 接下来,我们需要下载一个很厉害的软件,作者是理查德·希普。
60c256f91b 2024-06-27  289: 
60c256f91b 2024-06-27  290: 这一回应该不会遇到网络问题了:
60c256f91b 2024-06-27  291: 
60c256f91b 2024-06-27  292: ~~~
60c256f91b 2024-06-27  293: https://www.sqlite.org/index.html
60c256f91b 2024-06-27  294: ~~~
60c256f91b 2024-06-27  295: 
60c256f91b 2024-06-27  296: 虽然,这一回我们不会再遇到网络问题,但可能会遇到这个网站的质疑:
60c256f91b 2024-06-27  297: 
60c256f91b 2024-06-27  298: 你到底是不是<b>人</b>?
60c256f91b 2024-06-27  299: 
60c256f91b 2024-06-27  300: 这是因为有些中国人恶意进攻这个网站,于是理查德专门把防范机器人的机制加强了。
60c256f91b 2024-06-27  301: 
60c256f91b 2024-06-27  302: 把解压后的目录复制过来:
60c256f91b 2024-06-27  303: 
60c256f91b 2024-06-27  304: ~~~
60c256f91b 2024-06-27  305: ygopro
60c256f91b 2024-06-27  306: |—— lib
60c256f91b 2024-06-27  307: |——|—— lua
60c256f91b 2024-06-27  308: |——|——|—— src
60c256f91b 2024-06-27  309: |——|—— sqlite3
60c256f91b 2024-06-27  310: ~~~
60c256f91b 2024-06-27  311: 
60c256f91b 2024-06-27  312: 然后编译:
60c256f91b 2024-06-27  313: 
60c256f91b 2024-06-27  314: ~~~
60c256f91b 2024-06-27  315: cl /MD /O2 /c ./lib/sqlite3/*.c
60c256f91b 2024-06-27  316: ~~~
60c256f91b 2024-06-27  317: 
60c256f91b 2024-06-27  318: 然后再连接与清理一下即可。
60c256f91b 2024-06-27  319: 
60c256f91b 2024-06-27  320: 其实 sqlite3 非常强,但是 ygopro 并没有对它擅加利用,这一点也体现在,你看这次的编译非常简单吧。
60c256f91b 2024-06-27  321: 
60c256f91b 2024-06-27  322: 编译简单是因为没有设置那些解放 sqlite3 力量的宏。
60c256f91b 2024-06-27  323: 
60c256f91b 2024-06-27  324: ## freetype
60c256f91b 2024-06-27  325: 
60c256f91b 2024-06-27  326: 下载:
60c256f91b 2024-06-27  327: 
60c256f91b 2024-06-27  328: ~~~
60c256f91b 2024-06-27  329: http://www.freetype.org
60c256f91b 2024-06-27  330: ~~~
60c256f91b 2024-06-27  331: 
60c256f91b 2024-06-27  332: 目录结构:
60c256f91b 2024-06-27  333: 
60c256f91b 2024-06-27  334: ~~~
60c256f91b 2024-06-27  335: ygopro
60c256f91b 2024-06-27  336: |—— lib
60c256f91b 2024-06-27  337: |——|—— lua
60c256f91b 2024-06-27  338: |——|——|—— src
60c256f91b 2024-06-27  339: |——|—— sqlite3
60c256f91b 2024-06-27  340: |——|—— freetype
60c256f91b 2024-06-27  341: |——|——|—— src
60c256f91b 2024-06-27  342: |——|——|—— include
60c256f91b 2024-06-27  343: |——|——|—— builds
60c256f91b 2024-06-27  344: ~~~
60c256f91b 2024-06-27  345: 
60c256f91b 2024-06-27  346: 编译:
60c256f91b 2024-06-27  347: 
60c256f91b 2024-06-27  348: ~~~
60c256f91b 2024-06-27  349: cl /MD /O2 /c /D FT2_BUILD_LIBRARY -I ./lib/freetype/include
60c256f91b 2024-06-27  350: ~~~
60c256f91b 2024-06-27  351: 
60c256f91b 2024-06-27  352: 可以发现,上面添加了头文件所在的文件夹。
60c256f91b 2024-06-27  353: 
60c256f91b 2024-06-27  354: 但奇怪的是,怎么没看到 c 文件?
60c256f91b 2024-06-27  355: 
60c256f91b 2024-06-27  356: 因为这一次要编译的文件太多了:
60c256f91b 2024-06-27  357: 
60c256f91b 2024-06-27  358: ~~~
60c256f91b 2024-06-27  359: str["freetype_文件表"] = {
60c256f91b 2024-06-27  360: 
60c256f91b 2024-06-27  361: "src/autofit/autofit.c"
60c256f91b 2024-06-27  362: , "src/base/ftbase.c"
60c256f91b 2024-06-27  363: , "src/base/ftbbox.c"
60c256f91b 2024-06-27  364: , "src/base/ftbdf.c"
60c256f91b 2024-06-27  365: , "src/base/ftbitmap.c"
60c256f91b 2024-06-27  366: , "src/base/ftcid.c"
60c256f91b 2024-06-27  367: , "src/base/ftfstype.c"
60c256f91b 2024-06-27  368: , "src/base/ftgasp.c"
60c256f91b 2024-06-27  369: , "src/base/ftglyph.c"
60c256f91b 2024-06-27  370: , "src/base/ftgxval.c"
60c256f91b 2024-06-27  371: , "src/base/ftinit.c"
60c256f91b 2024-06-27  372: , "src/base/ftmm.c"
60c256f91b 2024-06-27  373: , "src/base/ftotval.c"
60c256f91b 2024-06-27  374: , "src/base/ftpatent.c"
60c256f91b 2024-06-27  375: , "src/base/ftpfr.c"
60c256f91b 2024-06-27  376: , "src/base/ftstroke.c"
60c256f91b 2024-06-27  377: , "src/base/ftsynth.c"
60c256f91b 2024-06-27  378: , "src/base/fttype1.c"
60c256f91b 2024-06-27  379: , "src/base/ftwinfnt.c"
60c256f91b 2024-06-27  380: , "src/bdf/bdf.c"
60c256f91b 2024-06-27  381: , "src/cache/ftcache.c"
60c256f91b 2024-06-27  382: , "src/cff/cff.c"
60c256f91b 2024-06-27  383: , "src/cid/type1cid.c"
60c256f91b 2024-06-27  384: , "src/gzip/ftgzip.c"
60c256f91b 2024-06-27  385: , "src/lzw/ftlzw.c"
60c256f91b 2024-06-27  386: , "src/pcf/pcf.c"
60c256f91b 2024-06-27  387: , "src/pfr/pfr.c"
60c256f91b 2024-06-27  388: , "src/psaux/psaux.c"
60c256f91b 2024-06-27  389: , "src/pshinter/pshinter.c"
60c256f91b 2024-06-27  390: , "src/psnames/psmodule.c"
60c256f91b 2024-06-27  391: , "src/raster/raster.c"
60c256f91b 2024-06-27  392: , "src/sfnt/sfnt.c"
60c256f91b 2024-06-27  393: , "src/sdf/sdf.c"
60c256f91b 2024-06-27  394: , "src/smooth/smooth.c"
60c256f91b 2024-06-27  395: , "src/truetype/truetype.c"
60c256f91b 2024-06-27  396: , "src/type1/type1.c"
60c256f91b 2024-06-27  397: , "src/type42/type42.c"
60c256f91b 2024-06-27  398: , "src/winfonts/winfnt.c"
60c256f91b 2024-06-27  399: , "src/svg/ftsvg.c"
60c256f91b 2024-06-27  400: , "builds/windows/ftsystem.c"
60c256f91b 2024-06-27  401: , "builds/windows/ftdebug.c"
60c256f91b 2024-06-27  402: }
60c256f91b 2024-06-27  403: ~~~
60c256f91b 2024-06-27  404: 
60c256f91b 2024-06-27  405: ## 细节
60c256f91b 2024-06-27  406: 
60c256f91b 2024-06-27  407: 大致的流程基本讲清了,接下来就是细节:
60c256f91b 2024-06-27  408: 
60c256f91b 2024-06-27  409: ~~~
60c256f91b 2024-06-27  410: local str = {}
60c256f91b 2024-06-27  411: local fun = {}
60c256f91b 2024-06-27  412: 
60c256f91b 2024-06-27  413: local coroutine = _G.coroutine
60c256f91b 2024-06-27  414: local debug = _G.debug
60c256f91b 2024-06-27  415: local io = _G.io
60c256f91b 2024-06-27  416: local math = _G.math
60c256f91b 2024-06-27  417: local os = _G.os
60c256f91b 2024-06-27  418: local package = _G.package
60c256f91b 2024-06-27  419: local string = _G.string
60c256f91b 2024-06-27  420: local table = _G.table
60c256f91b 2024-06-27  421: 
60c256f91b 2024-06-27  422: local lfs = _G.lfs
60c256f91b 2024-06-27  423: 
60c256f91b 2024-06-27  424: --底层--------------------
60c256f91b 2024-06-27  425: 
60c256f91b 2024-06-27  426: fun["lua_预处理"] = function() --{
60c256f91b 2024-06-27  427:   
60c256f91b 2024-06-27  428:   str["lua_目录"] = lfs.currentdir() .. "/lib/lua/src"
60c256f91b 2024-06-27  429:   
60c256f91b 2024-06-27  430:   os.remove(str["lua_目录"] .. "/lua.c")
60c256f91b 2024-06-27  431:   
60c256f91b 2024-06-27  432:   os.remove(str["lua_目录"] .. "/luac.c")
60c256f91b 2024-06-27  433:   
60c256f91b 2024-06-27  434:   os.remove(str["lua_目录"] .. "/Makefile")
60c256f91b 2024-06-27  435:   
60c256f91b 2024-06-27  436:   str["lua_编译参数"] = "cl "
60c256f91b 2024-06-27  437:   .. "/MD "
60c256f91b 2024-06-27  438:   .. "/O2 "
60c256f91b 2024-06-27  439:   .. "/c "
60c256f91b 2024-06-27  440:   .. "/TP "
60c256f91b 2024-06-27  441:   .. "/EHsc "
60c256f91b 2024-06-27  442:   
60c256f91b 2024-06-27  443:   end --}
60c256f91b 2024-06-27  444:   
60c256f91b 2024-06-27  445: fun["lua_编译"] = function() --{
60c256f91b 2024-06-27  446:   
60c256f91b 2024-06-27  447:   os.execute(str["lua_编译参数"] .. "./lib/lua/src/*.c")
60c256f91b 2024-06-27  448:   
60c256f91b 2024-06-27  449:   os.execute("lib /OUT:lua.lib *.obj")
60c256f91b 2024-06-27  450:   
60c256f91b 2024-06-27  451:   end --}
60c256f91b 2024-06-27  452:   
60c256f91b 2024-06-27  453: fun["lua_清理"] = function() --{
60c256f91b 2024-06-27  454:   
60c256f91b 2024-06-27  455:   os.execute("del *.obj")
60c256f91b 2024-06-27  456:   
60c256f91b 2024-06-27  457:   end --}
60c256f91b 2024-06-27  458:   
60c256f91b 2024-06-27  459: fun["sqlite3_预处理"] = function() --{
60c256f91b 2024-06-27  460:   
60c256f91b 2024-06-27  461:   str["sqlite3_编译参数"] = "cl "
60c256f91b 2024-06-27  462:   .. "/MD "
60c256f91b 2024-06-27  463:   .. "/O2 "
60c256f91b 2024-06-27  464:   .. "/c "
60c256f91b 2024-06-27  465:   
60c256f91b 2024-06-27  466:   end --}
60c256f91b 2024-06-27  467:   
60c256f91b 2024-06-27  468: fun["sqlite3_编译"] = function() --{
60c256f91b 2024-06-27  469:   
60c256f91b 2024-06-27  470:   os.execute(str["sqlite3_编译参数"] .. "./lib/sqlite3/*.c")
60c256f91b 2024-06-27  471:   
60c256f91b 2024-06-27  472:   os.execute("lib /OUT:sqlite3.lib *.obj")
60c256f91b 2024-06-27  473:   
60c256f91b 2024-06-27  474:   end --}
60c256f91b 2024-06-27  475:   
60c256f91b 2024-06-27  476: fun["sqlite3_清理"] = function() --{
60c256f91b 2024-06-27  477:   
60c256f91b 2024-06-27  478:   os.execute("del *.obj")
60c256f91b 2024-06-27  479:   
60c256f91b 2024-06-27  480:   end --}
60c256f91b 2024-06-27  481:   
60c256f91b 2024-06-27  482: fun["freetype_预处理"] = function() --{
60c256f91b 2024-06-27  483:   
60c256f91b 2024-06-27  484:   str["freetype_编译参数"] = "cl "
60c256f91b 2024-06-27  485:   .. "/MD "
60c256f91b 2024-06-27  486:   .. "/O2 "
60c256f91b 2024-06-27  487:   .. "/c "
60c256f91b 2024-06-27  488:   .. "/wd 4819 "
60c256f91b 2024-06-27  489:   .. "/D FT2_BUILD_LIBRARY "
60c256f91b 2024-06-27  490:   .. "-I " .. lfs.currentdir() .. "/lib/freetype/include "
60c256f91b 2024-06-27  491:   
60c256f91b 2024-06-27  492:   str["freetype_文件表"] = {
60c256f91b 2024-06-27  493:     
60c256f91b 2024-06-27  494:     "src/autofit/autofit.c"
60c256f91b 2024-06-27  495:     , "src/base/ftbase.c"
60c256f91b 2024-06-27  496:     , "src/base/ftbbox.c"
60c256f91b 2024-06-27  497:     , "src/base/ftbdf.c"
60c256f91b 2024-06-27  498:     , "src/base/ftbitmap.c"
60c256f91b 2024-06-27  499:     , "src/base/ftcid.c"
60c256f91b 2024-06-27  500:     , "src/base/ftfstype.c"
60c256f91b 2024-06-27  501:     , "src/base/ftgasp.c"
60c256f91b 2024-06-27  502:     , "src/base/ftglyph.c"
60c256f91b 2024-06-27  503:     , "src/base/ftgxval.c"
60c256f91b 2024-06-27  504:     , "src/base/ftinit.c"
60c256f91b 2024-06-27  505:     , "src/base/ftmm.c"
60c256f91b 2024-06-27  506:     , "src/base/ftotval.c"
60c256f91b 2024-06-27  507:     , "src/base/ftpatent.c"
60c256f91b 2024-06-27  508:     , "src/base/ftpfr.c"
60c256f91b 2024-06-27  509:     , "src/base/ftstroke.c"
60c256f91b 2024-06-27  510:     , "src/base/ftsynth.c"
60c256f91b 2024-06-27  511:     , "src/base/fttype1.c"
60c256f91b 2024-06-27  512:     , "src/base/ftwinfnt.c"
60c256f91b 2024-06-27  513:     , "src/bdf/bdf.c"
60c256f91b 2024-06-27  514:     , "src/cache/ftcache.c"
60c256f91b 2024-06-27  515:     , "src/cff/cff.c"
60c256f91b 2024-06-27  516:     , "src/cid/type1cid.c"
60c256f91b 2024-06-27  517:     , "src/gzip/ftgzip.c"
60c256f91b 2024-06-27  518:     , "src/lzw/ftlzw.c"
60c256f91b 2024-06-27  519:     , "src/pcf/pcf.c"
60c256f91b 2024-06-27  520:     , "src/pfr/pfr.c"
60c256f91b 2024-06-27  521:     , "src/psaux/psaux.c"
60c256f91b 2024-06-27  522:     , "src/pshinter/pshinter.c"
60c256f91b 2024-06-27  523:     , "src/psnames/psmodule.c"
60c256f91b 2024-06-27  524:     , "src/raster/raster.c"
60c256f91b 2024-06-27  525:     , "src/sfnt/sfnt.c"
60c256f91b 2024-06-27  526:     , "src/sdf/sdf.c"
60c256f91b 2024-06-27  527:     , "src/smooth/smooth.c"
60c256f91b 2024-06-27  528:     , "src/truetype/truetype.c"
60c256f91b 2024-06-27  529:     , "src/type1/type1.c"
60c256f91b 2024-06-27  530:     , "src/type42/type42.c"
60c256f91b 2024-06-27  531:     , "src/winfonts/winfnt.c"
60c256f91b 2024-06-27  532:     , "src/svg/ftsvg.c"
60c256f91b 2024-06-27  533:     , "builds/windows/ftsystem.c"
60c256f91b 2024-06-27  534:     , "builds/windows/ftdebug.c"
60c256f91b 2024-06-27  535:     }
60c256f91b 2024-06-27  536:     
60c256f91b 2024-06-27  537:   end --}
60c256f91b 2024-06-27  538:   
60c256f91b 2024-06-27  539: fun["freetype_编译"] = function() --{
60c256f91b 2024-06-27  540:   
60c256f91b 2024-06-27  541:   for i = 1, #str["freetype_文件表"] do --{
60c256f91b 2024-06-27  542:     
60c256f91b 2024-06-27  543:     os.execute(str["freetype_编译参数"]
60c256f91b 2024-06-27  544:     .. "./lib/freetype/"
60c256f91b 2024-06-27  545:     .. str["freetype_文件表"][i])
60c256f91b 2024-06-27  546:     
60c256f91b 2024-06-27  547:     end --}
60c256f91b 2024-06-27  548:     
60c256f91b 2024-06-27  549:   os.execute("lib /OUT:freetype.lib *.obj")
60c256f91b 2024-06-27  550:   
60c256f91b 2024-06-27  551:   end --}
60c256f91b 2024-06-27  552:   
60c256f91b 2024-06-27  553: fun["freetype_清理"] = function() --{
60c256f91b 2024-06-27  554:   
60c256f91b 2024-06-27  555:   os.execute("del *.obj")
60c256f91b 2024-06-27  556:   
60c256f91b 2024-06-27  557:   end --}
60c256f91b 2024-06-27  558:   
60c256f91b 2024-06-27  559: fun["libevent_预处理"] = function() --{
60c256f91b 2024-06-27  560:   
60c256f91b 2024-06-27  561:   str["libevent_编译参数"] = "cl "
60c256f91b 2024-06-27  562:   .. "/MD "
60c256f91b 2024-06-27  563:   .. "/O2 "
60c256f91b 2024-06-27  564:   .. "/c "
60c256f91b 2024-06-27  565:   .. "/D EVENT__HAVE_STDINT_H "
60c256f91b 2024-06-27  566:   .. "-I " .. lfs.currentdir() .. "/lib/event/include "
60c256f91b 2024-06-27  567:   .. "-I " .. lfs.currentdir() .. "/lib/event/compat "
60c256f91b 2024-06-27  568:   
60c256f91b 2024-06-27  569:   str["libevent_文件移动参数"] = "robocopy "
60c256f91b 2024-06-27  570:   .. lfs.currentdir() .. "/lib/event/WIN32-Code/nmake "
60c256f91b 2024-06-27  571:   .. lfs.currentdir() .. "/lib/event/include "
60c256f91b 2024-06-27  572:   .. "/xx "
60c256f91b 2024-06-27  573:   .. "/E "
60c256f91b 2024-06-27  574:   
60c256f91b 2024-06-27  575:   str["libevent_文件表"] = {
60c256f91b 2024-06-27  576:     
60c256f91b 2024-06-27  577:     "event.c"
60c256f91b 2024-06-27  578:     , "evthread.c"
60c256f91b 2024-06-27  579:     , "buffer.c"
60c256f91b 2024-06-27  580:     , "bufferevent.c"
60c256f91b 2024-06-27  581:     , "bufferevent_sock.c"
60c256f91b 2024-06-27  582:     , "bufferevent_filter.c"
60c256f91b 2024-06-27  583:     , "bufferevent_pair.c"
60c256f91b 2024-06-27  584:     , "listener.c"
60c256f91b 2024-06-27  585:     , "bufferevent_ratelim.c"
60c256f91b 2024-06-27  586:     , "evmap.c"
60c256f91b 2024-06-27  587:     , "log.c"
60c256f91b 2024-06-27  588:     , "evutil.c"
60c256f91b 2024-06-27  589:     , "evutil_rand.c"
60c256f91b 2024-06-27  590:     , "evutil_time.c"
60c256f91b 2024-06-27  591:     , "strlcpy.c"
60c256f91b 2024-06-27  592:     , "signal.c"
60c256f91b 2024-06-27  593:     , "event_tagging.c"
60c256f91b 2024-06-27  594:     , "http.c"
60c256f91b 2024-06-27  595:     , "evdns.c"
60c256f91b 2024-06-27  596:     , "evrpc.c"
60c256f91b 2024-06-27  597:     , "win32select.c"
60c256f91b 2024-06-27  598:     , "evthread_win32.c"
60c256f91b 2024-06-27  599:     , "buffer_iocp.c"
60c256f91b 2024-06-27  600:     , "event_iocp.c"
60c256f91b 2024-06-27  601:     , "bufferevent_async.c"
60c256f91b 2024-06-27  602:     , "WIN32-Code/getopt_long.c"
60c256f91b 2024-06-27  603:     , "WIN32-Code/getopt.c"
60c256f91b 2024-06-27  604:     }
60c256f91b 2024-06-27  605:     
60c256f91b 2024-06-27  606:   end --}
60c256f91b 2024-06-27  607:   
60c256f91b 2024-06-27  608: fun["libevent_编译"] = function() --{
60c256f91b 2024-06-27  609:   
60c256f91b 2024-06-27  610:   os.execute(str["libevent_文件移动参数"])
60c256f91b 2024-06-27  611:   
60c256f91b 2024-06-27  612:   for i = 1, #str["libevent_文件表"] do --{
60c256f91b 2024-06-27  613:     
60c256f91b 2024-06-27  614:     os.execute(str["libevent_编译参数"]
60c256f91b 2024-06-27  615:     .. "./lib/event/"
60c256f91b 2024-06-27  616:     .. str["libevent_文件表"][i])
60c256f91b 2024-06-27  617:     
60c256f91b 2024-06-27  618:     end --}
60c256f91b 2024-06-27  619:     
60c256f91b 2024-06-27  620:   os.execute("lib /OUT:event.lib *.obj")
60c256f91b 2024-06-27  621:   
60c256f91b 2024-06-27  622:   end --}
60c256f91b 2024-06-27  623:   
60c256f91b 2024-06-27  624: fun["libevent_清理"] = function() --{
60c256f91b 2024-06-27  625:   
60c256f91b 2024-06-27  626:   os.execute("del *.obj")
60c256f91b 2024-06-27  627:   
60c256f91b 2024-06-27  628:   end --}
60c256f91b 2024-06-27  629:   
60c256f91b 2024-06-27  630: fun["irrlicht_预处理"] = function() --{
60c256f91b 2024-06-27  631:   
60c256f91b 2024-06-27  632:   str["irrlicht_编译参数"] = "cl "
60c256f91b 2024-06-27  633:   .. "/MD "
60c256f91b 2024-06-27  634:   .. "/O2 "
60c256f91b 2024-06-27  635:   .. "/c "
60c256f91b 2024-06-27  636:   .. "/wd 4819 "
60c256f91b 2024-06-27  637:   .. "/EHsc "
60c256f91b 2024-06-27  638:   .. "/D UNICODE "
60c256f91b 2024-06-27  639:   .. "/D _IRR_STATIC_LIB_ "
60c256f91b 2024-06-27  640:   .. "/D _IRR_WCHAR_FILESYSTEM "
60c256f91b 2024-06-27  641:   .. "/D NO_IRR_COMPILE_WITH_DIRECT3D_9_ "
60c256f91b 2024-06-27  642:   .. "/D NO_IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_ "
60c256f91b 2024-06-27  643:   .. "-I " .. lfs.currentdir() .. "/lib/irrlicht/include "
60c256f91b 2024-06-27  644:   .. "-I " .. lfs.currentdir() .. "/lib/irrlicht/source/Irrlicht "
60c256f91b 2024-06-27  645:   .. "-I " .. lfs.currentdir() .. "/lib/irrlicht/source/Irrlicht/jpeglib "
60c256f91b 2024-06-27  646:   .. "-I " .. lfs.currentdir() .. "/lib/irrlicht/source/Irrlicht/libpng "
60c256f91b 2024-06-27  647:   .. "-I " .. lfs.currentdir() .. "/lib/irrlicht/source/Irrlicht/zlib "
60c256f91b 2024-06-27  648:   
60c256f91b 2024-06-27  649:   str["irrlicht_文件表"] = {
60c256f91b 2024-06-27  650:     
60c256f91b 2024-06-27  651:     "source/Irrlicht/CCgMaterialRenderer.cpp"
60c256f91b 2024-06-27  652:     , "source/Irrlicht/CD3D9CgMaterialRenderer.cpp"
60c256f91b 2024-06-27  653:     , "source/Irrlicht/CDefaultSceneNodeAnimatorFactory.cpp"
60c256f91b 2024-06-27  654:     , "source/Irrlicht/CDefaultSceneNodeFactory.cpp"
60c256f91b 2024-06-27  655:     , "source/Irrlicht/CGeometryCreator.cpp"
60c256f91b 2024-06-27  656:     , "source/Irrlicht/CMeshCache.cpp"
60c256f91b 2024-06-27  657:     , "source/Irrlicht/CMeshManipulator.cpp"
60c256f91b 2024-06-27  658:     , "source/Irrlicht/COpenGLCgMaterialRenderer.cpp"
60c256f91b 2024-06-27  659:     , "source/Irrlicht/CSceneManager.cpp"
60c256f91b 2024-06-27  660:     , "source/Irrlicht/C3DSMeshFileLoader.cpp"
60c256f91b 2024-06-27  661:     , "source/Irrlicht/CSMFMeshFileLoader.cpp"
60c256f91b 2024-06-27  662:     , "source/Irrlicht/CAnimatedMeshHalfLife.cpp"
60c256f91b 2024-06-27  663:     , "source/Irrlicht/CAnimatedMeshMD2.cpp"
60c256f91b 2024-06-27  664:     , "source/Irrlicht/CAnimatedMeshMD3.cpp"
60c256f91b 2024-06-27  665:     , "source/Irrlicht/CB3DMeshFileLoader.cpp"
60c256f91b 2024-06-27  666:     , "source/Irrlicht/CBSPMeshFileLoader.cpp"
60c256f91b 2024-06-27  667:     , "source/Irrlicht/CColladaFileLoader.cpp"
60c256f91b 2024-06-27  668:     , "source/Irrlicht/CCSMLoader.cpp"
60c256f91b 2024-06-27  669:     , "source/Irrlicht/CDMFLoader.cpp"
60c256f91b 2024-06-27  670:     , "source/Irrlicht/CIrrMeshFileLoader.cpp"
60c256f91b 2024-06-27  671:     , "source/Irrlicht/CLMTSMeshFileLoader.cpp"
60c256f91b 2024-06-27  672:     , "source/Irrlicht/CLWOMeshFileLoader.cpp"
60c256f91b 2024-06-27  673:     , "source/Irrlicht/CMD2MeshFileLoader.cpp"
60c256f91b 2024-06-27  674:     , "source/Irrlicht/CMD3MeshFileLoader.cpp"
60c256f91b 2024-06-27  675:     , "source/Irrlicht/CMS3DMeshFileLoader.cpp"
60c256f91b 2024-06-27  676:     , "source/Irrlicht/CMY3DMeshFileLoader.cpp"
60c256f91b 2024-06-27  677:     , "source/Irrlicht/COBJMeshFileLoader.cpp"
60c256f91b 2024-06-27  678:     , "source/Irrlicht/COCTLoader.cpp"
60c256f91b 2024-06-27  679:     , "source/Irrlicht/COgreMeshFileLoader.cpp"
60c256f91b 2024-06-27  680:     , "source/Irrlicht/CPLYMeshFileLoader.cpp"
60c256f91b 2024-06-27  681:     , "source/Irrlicht/CQ3LevelMesh.cpp"
60c256f91b 2024-06-27  682:     , "source/Irrlicht/CSkinnedMesh.cpp"
60c256f91b 2024-06-27  683:     , "source/Irrlicht/CSTLMeshFileLoader.cpp"
60c256f91b 2024-06-27  684:     , "source/Irrlicht/CXMeshFileLoader.cpp"
60c256f91b 2024-06-27  685:     , "source/Irrlicht/CAnimatedMeshSceneNode.cpp"
60c256f91b 2024-06-27  686:     , "source/Irrlicht/CBillboardSceneNode.cpp"
60c256f91b 2024-06-27  687:     , "source/Irrlicht/CBoneSceneNode.cpp"
60c256f91b 2024-06-27  688:     , "source/Irrlicht/CCameraSceneNode.cpp"
60c256f91b 2024-06-27  689:     , "source/Irrlicht/CCubeSceneNode.cpp"
60c256f91b 2024-06-27  690:     , "source/Irrlicht/CDummyTransformationSceneNode.cpp"
60c256f91b 2024-06-27  691:     , "source/Irrlicht/CEmptySceneNode.cpp"
60c256f91b 2024-06-27  692:     , "source/Irrlicht/CLightSceneNode.cpp"
60c256f91b 2024-06-27  693:     , "source/Irrlicht/CMeshSceneNode.cpp"
60c256f91b 2024-06-27  694:     , "source/Irrlicht/COctreeSceneNode.cpp"
60c256f91b 2024-06-27  695:     , "source/Irrlicht/CQuake3ShaderSceneNode.cpp"
60c256f91b 2024-06-27  696:     , "source/Irrlicht/CShadowVolumeSceneNode.cpp"
60c256f91b 2024-06-27  697:     , "source/Irrlicht/CSkyBoxSceneNode.cpp"
60c256f91b 2024-06-27  698:     , "source/Irrlicht/CSkyDomeSceneNode.cpp"
60c256f91b 2024-06-27  699:     , "source/Irrlicht/CSphereSceneNode.cpp"
60c256f91b 2024-06-27  700:     , "source/Irrlicht/CTerrainSceneNode.cpp"
60c256f91b 2024-06-27  701:     , "source/Irrlicht/CTextSceneNode.cpp"
60c256f91b 2024-06-27  702:     , "source/Irrlicht/CVolumeLightSceneNode.cpp"
60c256f91b 2024-06-27  703:     , "source/Irrlicht/CWaterSurfaceSceneNode.cpp"
60c256f91b 2024-06-27  704:     , "source/Irrlicht/CParticleAnimatedMeshSceneNodeEmitter.cpp"
60c256f91b 2024-06-27  705:     , "source/Irrlicht/CParticleAttractionAffector.cpp"
60c256f91b 2024-06-27  706:     , "source/Irrlicht/CParticleBoxEmitter.cpp"
60c256f91b 2024-06-27  707:     , "source/Irrlicht/CParticleCylinderEmitter.cpp"
60c256f91b 2024-06-27  708:     , "source/Irrlicht/CParticleFadeOutAffector.cpp"
60c256f91b 2024-06-27  709:     , "source/Irrlicht/CParticleGravityAffector.cpp"
60c256f91b 2024-06-27  710:     , "source/Irrlicht/CParticleMeshEmitter.cpp"
60c256f91b 2024-06-27  711:     , "source/Irrlicht/CParticlePointEmitter.cpp"
60c256f91b 2024-06-27  712:     , "source/Irrlicht/CParticleRingEmitter.cpp"
60c256f91b 2024-06-27  713:     , "source/Irrlicht/CParticleRotationAffector.cpp"
60c256f91b 2024-06-27  714:     , "source/Irrlicht/CParticleScaleAffector.cpp"
60c256f91b 2024-06-27  715:     , "source/Irrlicht/CParticleSphereEmitter.cpp"
60c256f91b 2024-06-27  716:     , "source/Irrlicht/CParticleSystemSceneNode.cpp"
60c256f91b 2024-06-27  717:     , "source/Irrlicht/CMetaTriangleSelector.cpp"
60c256f91b 2024-06-27  718:     , "source/Irrlicht/COctreeTriangleSelector.cpp"
60c256f91b 2024-06-27  719:     , "source/Irrlicht/CSceneCollisionManager.cpp"
60c256f91b 2024-06-27  720:     , "source/Irrlicht/CTerrainTriangleSelector.cpp"
60c256f91b 2024-06-27  721:     , "source/Irrlicht/CTriangleBBSelector.cpp"
60c256f91b 2024-06-27  722:     , "source/Irrlicht/CTriangleSelector.cpp"
60c256f91b 2024-06-27  723:     , "source/Irrlicht/CSceneLoaderIrr.cpp"
60c256f91b 2024-06-27  724:     , "source/Irrlicht/CSceneNodeAnimatorCameraFPS.cpp"
60c256f91b 2024-06-27  725:     , "source/Irrlicht/CSceneNodeAnimatorCameraMaya.cpp"
60c256f91b 2024-06-27  726:     , "source/Irrlicht/CSceneNodeAnimatorCollisionResponse.cpp"
60c256f91b 2024-06-27  727:     , "source/Irrlicht/CSceneNodeAnimatorDelete.cpp"
60c256f91b 2024-06-27  728:     , "source/Irrlicht/CSceneNodeAnimatorFlyCircle.cpp"
60c256f91b 2024-06-27  729:     , "source/Irrlicht/CSceneNodeAnimatorFlyStraight.cpp"
60c256f91b 2024-06-27  730:     , "source/Irrlicht/CSceneNodeAnimatorFollowSpline.cpp"
60c256f91b 2024-06-27  731:     , "source/Irrlicht/CSceneNodeAnimatorRotation.cpp"
60c256f91b 2024-06-27  732:     , "source/Irrlicht/CSceneNodeAnimatorTexture.cpp"
60c256f91b 2024-06-27  733:     , "source/Irrlicht/CColladaMeshWriter.cpp"
60c256f91b 2024-06-27  734:     , "source/Irrlicht/CIrrMeshWriter.cpp"
60c256f91b 2024-06-27  735:     , "source/Irrlicht/COBJMeshWriter.cpp"
60c256f91b 2024-06-27  736:     , "source/Irrlicht/CPLYMeshWriter.cpp"
60c256f91b 2024-06-27  737:     , "source/Irrlicht/CSTLMeshWriter.cpp"
60c256f91b 2024-06-27  738:     , "source/Irrlicht/CVideoModeList.cpp"
60c256f91b 2024-06-27  739:     , "source/Irrlicht/CSoftwareDriver.cpp"
60c256f91b 2024-06-27  740:     , "source/Irrlicht/CSoftwareTexture.cpp"
60c256f91b 2024-06-27  741:     , "source/Irrlicht/CTRFlat.cpp"
60c256f91b 2024-06-27  742:     , "source/Irrlicht/CTRFlatWire.cpp"
60c256f91b 2024-06-27  743:     , "source/Irrlicht/CTRGouraud.cpp"
60c256f91b 2024-06-27  744:     , "source/Irrlicht/CTRGouraudWire.cpp"
60c256f91b 2024-06-27  745:     , "source/Irrlicht/CTRTextureFlat.cpp"
60c256f91b 2024-06-27  746:     , "source/Irrlicht/CTRTextureFlatWire.cpp"
60c256f91b 2024-06-27  747:     , "source/Irrlicht/CTRTextureGouraud.cpp"
60c256f91b 2024-06-27  748:     , "source/Irrlicht/CTRTextureGouraudAdd.cpp"
60c256f91b 2024-06-27  749:     , "source/Irrlicht/CTRTextureGouraudNoZ.cpp"
60c256f91b 2024-06-27  750:     , "source/Irrlicht/CTRTextureGouraudWire.cpp"
60c256f91b 2024-06-27  751:     , "source/Irrlicht/CZBuffer.cpp"
60c256f91b 2024-06-27  752:     , "source/Irrlicht/COpenGLDriver.cpp"
60c256f91b 2024-06-27  753:     , "source/Irrlicht/COpenGLExtensionHandler.cpp"
60c256f91b 2024-06-27  754:     , "source/Irrlicht/COpenGLNormalMapRenderer.cpp"
60c256f91b 2024-06-27  755:     , "source/Irrlicht/COpenGLParallaxMapRenderer.cpp"
60c256f91b 2024-06-27  756:     , "source/Irrlicht/COpenGLShaderMaterialRenderer.cpp"
60c256f91b 2024-06-27  757:     , "source/Irrlicht/COpenGLSLMaterialRenderer.cpp"
60c256f91b 2024-06-27  758:     , "source/Irrlicht/COpenGLTexture.cpp"
60c256f91b 2024-06-27  759:     , "source/Irrlicht/CD3D8Driver.cpp"
60c256f91b 2024-06-27  760:     , "source/Irrlicht/CD3D8NormalMapRenderer.cpp"
60c256f91b 2024-06-27  761:     , "source/Irrlicht/CD3D8ParallaxMapRenderer.cpp"
60c256f91b 2024-06-27  762:     , "source/Irrlicht/CD3D8ShaderMaterialRenderer.cpp"
60c256f91b 2024-06-27  763:     , "source/Irrlicht/CD3D8Texture.cpp"
60c256f91b 2024-06-27  764:     , "source/Irrlicht/CColorConverter.cpp"
60c256f91b 2024-06-27  765:     , "source/Irrlicht/CFPSCounter.cpp"
60c256f91b 2024-06-27  766:     , "source/Irrlicht/CImage.cpp"
60c256f91b 2024-06-27  767:     , "source/Irrlicht/CNullDriver.cpp"
60c256f91b 2024-06-27  768:     , "source/Irrlicht/CImageWriterBMP.cpp"
60c256f91b 2024-06-27  769:     , "source/Irrlicht/CImageWriterJPG.cpp"
60c256f91b 2024-06-27  770:     , "source/Irrlicht/CImageWriterPCX.cpp"
60c256f91b 2024-06-27  771:     , "source/Irrlicht/CImageWriterPNG.cpp"
60c256f91b 2024-06-27  772:     , "source/Irrlicht/CImageWriterPPM.cpp"
60c256f91b 2024-06-27  773:     , "source/Irrlicht/CImageWriterPSD.cpp"
60c256f91b 2024-06-27  774:     , "source/Irrlicht/CImageWriterTGA.cpp"
60c256f91b 2024-06-27  775:     , "source/Irrlicht/CImageLoaderBMP.cpp"
60c256f91b 2024-06-27  776:     , "source/Irrlicht/CImageLoaderDDS.cpp"
60c256f91b 2024-06-27  777:     , "source/Irrlicht/CImageLoaderJPG.cpp"
60c256f91b 2024-06-27  778:     , "source/Irrlicht/CImageLoaderPCX.cpp"
60c256f91b 2024-06-27  779:     , "source/Irrlicht/CImageLoaderPNG.cpp"
60c256f91b 2024-06-27  780:     , "source/Irrlicht/CImageLoaderPPM.cpp"
60c256f91b 2024-06-27  781:     , "source/Irrlicht/CImageLoaderPSD.cpp"
60c256f91b 2024-06-27  782:     , "source/Irrlicht/CImageLoaderRGB.cpp"
60c256f91b 2024-06-27  783:     , "source/Irrlicht/CImageLoaderTGA.cpp"
60c256f91b 2024-06-27  784:     , "source/Irrlicht/CImageLoaderWAL.cpp"
60c256f91b 2024-06-27  785:     , "source/Irrlicht/CD3D9Driver.cpp"
60c256f91b 2024-06-27  786:     , "source/Irrlicht/CD3D9HLSLMaterialRenderer.cpp"
60c256f91b 2024-06-27  787:     , "source/Irrlicht/CD3D9NormalMapRenderer.cpp"
60c256f91b 2024-06-27  788:     , "source/Irrlicht/CD3D9ParallaxMapRenderer.cpp"
60c256f91b 2024-06-27  789:     , "source/Irrlicht/CD3D9ShaderMaterialRenderer.cpp"
60c256f91b 2024-06-27  790:     , "source/Irrlicht/CD3D9Texture.cpp"
60c256f91b 2024-06-27  791:     , "source/Irrlicht/CBurningShader_Raster_Reference.cpp"
60c256f91b 2024-06-27  792:     , "source/Irrlicht/CDepthBuffer.cpp"
60c256f91b 2024-06-27  793:     , "source/Irrlicht/CSoftwareDriver2.cpp"
60c256f91b 2024-06-27  794:     , "source/Irrlicht/CSoftwareTexture2.cpp"
60c256f91b 2024-06-27  795:     , "source/Irrlicht/CTRGouraud2.cpp"
60c256f91b 2024-06-27  796:     , "source/Irrlicht/CTRGouraudAlpha2.cpp"
60c256f91b 2024-06-27  797:     , "source/Irrlicht/CTRGouraudAlphaNoZ2.cpp"
60c256f91b 2024-06-27  798:     , "source/Irrlicht/CTRNormalMap.cpp"
60c256f91b 2024-06-27  799:     , "source/Irrlicht/CTRStencilShadow.cpp"
60c256f91b 2024-06-27  800:     , "source/Irrlicht/CTRTextureBlend.cpp"
60c256f91b 2024-06-27  801:     , "source/Irrlicht/CTRTextureDetailMap2.cpp"
60c256f91b 2024-06-27  802:     , "source/Irrlicht/CTRTextureGouraud2.cpp"
60c256f91b 2024-06-27  803:     , "source/Irrlicht/CTRTextureGouraudAdd2.cpp"
60c256f91b 2024-06-27  804:     , "source/Irrlicht/CTRTextureGouraudAddNoZ2.cpp"
60c256f91b 2024-06-27  805:     , "source/Irrlicht/CTRTextureGouraudAlpha.cpp"
60c256f91b 2024-06-27  806:     , "source/Irrlicht/CTRTextureGouraudAlphaNoZ.cpp"
60c256f91b 2024-06-27  807:     , "source/Irrlicht/CTRTextureGouraudNoZ2.cpp"
60c256f91b 2024-06-27  808:     , "source/Irrlicht/CTRTextureGouraudVertexAlpha2.cpp"
60c256f91b 2024-06-27  809:     , "source/Irrlicht/CTRTextureLightMap2_Add.cpp"
60c256f91b 2024-06-27  810:     , "source/Irrlicht/CTRTextureLightMap2_M1.cpp"
60c256f91b 2024-06-27  811:     , "source/Irrlicht/CTRTextureLightMap2_M2.cpp"
60c256f91b 2024-06-27  812:     , "source/Irrlicht/CTRTextureLightMap2_M4.cpp"
60c256f91b 2024-06-27  813:     , "source/Irrlicht/CTRTextureLightMapGouraud2_M4.cpp"
60c256f91b 2024-06-27  814:     , "source/Irrlicht/CTRTextureWire2.cpp"
60c256f91b 2024-06-27  815:     , "source/Irrlicht/IBurningShader.cpp"
60c256f91b 2024-06-27  816:     , "source/Irrlicht/CLogger.cpp"
60c256f91b 2024-06-27  817:     , "source/Irrlicht/COSOperator.cpp"
60c256f91b 2024-06-27  818:     , "source/Irrlicht/Irrlicht.cpp"
60c256f91b 2024-06-27  819:     , "source/Irrlicht/os.cpp"
60c256f91b 2024-06-27  820:     , "source/Irrlicht/lzma/LzmaDec.c"
60c256f91b 2024-06-27  821:     , "source/Irrlicht/zlib/adler32.c"
60c256f91b 2024-06-27  822:     , "source/Irrlicht/zlib/compress.c"
60c256f91b 2024-06-27  823:     , "source/Irrlicht/zlib/crc32.c"
60c256f91b 2024-06-27  824:     , "source/Irrlicht/zlib/deflate.c"
60c256f91b 2024-06-27  825:     , "source/Irrlicht/zlib/inffast.c"
60c256f91b 2024-06-27  826:     , "source/Irrlicht/zlib/inflate.c"
60c256f91b 2024-06-27  827:     , "source/Irrlicht/zlib/inftrees.c"
60c256f91b 2024-06-27  828:     , "source/Irrlicht/zlib/trees.c"
60c256f91b 2024-06-27  829:     , "source/Irrlicht/zlib/uncompr.c"
60c256f91b 2024-06-27  830:     , "source/Irrlicht/zlib/zutil.c"
60c256f91b 2024-06-27  831:     , "source/Irrlicht/jpeglib/jaricom.c"
60c256f91b 2024-06-27  832:     , "source/Irrlicht/jpeglib/jcapimin.c"
60c256f91b 2024-06-27  833:     , "source/Irrlicht/jpeglib/jcapistd.c"
60c256f91b 2024-06-27  834:     , "source/Irrlicht/jpeglib/jcarith.c"
60c256f91b 2024-06-27  835:     , "source/Irrlicht/jpeglib/jccoefct.c"
60c256f91b 2024-06-27  836:     , "source/Irrlicht/jpeglib/jccolor.c"
60c256f91b 2024-06-27  837:     , "source/Irrlicht/jpeglib/jcdctmgr.c"
60c256f91b 2024-06-27  838:     , "source/Irrlicht/jpeglib/jchuff.c"
60c256f91b 2024-06-27  839:     , "source/Irrlicht/jpeglib/jcinit.c"
60c256f91b 2024-06-27  840:     , "source/Irrlicht/jpeglib/jcmainct.c"
60c256f91b 2024-06-27  841:     , "source/Irrlicht/jpeglib/jcmarker.c"
60c256f91b 2024-06-27  842:     , "source/Irrlicht/jpeglib/jcmaster.c"
60c256f91b 2024-06-27  843:     , "source/Irrlicht/jpeglib/jcomapi.c"
60c256f91b 2024-06-27  844:     , "source/Irrlicht/jpeglib/jcparam.c"
60c256f91b 2024-06-27  845:     , "source/Irrlicht/jpeglib/jcprepct.c"
60c256f91b 2024-06-27  846:     , "source/Irrlicht/jpeglib/jcsample.c"
60c256f91b 2024-06-27  847:     , "source/Irrlicht/jpeglib/jctrans.c"
60c256f91b 2024-06-27  848:     , "source/Irrlicht/jpeglib/jdapimin.c"
60c256f91b 2024-06-27  849:     , "source/Irrlicht/jpeglib/jdapistd.c"
60c256f91b 2024-06-27  850:     , "source/Irrlicht/jpeglib/jdarith.c"
60c256f91b 2024-06-27  851:     , "source/Irrlicht/jpeglib/jdatadst.c"
60c256f91b 2024-06-27  852:     , "source/Irrlicht/jpeglib/jdatasrc.c"
60c256f91b 2024-06-27  853:     , "source/Irrlicht/jpeglib/jdcoefct.c"
60c256f91b 2024-06-27  854:     , "source/Irrlicht/jpeglib/jdcolor.c"
60c256f91b 2024-06-27  855:     , "source/Irrlicht/jpeglib/jddctmgr.c"
60c256f91b 2024-06-27  856:     , "source/Irrlicht/jpeglib/jdhuff.c"
60c256f91b 2024-06-27  857:     , "source/Irrlicht/jpeglib/jdinput.c"
60c256f91b 2024-06-27  858:     , "source/Irrlicht/jpeglib/jdmainct.c"
60c256f91b 2024-06-27  859:     , "source/Irrlicht/jpeglib/jdmarker.c"
60c256f91b 2024-06-27  860:     , "source/Irrlicht/jpeglib/jdmaster.c"
60c256f91b 2024-06-27  861:     , "source/Irrlicht/jpeglib/jdmerge.c"
60c256f91b 2024-06-27  862:     , "source/Irrlicht/jpeglib/jdpostct.c"
60c256f91b 2024-06-27  863:     , "source/Irrlicht/jpeglib/jdsample.c"
60c256f91b 2024-06-27  864:     , "source/Irrlicht/jpeglib/jdtrans.c"
60c256f91b 2024-06-27  865:     , "source/Irrlicht/jpeglib/jerror.c"
60c256f91b 2024-06-27  866:     , "source/Irrlicht/jpeglib/jfdctflt.c"
60c256f91b 2024-06-27  867:     , "source/Irrlicht/jpeglib/jfdctfst.c"
60c256f91b 2024-06-27  868:     , "source/Irrlicht/jpeglib/jfdctint.c"
60c256f91b 2024-06-27  869:     , "source/Irrlicht/jpeglib/jidctflt.c"
60c256f91b 2024-06-27  870:     , "source/Irrlicht/jpeglib/jidctfst.c"
60c256f91b 2024-06-27  871:     , "source/Irrlicht/jpeglib/jidctint.c"
60c256f91b 2024-06-27  872:     , "source/Irrlicht/jpeglib/jmemmgr.c"
60c256f91b 2024-06-27  873:     , "source/Irrlicht/jpeglib/jmemnobs.c"
60c256f91b 2024-06-27  874:     , "source/Irrlicht/jpeglib/jquant1.c"
60c256f91b 2024-06-27  875:     , "source/Irrlicht/jpeglib/jquant2.c"
60c256f91b 2024-06-27  876:     , "source/Irrlicht/jpeglib/jutils.c"
60c256f91b 2024-06-27  877:     , "source/Irrlicht/libpng/png.c"
60c256f91b 2024-06-27  878:     , "source/Irrlicht/libpng/pngerror.c"
60c256f91b 2024-06-27  879:     , "source/Irrlicht/libpng/pngget.c"
60c256f91b 2024-06-27  880:     , "source/Irrlicht/libpng/pngmem.c"
60c256f91b 2024-06-27  881:     , "source/Irrlicht/libpng/pngpread.c"
60c256f91b 2024-06-27  882:     , "source/Irrlicht/libpng/pngread.c"
60c256f91b 2024-06-27  883:     , "source/Irrlicht/libpng/pngrio.c"
60c256f91b 2024-06-27  884:     , "source/Irrlicht/libpng/pngrtran.c"
60c256f91b 2024-06-27  885:     , "source/Irrlicht/libpng/pngrutil.c"
60c256f91b 2024-06-27  886:     , "source/Irrlicht/libpng/pngset.c"
60c256f91b 2024-06-27  887:     , "source/Irrlicht/libpng/pngtrans.c"
60c256f91b 2024-06-27  888:     , "source/Irrlicht/libpng/pngwio.c"
60c256f91b 2024-06-27  889:     , "source/Irrlicht/libpng/pngwrite.c"
60c256f91b 2024-06-27  890:     , "source/Irrlicht/libpng/pngwtran.c"
60c256f91b 2024-06-27  891:     , "source/Irrlicht/libpng/pngwutil.c"
60c256f91b 2024-06-27  892:     , "source/Irrlicht/aesGladman/aescrypt.cpp"
60c256f91b 2024-06-27  893:     , "source/Irrlicht/aesGladman/aeskey.cpp"
60c256f91b 2024-06-27  894:     , "source/Irrlicht/aesGladman/aestab.cpp"
60c256f91b 2024-06-27  895:     , "source/Irrlicht/aesGladman/fileenc.cpp"
60c256f91b 2024-06-27  896:     , "source/Irrlicht/aesGladman/hmac.cpp"
60c256f91b 2024-06-27  897:     , "source/Irrlicht/aesGladman/prng.cpp"
60c256f91b 2024-06-27  898:     , "source/Irrlicht/aesGladman/pwd2key.cpp"
60c256f91b 2024-06-27  899:     , "source/Irrlicht/aesGladman/sha1.cpp"
60c256f91b 2024-06-27  900:     , "source/Irrlicht/aesGladman/sha2.cpp"
60c256f91b 2024-06-27  901:     , "source/Irrlicht/bzip2/blocksort.c"
60c256f91b 2024-06-27  902:     , "source/Irrlicht/bzip2/bzcompress.c"
60c256f91b 2024-06-27  903:     , "source/Irrlicht/bzip2/bzlib.c"
60c256f91b 2024-06-27  904:     , "source/Irrlicht/bzip2/crctable.c"
60c256f91b 2024-06-27  905:     , "source/Irrlicht/bzip2/decompress.c"
60c256f91b 2024-06-27  906:     , "source/Irrlicht/bzip2/huffman.c"
60c256f91b 2024-06-27  907:     , "source/Irrlicht/bzip2/randtable.c"
60c256f91b 2024-06-27  908:     , "source/Irrlicht/CIrrDeviceConsole.cpp"
60c256f91b 2024-06-27  909:     , "source/Irrlicht/CIrrDeviceFB.cpp"
60c256f91b 2024-06-27  910:     , "source/Irrlicht/CIrrDeviceLinux.cpp"
60c256f91b 2024-06-27  911:     , "source/Irrlicht/CIrrDeviceSDL.cpp"
60c256f91b 2024-06-27  912:     , "source/Irrlicht/CIrrDeviceStub.cpp"
60c256f91b 2024-06-27  913:     , "source/Irrlicht/CIrrDeviceWin32.cpp"
60c256f91b 2024-06-27  914:     , "source/Irrlicht/CIrrDeviceWinCE.cpp"
60c256f91b 2024-06-27  915:     , "source/Irrlicht/CAttributes.cpp"
60c256f91b 2024-06-27  916:     , "source/Irrlicht/CFileList.cpp"
60c256f91b 2024-06-27  917:     , "source/Irrlicht/CFileSystem.cpp"
60c256f91b 2024-06-27  918:     , "source/Irrlicht/CLimitReadFile.cpp"
60c256f91b 2024-06-27  919:     , "source/Irrlicht/CMemoryFile.cpp"
60c256f91b 2024-06-27  920:     , "source/Irrlicht/CMountPointReader.cpp"
60c256f91b 2024-06-27  921:     , "source/Irrlicht/CNPKReader.cpp"
60c256f91b 2024-06-27  922:     , "source/Irrlicht/CPakReader.cpp"
60c256f91b 2024-06-27  923:     , "source/Irrlicht/CReadFile.cpp"
60c256f91b 2024-06-27  924:     , "source/Irrlicht/CTarReader.cpp"
60c256f91b 2024-06-27  925:     , "source/Irrlicht/CWADReader.cpp"
60c256f91b 2024-06-27  926:     , "source/Irrlicht/CWriteFile.cpp"
60c256f91b 2024-06-27  927:     , "source/Irrlicht/CXMLReader.cpp"
60c256f91b 2024-06-27  928:     , "source/Irrlicht/CXMLWriter.cpp"
60c256f91b 2024-06-27  929:     , "source/Irrlicht/CZipReader.cpp"
60c256f91b 2024-06-27  930:     , "source/Irrlicht/irrXML.cpp"
60c256f91b 2024-06-27  931:     , "source/Irrlicht/CDefaultGUIElementFactory.cpp"
60c256f91b 2024-06-27  932:     , "source/Irrlicht/CGUIButton.cpp"
60c256f91b 2024-06-27  933:     , "source/Irrlicht/CGUICheckBox.cpp"
60c256f91b 2024-06-27  934:     , "source/Irrlicht/CGUIColorSelectDialog.cpp"
60c256f91b 2024-06-27  935:     , "source/Irrlicht/CGUIComboBox.cpp"
60c256f91b 2024-06-27  936:     , "source/Irrlicht/CGUIContextMenu.cpp"
60c256f91b 2024-06-27  937:     , "source/Irrlicht/CGUIEditBox.cpp"
60c256f91b 2024-06-27  938:     , "source/Irrlicht/CGUIEnvironment.cpp"
60c256f91b 2024-06-27  939:     , "source/Irrlicht/CGUIFileOpenDialog.cpp"
60c256f91b 2024-06-27  940:     , "source/Irrlicht/CGUIFont.cpp"
60c256f91b 2024-06-27  941:     , "source/Irrlicht/CGUIImage.cpp"
60c256f91b 2024-06-27  942:     , "source/Irrlicht/CGUIImageList.cpp"
60c256f91b 2024-06-27  943:     , "source/Irrlicht/CGUIInOutFader.cpp"
60c256f91b 2024-06-27  944:     , "source/Irrlicht/CGUIListBox.cpp"
60c256f91b 2024-06-27  945:     , "source/Irrlicht/CGUIMenu.cpp"
60c256f91b 2024-06-27  946:     , "source/Irrlicht/CGUIMeshViewer.cpp"
60c256f91b 2024-06-27  947:     , "source/Irrlicht/CGUIMessageBox.cpp"
60c256f91b 2024-06-27  948:     , "source/Irrlicht/CGUIModalScreen.cpp"
60c256f91b 2024-06-27  949:     , "source/Irrlicht/CGUIScrollBar.cpp"
60c256f91b 2024-06-27  950:     , "source/Irrlicht/CGUISkin.cpp"
60c256f91b 2024-06-27  951:     , "source/Irrlicht/CGUISpinBox.cpp"
60c256f91b 2024-06-27  952:     , "source/Irrlicht/CGUISpriteBank.cpp"
60c256f91b 2024-06-27  953:     , "source/Irrlicht/CGUIStaticText.cpp"
60c256f91b 2024-06-27  954:     , "source/Irrlicht/CGUITabControl.cpp"
60c256f91b 2024-06-27  955:     , "source/Irrlicht/CGUITable.cpp"
60c256f91b 2024-06-27  956:     , "source/Irrlicht/CGUIToolBar.cpp"
60c256f91b 2024-06-27  957:     , "source/Irrlicht/CGUITreeView.cpp"
60c256f91b 2024-06-27  958:     , "source/Irrlicht/CGUIWindow.cpp"
60c256f91b 2024-06-27  959:     }
60c256f91b 2024-06-27  960:     
60c256f91b 2024-06-27  961:   end --}
60c256f91b 2024-06-27  962:   
60c256f91b 2024-06-27  963: fun["irrlicht_编译"] = function() --{
60c256f91b 2024-06-27  964:   
60c256f91b 2024-06-27  965:   for i = 1, #str["irrlicht_文件表"] do --{
60c256f91b 2024-06-27  966:     
60c256f91b 2024-06-27  967:     os.execute(str["irrlicht_编译参数"]
60c256f91b 2024-06-27  968:     .. "./lib/irrlicht/"
60c256f91b 2024-06-27  969:     .. str["irrlicht_文件表"][i])
60c256f91b 2024-06-27  970:     
60c256f91b 2024-06-27  971:     end --}
60c256f91b 2024-06-27  972:     
60c256f91b 2024-06-27  973:   os.execute("lib /OUT:irrlicht.lib *.obj")
60c256f91b 2024-06-27  974:   
60c256f91b 2024-06-27  975:   end --}
60c256f91b 2024-06-27  976:   
60c256f91b 2024-06-27  977: fun["irrlicht_清理"] = function() --{
60c256f91b 2024-06-27  978:   
60c256f91b 2024-06-27  979:   os.execute("del *.obj")
60c256f91b 2024-06-27  980:   
60c256f91b 2024-06-27  981:   end --}
60c256f91b 2024-06-27  982:   
60c256f91b 2024-06-27  983: fun["lzma_预处理"] = function() --{
60c256f91b 2024-06-27  984:   
60c256f91b 2024-06-27  985:   str["lzma_编译参数"] = "cl "
60c256f91b 2024-06-27  986:   .. "/MD "
60c256f91b 2024-06-27  987:   .. "/O2 "
60c256f91b 2024-06-27  988:   .. "/c "
60c256f91b 2024-06-27  989:     
60c256f91b 2024-06-27  990:   end --}
60c256f91b 2024-06-27  991:   
60c256f91b 2024-06-27  992: fun["lzma_编译"] = function() --{
60c256f91b 2024-06-27  993:   
60c256f91b 2024-06-27  994:   os.execute(str["lzma_编译参数"]
60c256f91b 2024-06-27  995:   .. "./gframe/lzma/*.c")
60c256f91b 2024-06-27  996: 
60c256f91b 2024-06-27  997:   os.execute("lib /OUT:clzma.lib *.obj")
60c256f91b 2024-06-27  998:   
60c256f91b 2024-06-27  999:   end --}
60c256f91b 2024-06-27 1000:   
60c256f91b 2024-06-27 1001: fun["lzma_清理"] = function() --{
60c256f91b 2024-06-27 1002:   
60c256f91b 2024-06-27 1003:   os.execute("del *.obj")
60c256f91b 2024-06-27 1004:   
60c256f91b 2024-06-27 1005:   end --}
60c256f91b 2024-06-27 1006:   
60c256f91b 2024-06-27 1007: fun["spmemvfs_预处理"] = function() --{
60c256f91b 2024-06-27 1008:   
60c256f91b 2024-06-27 1009:   str["spmemvfs_编译参数"] = "cl "
60c256f91b 2024-06-27 1010:   .. "/MD "
60c256f91b 2024-06-27 1011:   .. "/O2 "
60c256f91b 2024-06-27 1012:   .. "/c "
60c256f91b 2024-06-27 1013:   .. "-I " .. lfs.currentdir() .. "/lib/sqlite3 "
60c256f91b 2024-06-27 1014:     
60c256f91b 2024-06-27 1015:   end --}
60c256f91b 2024-06-27 1016:   
60c256f91b 2024-06-27 1017: fun["spmemvfs_编译"] = function() --{
60c256f91b 2024-06-27 1018:   
60c256f91b 2024-06-27 1019:   os.execute(str["spmemvfs_编译参数"]
60c256f91b 2024-06-27 1020:   .. "./gframe/spmemvfs/*.c")
60c256f91b 2024-06-27 1021: 
60c256f91b 2024-06-27 1022:   os.execute("lib /OUT:cspmemvfs.lib *.obj")
60c256f91b 2024-06-27 1023:   
60c256f91b 2024-06-27 1024:   end --}
60c256f91b 2024-06-27 1025:   
60c256f91b 2024-06-27 1026: fun["spmemvfs_清理"] = function() --{
60c256f91b 2024-06-27 1027:   
60c256f91b 2024-06-27 1028:   os.execute("del *.obj")
60c256f91b 2024-06-27 1029:   
60c256f91b 2024-06-27 1030:   end --}
60c256f91b 2024-06-27 1031:   
60c256f91b 2024-06-27 1032: fun["ocgcore_预处理"] = function() --{
60c256f91b 2024-06-27 1033:   
60c256f91b 2024-06-27 1034:   str["ocgcore_编译参数"] = "cl "
60c256f91b 2024-06-27 1035:   .. "/MD "
60c256f91b 2024-06-27 1036:   .. "/O2 "
60c256f91b 2024-06-27 1037:   .. "/c "
60c256f91b 2024-06-27 1038:   .. "/EHsc "
60c256f91b 2024-06-27 1039:   .. "-I " .. lfs.currentdir() .. "/lib/lua/src "
60c256f91b 2024-06-27 1040:     
60c256f91b 2024-06-27 1041:   end --}
60c256f91b 2024-06-27 1042:   
60c256f91b 2024-06-27 1043: fun["ocgcore_编译"] = function() --{
60c256f91b 2024-06-27 1044:   
60c256f91b 2024-06-27 1045:   os.execute(str["ocgcore_编译参数"]
60c256f91b 2024-06-27 1046:   .. "./ocgcore/*.cpp")
60c256f91b 2024-06-27 1047: 
60c256f91b 2024-06-27 1048:   os.execute("lib /OUT:ocgcore.lib *.obj")
60c256f91b 2024-06-27 1049:   
60c256f91b 2024-06-27 1050:   end --}
60c256f91b 2024-06-27 1051:   
60c256f91b 2024-06-27 1052: fun["ocgcore_清理"] = function() --{
60c256f91b 2024-06-27 1053:   
60c256f91b 2024-06-27 1054:   os.execute("del *.obj")
60c256f91b 2024-06-27 1055:   
60c256f91b 2024-06-27 1056:   end --}
60c256f91b 2024-06-27 1057:   
60c256f91b 2024-06-27 1058: fun["ygopro_预处理"] = function() --{
60c256f91b 2024-06-27 1059:   
60c256f91b 2024-06-27 1060:   str["ygopro_编译参数"] = "cl "
60c256f91b 2024-06-27 1061:   .. "/MD "
60c256f91b 2024-06-27 1062:   .. "/O2 "
60c256f91b 2024-06-27 1063:   .. "/c "
60c256f91b 2024-06-27 1064:   .. "/wd 4819 "
60c256f91b 2024-06-27 1065:   .. "/EHsc "
60c256f91b 2024-06-27 1066:   .. "/D _IRR_WCHAR_FILESYSTEM "
60c256f91b 2024-06-27 1067:   .. "-I " .. lfs.currentdir() .. "/ocgcore "
60c256f91b 2024-06-27 1068:   .. "-I " .. lfs.currentdir() .. "/lib/irrlicht/include "
60c256f91b 2024-06-27 1069:   .. "-I " .. lfs.currentdir() .. "/lib/event/include "
60c256f91b 2024-06-27 1070:   .. "-I " .. lfs.currentdir() .. "/lib/freetype/include "
60c256f91b 2024-06-27 1071:   .. "-I " .. lfs.currentdir() .. "/lib/sqlite3 "
60c256f91b 2024-06-27 1072:     
60c256f91b 2024-06-27 1073:   end --}
60c256f91b 2024-06-27 1074:   
60c256f91b 2024-06-27 1075: fun["ygopro_编译"] = function() --{
60c256f91b 2024-06-27 1076:   
60c256f91b 2024-06-27 1077:   os.execute(str["ygopro_编译参数"]
60c256f91b 2024-06-27 1078:   .. "./gframe/*.cpp")
60c256f91b 2024-06-27 1079:   
60c256f91b 2024-06-27 1080:   os.rename("gframe.obj", "gframe.o")
60c256f91b 2024-06-27 1081: 
60c256f91b 2024-06-27 1082:   os.execute("lib /OUT:ygopro.lib *.obj")
60c256f91b 2024-06-27 1083:   
60c256f91b 2024-06-27 1084:   end --}
60c256f91b 2024-06-27 1085:   
60c256f91b 2024-06-27 1086: fun["ygopro_连接"] = function() --{
60c256f91b 2024-06-27 1087:   
60c256f91b 2024-06-27 1088:   os.execute("link "
60c256f91b 2024-06-27 1089:   .. "/OUT:ygopro.exe "
60c256f91b 2024-06-27 1090:   .. "gframe.o "
60c256f91b 2024-06-27 1091:   .. "ygopro.lib "
60c256f91b 2024-06-27 1092:   .. "clzma.lib "
60c256f91b 2024-06-27 1093:   .. "cspmemvfs.lib "
60c256f91b 2024-06-27 1094:   .. "event.lib "
60c256f91b 2024-06-27 1095:   .. "freetype.lib "
60c256f91b 2024-06-27 1096:   .. "irrlicht.lib "
60c256f91b 2024-06-27 1097:   .. "lua.lib "
60c256f91b 2024-06-27 1098:   .. "ocgcore.lib "
60c256f91b 2024-06-27 1099:   .. "sqlite3.lib "
60c256f91b 2024-06-27 1100:   .. "gdi32.lib "
60c256f91b 2024-06-27 1101:   .. "user32.lib "
60c256f91b 2024-06-27 1102:   .. "kernel32.lib "
60c256f91b 2024-06-27 1103:   .. "imm32.lib "
60c256f91b 2024-06-27 1104:   .. "winmm.lib "
60c256f91b 2024-06-27 1105:   .. "ws2_32.lib "
60c256f91b 2024-06-27 1106:   .. "opengl32.lib "
60c256f91b 2024-06-27 1107:   .. "shell32.lib "
60c256f91b 2024-06-27 1108:   .. "iphlpapi.lib "
60c256f91b 2024-06-27 1109:   .. "advapi32.lib "
60c256f91b 2024-06-27 1110:   )
60c256f91b 2024-06-27 1111:   
60c256f91b 2024-06-27 1112:   end --}
60c256f91b 2024-06-27 1113:   
60c256f91b 2024-06-27 1114: fun["ygopro_清理"] = function() --{
60c256f91b 2024-06-27 1115:   
60c256f91b 2024-06-27 1116:   os.execute("del *.obj")
60c256f91b 2024-06-27 1117:   
60c256f91b 2024-06-27 1118:   os.execute("del *.o")
60c256f91b 2024-06-27 1119:   
60c256f91b 2024-06-27 1120:   end --}
60c256f91b 2024-06-27 1121:   
60c256f91b 2024-06-27 1122: --高层--------------------
60c256f91b 2024-06-27 1123: 
60c256f91b 2024-06-27 1124: fun["lua"] = function() --{
60c256f91b 2024-06-27 1125:   
60c256f91b 2024-06-27 1126:   fun["lua_预处理"]()
60c256f91b 2024-06-27 1127:   
60c256f91b 2024-06-27 1128:   fun["lua_编译"]()
60c256f91b 2024-06-27 1129:   
60c256f91b 2024-06-27 1130:   fun["lua_清理"]()
60c256f91b 2024-06-27 1131:   
60c256f91b 2024-06-27 1132:   end --}
60c256f91b 2024-06-27 1133:   
60c256f91b 2024-06-27 1134: fun["sqlite3"] = function() --{
60c256f91b 2024-06-27 1135:   
60c256f91b 2024-06-27 1136:   fun["sqlite3_预处理"]()
60c256f91b 2024-06-27 1137:   
60c256f91b 2024-06-27 1138:   fun["sqlite3_编译"]()
60c256f91b 2024-06-27 1139:   
60c256f91b 2024-06-27 1140:   fun["sqlite3_清理"]()
60c256f91b 2024-06-27 1141:   
60c256f91b 2024-06-27 1142:   end --}
60c256f91b 2024-06-27 1143:   
60c256f91b 2024-06-27 1144: fun["freetype"] = function() --{
60c256f91b 2024-06-27 1145:   
60c256f91b 2024-06-27 1146:   fun["freetype_预处理"]()
60c256f91b 2024-06-27 1147:   
60c256f91b 2024-06-27 1148:   fun["freetype_编译"]()
60c256f91b 2024-06-27 1149:   
60c256f91b 2024-06-27 1150:   fun["freetype_清理"]()
60c256f91b 2024-06-27 1151:   
60c256f91b 2024-06-27 1152:   end --}
60c256f91b 2024-06-27 1153:   
60c256f91b 2024-06-27 1154: fun["libevent"] = function() --{
60c256f91b 2024-06-27 1155:   
60c256f91b 2024-06-27 1156:   fun["libevent_预处理"]()
60c256f91b 2024-06-27 1157:   
60c256f91b 2024-06-27 1158:   fun["libevent_编译"]()
60c256f91b 2024-06-27 1159:   
60c256f91b 2024-06-27 1160:   fun["libevent_清理"]()
60c256f91b 2024-06-27 1161:   
60c256f91b 2024-06-27 1162:   end --}
60c256f91b 2024-06-27 1163:   
60c256f91b 2024-06-27 1164: fun["irrlicht"] = function() --{
60c256f91b 2024-06-27 1165:   
60c256f91b 2024-06-27 1166:   fun["irrlicht_预处理"]()
60c256f91b 2024-06-27 1167:   
60c256f91b 2024-06-27 1168:   fun["irrlicht_编译"]()
60c256f91b 2024-06-27 1169:   
60c256f91b 2024-06-27 1170:   fun["irrlicht_清理"]()
60c256f91b 2024-06-27 1171:   
60c256f91b 2024-06-27 1172:   end --}
60c256f91b 2024-06-27 1173:   
60c256f91b 2024-06-27 1174: fun["lzma"] = function() --{
60c256f91b 2024-06-27 1175:   
60c256f91b 2024-06-27 1176:   fun["lzma_预处理"]()
60c256f91b 2024-06-27 1177:   
60c256f91b 2024-06-27 1178:   fun["lzma_编译"]()
60c256f91b 2024-06-27 1179:   
60c256f91b 2024-06-27 1180:   fun["lzma_清理"]()
60c256f91b 2024-06-27 1181:   
60c256f91b 2024-06-27 1182:   end --}
60c256f91b 2024-06-27 1183:   
60c256f91b 2024-06-27 1184: fun["spmemvfs"] = function() --{
60c256f91b 2024-06-27 1185:   
60c256f91b 2024-06-27 1186:   fun["spmemvfs_预处理"]()
60c256f91b 2024-06-27 1187:   
60c256f91b 2024-06-27 1188:   fun["spmemvfs_编译"]()
60c256f91b 2024-06-27 1189:   
60c256f91b 2024-06-27 1190:   fun["spmemvfs_清理"]()
60c256f91b 2024-06-27 1191:   
60c256f91b 2024-06-27 1192:   end --}
60c256f91b 2024-06-27 1193:   
60c256f91b 2024-06-27 1194: fun["ocgcore"] = function() --{
60c256f91b 2024-06-27 1195:   
60c256f91b 2024-06-27 1196:   fun["ocgcore_预处理"]()
60c256f91b 2024-06-27 1197:   
60c256f91b 2024-06-27 1198:   fun["ocgcore_编译"]()
60c256f91b 2024-06-27 1199:   
60c256f91b 2024-06-27 1200:   fun["ocgcore_清理"]()
60c256f91b 2024-06-27 1201:   
60c256f91b 2024-06-27 1202:   end --}
60c256f91b 2024-06-27 1203:   
60c256f91b 2024-06-27 1204: fun["ygopro"] = function() --{
60c256f91b 2024-06-27 1205:   
60c256f91b 2024-06-27 1206:   fun["ygopro_预处理"]()
60c256f91b 2024-06-27 1207:   
60c256f91b 2024-06-27 1208:   fun["ygopro_编译"]()
60c256f91b 2024-06-27 1209:   
60c256f91b 2024-06-27 1210:   fun["ygopro_连接"]()
60c256f91b 2024-06-27 1211:   
60c256f91b 2024-06-27 1212:   fun["ygopro_清理"]()
60c256f91b 2024-06-27 1213:   
60c256f91b 2024-06-27 1214:   end --}
60c256f91b 2024-06-27 1215:   
60c256f91b 2024-06-27 1216: -------------------------
60c256f91b 2024-06-27 1217: 
60c256f91b 2024-06-27 1218: fun["lua"]()
60c256f91b 2024-06-27 1219: 
60c256f91b 2024-06-27 1220: fun["sqlite3"]()
60c256f91b 2024-06-27 1221: 
60c256f91b 2024-06-27 1222: fun["freetype"]()
60c256f91b 2024-06-27 1223: 
60c256f91b 2024-06-27 1224: fun["libevent"]()
60c256f91b 2024-06-27 1225: 
60c256f91b 2024-06-27 1226: fun["irrlicht"]()
60c256f91b 2024-06-27 1227: 
60c256f91b 2024-06-27 1228: fun["lzma"]()
60c256f91b 2024-06-27 1229: 
60c256f91b 2024-06-27 1230: fun["spmemvfs"]()
60c256f91b 2024-06-27 1231: 
60c256f91b 2024-06-27 1232: fun["ocgcore"]()
60c256f91b 2024-06-27 1233: 
60c256f91b 2024-06-27 1234: fun["ygopro"]()
60c256f91b 2024-06-27 1235: ~~~
60c256f91b 2024-06-27 1236: 
60c256f91b 2024-06-27 1237: ## 缺点
60c256f91b 2024-06-27 1238: 
60c256f91b 2024-06-27 1239: 这样子编译的 ygopro 还缺一些媒体资源,从你的 ygopro 中直接复制过来就行。
60c256f91b 2024-06-27 1240: 
60c256f91b 2024-06-27 1241: 不支持声音,小问题。
60c256f91b 2024-06-27 1242: 
60c256f91b 2024-06-27 1243: 不支持打人机卡组,小问题。
60c256f91b 2024-06-27 1244: 
60c256f91b 2024-06-27 1245: 没有图标,小问题。
60c256f91b 2024-06-27 1246: 
60c256f91b 2024-06-27 1247: 不支持中文输入法,大问题,不过我的输入法不受影响,哈哈。
60c256f91b 2024-06-27 1248: