Skip to content
mercury233 edited this page Apr 3, 2022 · 1 revision

准备工作

下载

  • YGOPro发行版

    用以获取卡片数据库和卡图,其中数据库是必备的

  • git

    并且拥有github账号和SSH的key

  • premake5

    项目有两种描述文件premake和cmake,但cmake近期无人维护

  • irrKlang

    下载64位版,可在premake5.lua中修改USE_IRRKLANG来禁用,结果就是没有声音

依赖库

通过apt安装:

  • libevent-dev
  • libfreetype6-dev
  • libgl1-mesa-dev
  • libglu1-mesa-dev
  • libsqlite3-dev
  • libxxf86vm-dev

以下两个依赖库需要手工下载源代码并静态编译

  • Irrlicht-1.8.5

    只有这个版本被测试过,而且需要打中文支持的补丁才能用

  • Lua-5.4

    不支持5.2及更早的版本,需要C++编译而不是默认的C编译,所以在此静态编译

下载代码库

使用git clone即可,clone时加--recursive来同时克隆子模块,或者完成后运行git submodule update --init

clone完成后需要分别进入ocgcorescript两个子模块文件夹checkout到master分支

具体命令:

git clone [email protected]:Fluorohydride/ygopro.git
cd ygopro
git submodule update --init
cd ocgcore/
git checkout master 
cd ..
cd script/
git checkout master 
cd ..

安装依赖库

  • 将下载的irrlicht解压到项目文件夹,重命名为irrlicht

  • 将下载的irrKlang解压到项目文件夹,重命名为irrklang注意k是小写

  • 将下载的lua解压到项目文件夹,重命名为lua

  • 将premake文件夹内irrlichtlua文件夹复制到项目文件夹,其中包含了各个依赖库的premake描述文件,可以自行修改完善

为irrlicht打中文补丁

原版irrlicht不支持中文,需要打补丁,进入irrlicht文件夹运行

patch -p1 < irrlicht.patch

也可以直接使用修改好的版本

生成项目文件并编译

解压premake5程序放到项目文件夹,然后运行

./premake5 gmake

就可以进入build文件夹并make

此时目录结构省略多余文件后应该看起来是这样:

├── bin
├── build
├── cmake
├── gframe
├── irrklang
│   ├── bin
│   └── include
├── irrlicht
│   ├── include
│   └── source
│       └── Irrlicht
├── lua
│   └── src
├── obj
├── ocgcore
├── premake
├── script
├── sound
└── textures

调试运行

从发行版里把cards.cdbpics文件夹和deck文件夹和replay文件夹ln到项目根目录

然后将bin\releasebin\debug里生成的ygopro程序ln到项目根目录即可运行