- Notifications
You must be signed in to change notification settings - Fork370
SDL-based reimplementation of the classic Chinese-language RPG known as PAL.
License
sdlpal/sdlpal
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
SDLPAL is an SDL-based cross-platform reimplementation of the classic Chinese RPG game known asPAL.
Check the link above for a Web-based demo of SDLPAL. It should work on most of modern browsers (e.g., Google Chrome, Mozilla Firefox, Safari, ...), but problems might exist on some browsers. Before you can enjoy the game, please prepare a zipped file containing the game resource data.
中国大陆地区用户如从GitHub下载代码存在困难,请使用gitee镜像 (每小时自动更新)。
SDLPAL was originally created byWei Mingzhi from 2009. Now it is owned by the SDLPAL development team. Please seeAUTHORS for full author list.
Copyright (c) 2009-2011, Wei Mingzhi <whistler_wmz@users.sf.net>.Copyright (c) 2011-2024, SDLPAL development team.All rights reserved.SDLPAL is distributed under the terms ofGNU General Public License, version 3 as published by theFree Software Foundation. SeeLICENSE for details.
Many of the ideas of this program are based on documents fromPAL Research Project, and portions of the code are based on the work done by Baldur andlouyihua.
This program made extensive use of the following libraries:
- SDL
- SDL_mixer
- libmad
- libogg & libvorbis
- libopus & opusfile
- FLTK
- TinySoundFont
- OPL player fromAdplug
- OPL emulation cores fromDOSBOX project,MAME project andChocolate Doom project
- Audio resampler fromfoo_input_adplug
- AVI player fromffmpeg
- Image decoder fromstb
This program doesNOT include any code or data files of the original game, which are proprietary and copyrighted bySoftStar Inc.
It's recommended to buy the original game fromSteam, which contains required data files to run SDLPAL.
Seewiki
Currently, SDLPAL supports the following platforms:
- Desktop platforms:Windows (bothWindows Desktop andUniversal Windows Platform),GNU/Linux andmacOS
- Mobile platforms:Android,iOS andWindows
- Home consoles:3DS,WII,PSP and others (some of them are not actively maintained now)
Before start building, you may find some inspiration from readingOur travis scripts.
To build SDLPAL, there are three major steps you need to do:
- Clone the source code from GitHub into your local folder using
gitor through corresponding GUI:
$cd<parent-path-of-sdlpal>$ git clone https://github.com/sdlpal/sdlpal.git
- Update all the submodules used by SDLPAL using
git submoduleor through corresponding GUI:
$cd<parent-path-of-sdlpal>/sdlpal$ git submodule update --init --recursive
- Follow the platform-specific steps listed below.
To build SDLPAL as a Windowsdesktop app, you can useMicrosoft Visual Studio 2017 to open the solution filesdlpal.sln under thewin32 directory.
To build SDLPAL as aUniversal Windows Platform app, you can useMicrosoft Visual Studio 2017 to open the solution fileSDLPal.UWP.sln under thewinrt directory.
To build SDLPAL as a Windowsdesktop app, you can also useMinGW. Steps for building under MinGW varies depends on the compiling environment you have:
- If you need to compile SDLPAL underWindows shell environment, please go to the root of the source code tree and type:
C:\sdlpal>cd win32C:\sdlpal> make -f Makefile.mingw
- If you need to compile SDLPAL undermsys shell environment, please go to the root of the source code tree and type:
$cd win32$ make- If you need to cross-compile SDLPAL underGNU/Linux shell environment, please go to the root of the source code tree and type:
$cd win32$# This builds a 32-bit executable.$ make HOST=i686-w64-mingw32-$# This builds a 64-bit executable.$ make HOST=x86_64-w64-mingw32-
To build the game, please go to the root of the source code tree and type:
$cd unix$ makeYou also need to have SDL 2.0 development files installed in the system. The compiled executable should be generated with the filenamesdlpal at the current directory. By default, SDLPAL uses the FLTK library to provide setting GUI at launch. If you do not want to use the library, please define he macroPAL_NO_LAUNCH_UI in theMakefile. SDLPAL should also be able to compile and run under other Unix-like systems, however it's not tested.
To compile, openPal.xcodeproj withXcode, and click Build. You need to have SDL framework installed at/Library/Frameworks.
To compile, please first install dependencies via CocoaPods following the above instruments, then open the projectios/SDLPal/SDLPal.xcworkplace withXcode, and click Build.
$cd iOS/SDLPAL$ sudo gem install cocoapods# ONLY need do once on one machine$ pod install# ONLY need do once in one repository
To build the game, open theandroid directory throughAndroid Studio, and clickMake Project.
NOTE:
android/app/src/main/java/org/libsdl/appis a link to3rd/SDL/android-project/app/src/main/java/org/libsdl/app. Deal with it properly if your git system does not create link automatically.NOTE: For Windows users, please put the repo at the root of a disk partition. A long path may cause compilation to fail.
To build the game, please go to the root of the source code tree and type:
cd 3dsmakemake ciaYou need to haveDevkitPro ARM andSDL 1.2 for 3DS portlib installed. Creating a CIA package is not required to play the game, but in order to to that, a seperatemakerom tool is required. The compiled executable should be generated with the filenamesdlpal at the current directory.
To build the game, please go to the root of the source code tree and type:
cd wiimakeYou need to haveDevkitPro PPC andSDL 1.2 for Wii portlib installed.
To be written.
The data files required for running the game are not included with the source package due to copyright issues. You need to obtain them from a licensed copy of the game before you can run the game.
To run the game, copy all the files in the original game CD to a directory, then copy the built SDLPAL executable to the same directory, and run the executable.
Note that the filenames of data files should be all in lower-case under systems that use case-sensitive filesystems such as GNU/Linux or other Unix-like operating systems.
If you prefer using MIDI as background music source, please note that the MIDI playing feature is not yet complete under every supported platform. Currently,offical support is provided underWindows Desktop,Universal Windows Platform,Android,iOS andmacOS. There is also a preliminary support forGNU/Linux that relys upon packagetimidity. Other platforms do not support playing MIDI for now.
PAL has several variants using different and incompatible resource files, and SDLPAL supports several configuration options for supporting such variants. The default values are used to support the resources from original DOS version. If you want to change these configurations, you have two options: through the configuration GUI or by manipulating the configuration filesdlpal.cfg manually.
The configuration GUI provides options for you to change the most common configuration options. If you launch SDLPAL for the first time, it will bring you to the configuration GUI by default. Once you have saved configurations from the GUI, the GUI will not to show again on subsequent launches. However, you have the opportunity to bring the GUI back on fatal game program errors or through the in-game system menu.
Currently, the configuration GUI is available under the following platforms:
- Desktop platforms:Windows (bothWindows Desktop andUniversal Windows Platform) andGNU/Linux
- Mobile platforms:Android,Windows andiOS
Configuration GUIs formacOS is still unavailable for now and we welcome contributions to implement it.
To set the configuration options manually, create a file named assdlpal.cfg (make sure to use lower-case file name in case-sensitive filesystems) in the game directory created by the above step. Please refer to theexample file for format specfication.
If you find any issues of SDLPAL, please feel free to report them to the development team through GitHub's issue tracking system using either English or Chinese.
Any original code & documentation contributions are welcomed as long as the contributed code & documentation is licensed under GPL. You can use GitHub's pull request system to submit your changes to the main repository here. But remember, as a step to keep the quality of code, you should write corresponding unit tests before your changes can be merged. The guidance of writting unit tests can be foundhere.
About
SDL-based reimplementation of the classic Chinese-language RPG known as PAL.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors14
Uh oh!
There was an error while loading.Please reload this page.