[MOD] 如何制作战役

要制作新mod或查看、编辑已有mod,须下载源码包。

这里通过介绍战役在源码树中结构,来说明如何将自制战役添加游戏。至于战役中具体细节,像如何设置势力等参考其它贴子。战役实例:群雄争霸

为方便,这里以“群雄争霸”为例进行说明。

 

一、战役在源码树中结构

一个战役在源码中会出现于四个位置

  • 配置及多媒体资源
  • 多国语言翻译包:po文本
  • 多国语言翻译包:mo二进数据
  • 由配置生成的二进制bin包

以下分别说明四个结构

配置及多媒体资源

该目录下有四个目录及_main.cfg文件。

  • _main.cfg:战役主介绍文件。必须有,并且必须是_main.cfg文件名。
  • [color=Blue]images[/color]:(Release时须要)。战役中涉及到的图像。像序曲中涉及到图像,自定义兵种时使用到图像。目录可以没有,但如果有的话必须是images目录名。
  • maps:战役中涉及到的地图数据。
  • scenarios:战役中涉及到的场景配置。
  • units:自定义兵种配置。

编辑器只会读不写这个目录。

 

多国语言翻译包:po文本

王国战争使用gettext机制处理多国语言。强烈建议使用poEdit来辅助处理gettext。

“群雄争霸”中使用的可翻译字符串集中存放在wesnoth_race.mo。此个目录中文件用于生成wesnoth_race.mo。

  • wesnoth_race.pot:翻译字符串模板文件。
  • zh_CN.po:基于wesnoth_race.pot,简体中文化了的字符串。

打开zh_CN.po,poEdit“保存”后会生成zh_CN.mo。

 

多国语言翻译包:mo二进数据

该目录下是游戏在简体中文环境时要用到的所有多国语言翻译包,“群雄争霸”要生成的只是一个文件。

  • wesnoth-race.mo:(Release时须要)。它就是zh_CN.mo改个文件名。

wesnoth-race.mo得如何得来的?——它来自于“配置及多媒体资源”中的_main.cfg文件。_main.cfg头一行:[code]#textdomain wesnoth-race[/code]指示该战役使用语言包是“wesnoth-race”,而mo是gettext机制约定的二进包扩展名。

 

由配置生成的二进制bin包

该目录下和“群雄争霸”对应的是hero_race.bin。这个文件是编辑器根据“配置及多媒体资源”目录自动生成。

  • hero_race.bin:(Release时须要)。战役二进制数据包。

 

二、制作战役时要使用到软件

文本编辑器

用于编辑*.cfg文件。UltraEdit、Visual C/C++ .Net等。

 

gettext辅助工具

强烈建议使用poedit

 

地图编辑器

游戏自带。

 

编辑器

游戏自带。

编辑器功能是根据“配置及多媒体资源”目录生成hero_race.bin。

1、在左上角设置源码树所在目录。

2、右侧列表框会显示所有要生成的bin文件。定位到自创建战役,“群雄争霸”对应hero_race.bin。(如何得到hero_race.bin文件名?——见“配置及多媒体资源”中_main.cfg的id=hero_race,它生成规则是id字段值加上.bin扩展名)。

3、单击“Build”执行生成。图中的绿色“+”符号表示hero_race.bin和“配置及多媒体资源”数据已同步,一旦不同步,会变成红色“!”符号。

4、执行源码树根下的kingdom.exe就可测试实际效果。

全部评论: 0

    写评论: