介绍
仙剑奇侠传1是dos时代的经典游戏,相信以下图片能勾起大家的很多回忆。
sdlpal是仙剑奇侠传1的主程序。github项目sdlpal,项目地址:https://github.com/sdlpal/sdlpal,最早由国内仙剑奇侠传爱好
者 Wei Mingzhi发起维护,现由 SDLPAL开发团队维护,项目核心成员如下:
palxex <palxex.ys168.com>
louyihua <louyihua绕过@爬虫21cn.com>
以上第二位和第三位在上一篇文章仙剑奇侠传1系列:1.本地运行环境及兼容性设置中提到过。
louyihua就是那个北航的博士,他的github地址:https://github.com/louyihua
编译
sdlpal官网说扩展了以下框架,注:该版本不能在dos下运行,各位看官不要浪费时间在dosbox里面测试。
- 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共存的。
1、编译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
目录如下
2、编译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/
创作文章不容易,转载文章必须注明文章出处;如果这篇文章对您有帮助,点击右侧打赏,支持一下吧。