Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

SDLPAL 3DS: Difference between revisions

From GameBrew
No edit summary
No edit summary
Line 2: Line 2:
|title=SDLPAL
|title=SDLPAL
|image=SDLPAL.jpg
|image=SDLPAL.jpg
|description=SDLPAL is an SDL-based open-source cross-platform reimplementation of the classic Chinese RPG game.
|description=Port of The Legend of Sword and Fairy to the 3DS.
|author=ZephRay
|author=SDLPAL Team
|lastupdated=2017/02/18
|lastupdated=2017/02/18
|type=Other Apps
|type=Role playing
|version=1.1
|version=1.1
|license=Mixed
|license=Mixed
|download=https://dlhb.gamebrew.org/3dshomebrew/Sdlpalv2.0.2021.0214.7z
|download=[https://dlhb.gamebrew.org/3dshomebrews/sdlpal.7z SDLPAL+English patch]
|website=https://github.com/sdlpal/sdlpal
|website=https://sdlpal.github.io/sdlpal
|source=https://github.com/sdlpal/sdlpal
|source=https://github.com/sdlpal/sdlpal
}}
}}
<youtube>swZp8xbD2YI</youtube>
SDLPAL is a SDL-based open-source cross-platform reimplementation of the classic Chinese RPG game The Legend of Sword and Fairy (Simplified Chinese: 仙剑奇侠传, Traditional Chinese: 仙劍奇俠傳, also known as Chinese Paladin, or PAL for short). It is availble in both Chinese and non-official English.
 
Originally created by [https://github.com/CecilHarvey Wei Mingzhi] from 2009. Now it is owned by the SDLPAL development team. Many of the ideas of this program are based on documents from [https://github.com/palxex/palresearch PAL Research Project], and portions of the code are based on the work done by Baldur and [https://github.com/louyihua louyihua].
 
Note that this program does not include any code or data files of the original game, which are proprietary and copyrighted by [http://www.softstar.com.tw SoftStar] Inc.
 
==Installation==
'''Note:''' 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.
 
Create a new folder named sdlpal in 3ds folder of your SD card.
 
Copy the sdlpal.cfg to the sdlpal folder just created, so you should have sdmc:/3ds/sdlpal/sdlpal.cfg (make sure you delete the .example at the end of the filename).
 
Extract the game data files sdlpal folder (except for 2 folders and the AVI files, they are not needed as music is not supported in 3DS version).
 
Next open sdlpal.cfg:
* Change CODEPAGE=0 to CODEPAGE=1 (delete the # in front of the line to enable it).
* If you are using n3DS, turn on CPU+L2 boost in your CFW menu.
* If you are using o3DS, open sdlpal.cfg, change both STEREO and USESURROUNDOPL to 0, lower both SAMPLERATE and OPLSAMPLERATE to 22050.
 
You are now good to play the game in Chinese. Follow the steps below to apply the English patch:
* English patch is included in the download (by [http://www.romhacking.net/translations/2441/ PalFans]).
* Extract everything except sdlpal.cfg in the win directory to the sdlpal directory of the SD card.
* Overwrite m.msg, sss.mkf and word.dat, add m_chs.slf and m_eng.slf.
* Open sdlpal.cfg, append "MESSAGEFILENAME=./m_eng.slf" (near bottom).
 
==User guide==
===FAQ===
Please see https://github.com/sdlpal/sdlpal/wiki/FAQ_CHS (in Chinese).
 
==Controls==
D-Pad/C-Pad - Move, Select
 
A/Start - Enter
 
B/Select - Menu


== SDLPAL ==
L - Accelerate the game (not working on o3DS, up to maximum 3X of the speed so you can skip fight animation etc)


'''''SDLPAL''''' is an SDL-based open-source cross-platform reimplementation of the classic Chinese RPG game ''Xiān jiàn Qí Xiá Zhuàn (Simplified Chinese: 仙剑奇侠传, Traditional Chinese: 仙劍奇俠傳)'' (also known as ''Chinese Paladin'' or ''Legend of Sword and Fairy'', or ''PAL'' for short).
==Screenshots==
https://dlhb.gamebrew.org/3dshomebrews/sdlpal3.png
https://dlhb.gamebrew.org/3dshomebrews/sdlpal4.png


[https://play.google.com/store/apps/details?id=com.sdlpal.sdlpal Google Play]
https://dlhb.gamebrew.org/3dshomebrews/sdlpal5.png
https://dlhb.gamebrew.org/3dshomebrews/sdlpal6.png


If you would like to get the nightly build from Google Play Store, [https://play.google.com/apps/testing/com.sdlpal.sdlpal please enroll] (WARNING: might be unstable).
==Media==
'''SDLPAL 3DS Review (Chinese)''' ([https://www.youtube.com/watch?v=swZp8xbD2YI 充满游戏]) <br>
<youtube>swZp8xbD2YI</youtube>


'''[https://sdlpal.github.io/demo/sdlpal.html Try the online demo for now!]'''
==Compatibility==
Compatible with both o3DS and n3DS.


The development team has built a web-based demo version of SDLPAL on github pages via Emscripten, which you can try anytime by clicking the above link. It should work well on most morden browsers (e.g., Google Chrome, Microsoft Edge, Safari, …), but there may still be problems on some browsers. Before you can enjoy your game journey, please prepare a zipped file containing the game resource data.
Tested on Citra.


== LICENSE ==
==Changelog==
'''v2.0 2021/02/14'''
* Experimental release for 2021-02-14.


SDLPAL is originally created by [https://github.com/CecilHarvey Wei Mingzhi] from 2009. Now it is owned by the SDLPAL development team. Please see [[AUTHORS|AUTHORS]] for full author list.
'''v1.1 2017/02/18'''
* Merged new functionality from [https://github.com/nbzwt/sdlpal/releases/tag/v1.1 mainline repository].


<pre>Copyright (c) 2009-2011, Wei Mingzhi &lt;whistler_wmz@users.sf.net&gt;.
'''v1.0 2017/02/17'''
Copyright (c) 2011-2018, SDLPAL development team.
* Initial release, based on a extremely outdated version of sdlpal. Fully playable with Pal DOS resource file:
All rights reserved.</pre>
SDLPAL is distributed under the terms of GNU General Public License, version 3 as published by the Free Software Foundation. See [[LICENSE|LICENSE]] for details.


Many of the ideas of this program are based on documents from [https://github.com/palxex/palresearch PAL Research Project], and portions of the code are based on the work done by Baldur and [https://github.com/louyihua louyihua].
==Credits==
Copyright (c) 2009-2011, Wei Mingzhi.
Copyright (c) 2011-2021, SDLPAL development team.


This program made extensive use of the following libraries:  
This program made extensive use of the following libraries:  
Line 51: Line 95:
* Image decoder from [https://github.com/nothings/stb stb]
* Image decoder from [https://github.com/nothings/stb stb]


This program does '''NOT''' include any code or data files of the original game, which are proprietary and copyrighted by [http://www.softstar.com.tw/ SoftStar] Inc.
==External links==
 
* Official website - https://sdlpal.github.io/sdlpal
== FAQ ==
* Author's website (zephray) - https://www.zephray.me/post/sdlpal_3ds_port
 
* GitHub (SDLPAL team) - https://github.com/sdlpal/sdlpal
See [https://github.com/sdlpal/sdlpal/blob/wiki wiki]
* GitHub (zephray) - https://github.com/zephray/sdlpal-old
 
* GitHub (weimzh) - https://github.com/weimzh/sdlpal
== Chat Room ==
* GBAtemp - https://gbatemp.net/threads/release-the-legend-of-sword-and-fairy-sdlpal-a-classical-dos-rpg-port-to-3ds.461422
 
Want to chat with other members of the SDLPal community?
 
We have a Gitter Room which you can join below.
 
[https://gitter.im/sdlpal/sdlpal Join the chat]
 
== Building the game ==
 
Currently, SDLPAL supports the following platforms: * Desktop platforms: ''Windows'' (both ''Windows Desktop'' and ''Universal Windows Platform''), ''Linux'' and ''macOS'' * Mobile platforms: ''Android'', ''iOS'' and ''Windows'' * Home consoles: ''3DS'', ''WII'', ''PSP'' and others (some of them are not actively maintained now)
 
Before start building, you may find some inspiration from reading [https://github.com/sdlpal/sdlpal/blob/master/docs/.travis.yml Our travis scripts].
 
To build SDLPAL, there are three major steps you need to do: 1. Clone the source code from Github into your local folder using <code>git</code> or through corresponding GUI:
 
<source lang="shell">$ cd <parent-path-of-sdlpal>
$ git clone https://github.com/sdlpal/sdlpal.git</source>
<ol start="2" style="list-style-type: decimal;">
<li>Update all the submodules used by SDLPAL using <code>git submodule</code> or through corresponding GUI:</li></ol>
 
<source lang="shell">$ cd <parent-path-of-sdlpal>/sdlpal
$ git submodule update --init --recursive</source>
<ol start="3" style="list-style-type: decimal;">
<li>Follow the platform-specific steps listed below.</li></ol>
 
== Windows ==
 
=== Visual Studio ===
 
To build SDLPAL as a Windows '''desktop''' app, you can use '''''Microsoft Visual Studio 2017''''' to open the solution file ''<code>sdlpal.sln</code>'' under the ''<code>win32</code>'' directory.
 
To build SDLPAL as a '''Universal Windows Platform''' app, you can use '''''Microsoft Visual Studio 2017''''' to open the solution file ''<code>SDLPal.UWP.sln</code>'' under the ''<code>winrt</code>'' directory.
 
=== MinGW ===
 
To build SDLPAL as a Windows '''desktop''' app, you can also use '''''MinGW'''''. Steps for building under MinGW varies depends on the compiling environment you have:
 
* If you need to compile SDLPAL under '''Windows''' shell environment, please go to the root of the source code tree and type:
 
<pre class="cmd">C:\sdlpal&gt; cd win32
C:\sdlpal&gt; make -f Makefile.mingw</pre>
* If you need to compile SDLPAL under '''msys''' shell environment, please go to the root of the source code tree and type:
 
<source lang="bash">$ cd win32
$ make</source>
* If you need to cross-compile SDLPAL under '''Linux''' shell environment, please go to the root of the source code tree and type:
 
<source lang="bash">$ 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-</source>
== Linux or Unix ==
 
To build the game, please go to the root of the source code tree and type:
 
<source lang="shell">$ cd unix
$ make</source>
You also need to have SDL 2.0 development files installed in the system. The compiled executable should be generated with the filename ''<code>sdlpal</code>'' 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 macro <code>PAL_NO_LAUNCH_UI</code> in the <code>Makefile</code>. SDLPAL should also be able to compile and run under other Unix-like systems, however it’s not tested.
 
== macOS (OS X) ==
 
To compile, open ''<code>Pal.xcodeproj</code>'' with <code>Xcode</code>, and click Build. You need to have SDL framework installed at ''<code>/Library/Frameworks</code>''.
 
== iOS ==
 
To compile, please first install dependencies via CocoaPods following the above instruments, then open the project ''<code>ios/SDLPal/SDLPal.xcworkplace</code>'' with <code>Xcode</code>, and click Build.
 
<source lang="shell">$ cd iOS/SDLPAL
$ sudo gem install cocoapods # ONLY need do once on one machine
$ pod install # ONLY need do once in one repository</source>
== Android ==
 
To build the game, open the <code>android</code> directory through '''''Android Studio''''', and click <code>Make Project</code>.
 
* NOTE: <code>android/app/src/main/java/org/libsdl/app</code> is a link to <code>3rd/SDL/android-project/app/src/main/java/org/libsdl/app</code>. Deal with it properly if your git system does not create link automatically.
* NOTE: For Windows users, please put the repo in the root of a partition. A too long path may cause compilation to fail.
 
== Nintendo 3DS ==
 
To build the game, please go to the root of the source code tree and type:
 
<source lang="shell">cd 3ds
make
make cia</source>
You need to have ''DevkitPro ARM'' and ''SDL 1.2'' for 3DS portlib installed. Creating a CIA package is not required to play the game, but in order to to that, a seperate ''makerom'' tool is required. The compiled executable should be generated with the filename ''<code>sdlpal</code>'' at the current directory.
 
== Nintendo Wii ==
 
To build the game, please go to the root of the source code tree and type:
 
<source lang="shell">cd wii
make</source>
You need to have ''DevkitPro PPC'' and ''SDL 1.2'' for Wii portlib installed.
 
== Other platforms ==
 
To be written.
 
== Choosing the battle system ==
 
By default, SDLPAL builds a ''“classic”'' turn-based battle system which is designed to be 100% the same as the original game.
 
SDLPAL also provides a revised battle system ('''''deprecated''''' and will be removed in future) which is more exciting yet somewhat harder than the original game. If you prefer this battle system, please define the macro <code>ENABLE_REVISIED_BATTLE</code> in ''<code>Makefile</code>'' or in ''<code>common.h</code>'' and recompile the project.
 
== Running the game ==
 
The data files required for running the game are not included with the source package due to copyright issues, so you need to obtain them from a licensed game copy 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 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 under ''Windows Desktop'', ''Universal Windows Platform'', ''Android'', ''iOS'' and ''macOS''. There is also a preliminary support for ''Linux'' that relys upon package ''timidity''. Other platforms do not support playing MIDI for now.
 
== Configuring the game ==
 
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 file ''<code>sdlpal.cfg</code>'' manually.
 
== GUI ==
 
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'' (both ''Windows Desktop'' and ''Universal Windows Platform'') and ''Linux'' * Mobile platforms: ''Android'', ''Windows'' and ''iOS''
 
Configuration GUIs for ''macOS'' is still unavailable for now and we welcome contributions to implement it.
 
== Manually ==
 
To set the configuration options manually, create a file named as ''<code>sdlpal.cfg</code>'' (make sure to use lower-case file name in case-sensitive filesystems) in the game directory created by the above step. Please refer to the [https://github.com/sdlpal/sdlpal/blob/master/docs/sdlpal.cfg.example example file] for format specfication.
 
== Reporting issues ==
 
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.
 
== Contributing to the game ==


Any original code &amp; documentation contributions are welcomed as long as the contributed code &amp; 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 found [[tests|here]].
[[Category:3DS homebrew games]]
[[Category:Homebrew role playing games on 3DS]]

Revision as of 16:03, 3 December 2021

SDLPAL
File:SDLPAL.jpg
General
AuthorSDLPAL Team
TypeRole playing
Version1.1
LicenseMixed
Last Updated2017/02/18
Links
[SDLPAL+English patch Download]
Website
Source

SDLPAL is a SDL-based open-source cross-platform reimplementation of the classic Chinese RPG game The Legend of Sword and Fairy (Simplified Chinese: 仙剑奇侠传, Traditional Chinese: 仙劍奇俠傳, also known as Chinese Paladin, or PAL for short). It is availble in both Chinese and non-official English.

Originally created by Wei Mingzhi from 2009. Now it is owned by the SDLPAL development team. Many of the ideas of this program are based on documents from PAL Research Project, and portions of the code are based on the work done by Baldur and louyihua.

Note that this program does not include any code or data files of the original game, which are proprietary and copyrighted by SoftStar Inc.

Installation

Note: 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.

Create a new folder named sdlpal in 3ds folder of your SD card.

Copy the sdlpal.cfg to the sdlpal folder just created, so you should have sdmc:/3ds/sdlpal/sdlpal.cfg (make sure you delete the .example at the end of the filename).

Extract the game data files sdlpal folder (except for 2 folders and the AVI files, they are not needed as music is not supported in 3DS version).

Next open sdlpal.cfg:

  • Change CODEPAGE=0 to CODEPAGE=1 (delete the # in front of the line to enable it).
  • If you are using n3DS, turn on CPU+L2 boost in your CFW menu.
  • If you are using o3DS, open sdlpal.cfg, change both STEREO and USESURROUNDOPL to 0, lower both SAMPLERATE and OPLSAMPLERATE to 22050.

You are now good to play the game in Chinese. Follow the steps below to apply the English patch:

  • English patch is included in the download (by PalFans).
  • Extract everything except sdlpal.cfg in the win directory to the sdlpal directory of the SD card.
  • Overwrite m.msg, sss.mkf and word.dat, add m_chs.slf and m_eng.slf.
  • Open sdlpal.cfg, append "MESSAGEFILENAME=./m_eng.slf" (near bottom).

User guide

FAQ

Please see https://github.com/sdlpal/sdlpal/wiki/FAQ_CHS (in Chinese).

Controls

D-Pad/C-Pad - Move, Select

A/Start - Enter

B/Select - Menu

L - Accelerate the game (not working on o3DS, up to maximum 3X of the speed so you can skip fight animation etc)

Screenshots

sdlpal3.png sdlpal4.png

sdlpal5.png sdlpal6.png

Media

SDLPAL 3DS Review (Chinese) (充满游戏)

Compatibility

Compatible with both o3DS and n3DS.

Tested on Citra.

Changelog

v2.0 2021/02/14

  • Experimental release for 2021-02-14.

v1.1 2017/02/18

v1.0 2017/02/17

  • Initial release, based on a extremely outdated version of sdlpal. Fully playable with Pal DOS resource file:

Credits

Copyright (c) 2009-2011, Wei Mingzhi. Copyright (c) 2011-2021, SDLPAL development team.

This program made extensive use of the following libraries:

External links

Advertising: