上一篇:仙剑奇侠传1系列:1.本地运行环境及兼容性设置html
介绍
仙剑奇侠传1是dos时代的经典游戏,相信如下图片能勾起你们的不少回忆。git
sdlpal是仙剑奇侠传1的主程序。github项目sdlpal,项目地址:https://github.com/sdlpal/sdlpal,最先由国内仙剑奇侠传爱好github
者 Wei Mingzhi发起维护,现由 SDLPAL开发团队维护,项目核心成员以下:windows
palxex <palxex.ys168.com>测试
louyihua <louyihua绕过@爬虫21cn.com>spa
以上第二位和第三位在上一篇文章仙剑奇侠传1系列:1.本地运行环境及兼容性设置中提到过。.net
louyihua就是那个北航的博士,他的github地址:https://github.com/louyihua3d
编译
sdlpal官网说扩展了如下框架,注:该版本不能在dos下运行,各位看官不要浪费时间在dosbox里面测试。code
- SDL
- SDL_mixer
- libmad
- libogg & libvorbis
- FLTK
- OPL player from Adplug
- OPL emulation cores from DOSBOX project, MAME project and Chocolate Doom project
- Audio resampler from foo_input_adplug
- AVI player from ffmpeg
- Image decoder from stb
按常规思惟,笔者联想到,可能会依赖这些库。按图索骥到sdl官网http://www.libsdl.org下载sdl回来。
通过笔者最终测试,sdlpal再也不像windows95/98那个版本把sdl静态编译到主程序里。而是以动态库方式和主程序sdlpal.exe共存的。
一、编译sdl
sdlpal主程序依赖于sdl,因而优先编译sdl,笔者本地使用Visual Studio 2019企业版,安装时勾选如下几项
sdl的编译还须要Directx的sdk,各位看官须要去微软下载Microsoft DirectX SDK (June 2010),地址
https://download.microsoft.com/download/A/E/7/AE743F1F-632B-4809-87A9-AA1BB3458E31/DXSDK_Jun10.exe
安装后得到Directx SDK文件C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)
截至编写此文章时官网SDL最新版本SDL2-2.0.10,下载地址http://www.libsdl.org/release/SDL2-2.0.10.zip
将SDL2-2.0.10下载回来放到sdlpal的3rd目录
打开SDL2-2.0.10项目后将SDL2和SDL2main更改SDK为Visual Studio 2017 - Windows XP (v141_xp)
必定要更改为这个,不然编译报错
c2118:负下标
笔者曾尝试下载 1.2.15编译,这个版本的是从Visual C++6.0升级过来的,这个版本不是本程序编译的最低依赖版本。
这里遇到的错误页分享如下,将库文件目录
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x64
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x86
分别在添加到编译的库文件类路径,此处再也不详述。
打开目录3rd\SDL\SDL2-2.0.10\VisualC中的SDL.sln编译项目,得到
如下三个文件
SDL2.lib
SDL2main.lib
SDL2.dll
将3rd\SDL\SDL2-2.0.10\include目录拷贝到
3rd\include
目录以下
二、编译sdlpal
打开项目sdlpal-master\win32目录下的sdlpal工程文件,修改配置以下
更改SDK为Visual Studio 2017 - Windows XP (v141_xp)
库目录添加..\3rd\SDL
编译经过。得到如下文件sdlpal.exe
将编译SDL2-2.0.10得到的SDL2.dll和sdlpal.exe复制到仙剑奇侠传1的运行目录,以下(上面的第5张图片)
打开sdlpal.exe程序界面以下
启动游戏
资料:
中国仙剑联盟怀旧版资料库 http://palunion.ys168.com/