介紹
仙劍奇俠傳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/