No Description

Pal Lockheart 62df7c9483 win32: mingw/VS2015 individual project works; Google Test Adapter failed, live unit test failed too 7 years ago
3ds e981e3d77a Further move of platform-specific code 7 years ago
3rd e9991b6aa1 unittest: unix make check && osx xctest done 7 years ago
SDL2 7c086bed94 Refactor 5: UWP version is ready 8 years ago
adplug 77bf04e2cc Minor change in licensing information & bug fix in makemessage.py 9 years ago
android a9871d8d68 Move most platform-specific code into separate files. 7 years ago
dingux 12dea8595c Deal with input code & move osx->macos 7 years ago
emscripten a9871d8d68 Move most platform-specific code into separate files. 7 years ago
gph 12dea8595c Deal with input code & move osx->macos 7 years ago
incomplete_ports e981e3d77a Further move of platform-specific code 7 years ago
ios b1bedc54a7 iOS/OSX project miragation 7 years ago
libmad 8e8cdecdd4 OSX compilation fix & travis-ci fix 7 years ago
liboggvorbis a0681238ce HTML5 support via emscripten( no audio/sfx now) 7 years ago
macos e9991b6aa1 unittest: unix make check && osx xctest done 7 years ago
native_midi a7235db0d7 Added VS.net 2008 Project 11 years ago
psp a9871d8d68 Move most platform-specific code into separate files. 7 years ago
tests 62df7c9483 win32: mingw/VS2015 individual project works; Google Test Adapter failed, live unit test failed too 7 years ago
unix e9991b6aa1 unittest: unix make check && osx xctest done 7 years ago
wii 12dea8595c Deal with input code & move osx->macos 7 years ago
win32 62df7c9483 win32: mingw/VS2015 individual project works; Google Test Adapter failed, live unit test failed too 7 years ago
winrt 12dea8595c Deal with input code & move osx->macos 7 years ago
.gitignore 8b2f8cffae Add VSCode ignore 7 years ago
.gitmodules e9991b6aa1 unittest: unix make check && osx xctest done 7 years ago
.travis.yml 8e8cdecdd4 OSX compilation fix & travis-ci fix 7 years ago
AUTHORS.txt 77bf04e2cc Minor change in licensing information & bug fix in makemessage.py 9 years ago
README.txt 256cc0f854 Copyright & README update 7 years ago
ascii.h 614e33d3c2 Bug fix: dead lock on exit, overlay on non-touch devices 9 years ago
audio.c a0681238ce HTML5 support via emscripten( no audio/sfx now) 7 years ago
audio.h a9871d8d68 Move most platform-specific code into separate files. 7 years ago
battle.c b875957d65 Add missing PAL_GetWord 7 years ago
battle.h d6035000dc SDL 1.2.15 compatibility 10 years ago
codepage.h 77bf04e2cc Minor change in licensing information & bug fix in makemessage.py 9 years ago
common.h e981e3d77a Further move of platform-specific code 7 years ago
ending.c 1d74726652 Audio system refactor 8 years ago
ending.h fd9a91e7c6 Unified version 9 years ago
fight.c b875957d65 Add missing PAL_GetWord 7 years ago
fight.h fd9a91e7c6 Unified version 9 years ago
font.c 8e8cdecdd4 OSX compilation fix & travis-ci fix 7 years ago
font.h db959a75bb added bdf font support 8 years ago
fontglyph.h 77bf04e2cc Minor change in licensing information & bug fix in makemessage.py 9 years ago
game.c 1d74726652 Audio system refactor 8 years ago
game.h d70187aec1 Emacs 11 years ago
global.c db959a75bb added bdf font support 8 years ago
global.h 764f0fed3b Try fix enemy magic sound & animation in battle 8 years ago
gpl.txt 8d4be3267d Initial check-in. 12 years ago
input.c 12dea8595c Deal with input code & move osx->macos 7 years ago
input.h 12dea8595c Deal with input code & move osx->macos 7 years ago
itemmenu.c cc1edf8f0d [WIP] Various change for refactor 8 years ago
itemmenu.h d70187aec1 Emacs 11 years ago
magicmenu.c 889f9d766f fix several render problem introduced by UI shadow; make script FFFF behaviour more like original version in dialogs; hidden exp upgrade dialog tweak 7 years ago
magicmenu.h d6035000dc SDL 1.2.15 compatibility 10 years ago
main.c e9991b6aa1 unittest: unix make check && osx xctest done 7 years ago
main.h f3ae0012c5 New sound play model: Moving major processing steps (resample & convert) from main thread to audio thread 8 years ago
makemessage.py 9c43187b03 Added two missing newline marks in makemessage.py 8 years ago
map.c e5ac3699f1 Change SWAPxx into SDL's built-in SDL_SwapLExx. 9 years ago
map.h d70187aec1 Emacs 11 years ago
midi.c 1d74726652 Audio system refactor 8 years ago
midi.h 124361ef8a Eliminate MIDI calls when PAL_HAS_NATIVEMIDI is not defined 8 years ago
mp3play.c c0f0d0230a Use SDL's LockAudio() & UnlockAudio() instead of customized mutex 8 years ago
oggplay.c c0f0d0230a Use SDL's LockAudio() & UnlockAudio() instead of customized mutex 8 years ago
overlay.c a0681238ce HTML5 support via emscripten( no audio/sfx now) 7 years ago
palcfg.c db959a75bb added bdf font support 8 years ago
palcfg.h a9871d8d68 Move most platform-specific code into separate files. 7 years ago
palcommon.c 9f9b818ec5 add back dialog shadow effect from original version 7 years ago
palcommon.h 9f9b818ec5 add back dialog shadow effect from original version 7 years ago
palette.c 5fa74edd95 SDL_GetTicks() ralted fix, avoiding possible bugs on extreme cases when SDL_GetTicks() wrapped, and remove some redundant codes on SDL 2.0 drawing. 9 years ago
palette.h d70187aec1 Emacs 11 years ago
play.c 3d484b530d Resource version auto-detection & bug fixes & fullscreen enabled 8 years ago
play.h d70187aec1 Emacs 11 years ago
players.h c0f0d0230a Use SDL's LockAudio() & UnlockAudio() instead of customized mutex 8 years ago
private.c d6035000dc SDL 1.2.15 compatibility 10 years ago
res.c d6035000dc SDL 1.2.15 compatibility 10 years ago
res.h d6035000dc SDL 1.2.15 compatibility 10 years ago
resampler.c a9871d8d68 Move most platform-specific code into separate files. 7 years ago
resampler.h 2c3f1ef5d4 Fix rix play 9 years ago
rixplay.cpp c0f0d0230a Use SDL's LockAudio() & UnlockAudio() instead of customized mutex 8 years ago
rngplay.c 5fa74edd95 SDL_GetTicks() ralted fix, avoiding possible bugs on extreme cases when SDL_GetTicks() wrapped, and remove some redundant codes on SDL 2.0 drawing. 9 years ago
rngplay.h d70187aec1 Emacs 11 years ago
scene.c d6035000dc SDL 1.2.15 compatibility 10 years ago
scene.h d6035000dc SDL 1.2.15 compatibility 10 years ago
script.c b875957d65 Add missing PAL_GetWord 7 years ago
script.h fd9a91e7c6 Unified version 9 years ago
sdlpal.cfg.example 3d484b530d Resource version auto-detection & bug fixes & fullscreen enabled 8 years ago
sdlpal.ico 305aba1c83 Change ICON & fix dialog 9 years ago
sdlpal.xpm 8d4be3267d Initial check-in. 12 years ago
sound.c a9871d8d68 Move most platform-specific code into separate files. 7 years ago
text.c ccd920206a Fix crash of PAL_swprintf 7 years ago
text.h 2ae14ef18f Added the PAL_swprintf function to avoid incorrect Chinese character output in OSX/iOS/Android. 7 years ago
ui.c 2ae14ef18f Added the PAL_swprintf function to avoid incorrect Chinese character output in OSX/iOS/Android. 7 years ago
ui.h c14510fee0 status UI: applied 8x8/shadow for most labels used here 7 years ago
uibattle.c 1080ef28b3 some UI text tweak, mainly for using in international project 7 years ago
uibattle.h 112754ca15 Remove PAL_UNICODE definition 9 years ago
uigame.c a9871d8d68 Move most platform-specific code into separate files. 7 years ago
uigame.h 3d484b530d Resource version auto-detection & bug fixes & fullscreen enabled 8 years ago
util.c e981e3d77a Further move of platform-specific code 7 years ago
util.h 12dea8595c Deal with input code & move osx->macos 7 years ago
video.c e981e3d77a Further move of platform-specific code 7 years ago
video.h 9963fee8d1 New options on window size & aspect ratio control. 9 years ago
yj1.c 77bf04e2cc Minor change in licensing information & bug fix in makemessage.py 9 years ago

README.txt

SDLPAL
======

SDLPAL is an SDL-based reimplementation of the classic Chinese-language RPG
"Xian Jian Qi Xia Zhuan" (also known as PAL or Legend of Sword and Fairy).


LICENSE
=======

SDLPAL is originally created by Wei Mingzhi from 2009.
Copyright (c) 2009-2011 Wei Mingzhi .
Copyright (c) 2011-2017 SDLPAL development team.
All rights reserved.

SDLPAL is distributed under the terms of GNU General Public License, version 3
(or any later version) as published by the Free Software Foundation. See
gpl.txt for details.

Many of the ideas of this program are based on documents from PAL
Research Project (https://github.com/palxex/palresearch), and portions of the
code are based on the work done by Baldur and louyihua.

The resampler code is based on the code in Kode54's foo_input_adplug project
(https://github.com/kode54/foo_input_adplug).

This program made extensive use of the following libraries:

SDL (http://www.libsdl.org/)
Adplug (http://adplug.sourceforge.net/)
SDL_mixer (http://www.libsdl.org/projects/SDL_mixer/)
libmad (http://www.underbit.com/products/mad/)
libogg & libvorbis (http://www.vorbis.com/)
FLTK (http://www.fltk.org)

And some of the OPL simulation cores this program used are from the DOSBOX
project (http://www.dosbox.com) and MAME project (http://mamedev.org/).

Please see authors.txt for additional authors.

This program does NOT include any code or data files of the original game,
which is proprietary and copyrighted by SoftStar Inc.


COMPILE FOR WINDOWS
===================

The Microsoft Visual Studio 2013 or higher is supported under Windows.

To compile the WIN32 desktop version, open the Visual Studio project file
'sdlpal.sln' under the 'win32' directory.

To comiple the WinRT version, open one of the project files (SDLPal.UWP.sln,
SDLPal.Windows.sln, SDLPal.WindowsPhone.sln) under the 'winrt' directory.
Please note that, to compile the UWP version, Visual Studio 2015 or higher
is required.

For all situations, you need to have SDL 2.0 development or source files
installed at the SDL2 directory under the source tree.


COMPILE FOR GNU/LINUX OR UNIX
=============================

To compile, type:

cd unix
make

You need to have SDL 2.0 development files installed. The compiled executable
should be generated with the filename 'sdlpal' 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 the macro 'PAL_NO_LAUNCH_UI' in
the makefile.

SDLPAL should also be able to compile and run under other UNIX-like systems,
however it's not tested.


COMPILE FOR MAC OS X
====================

To compile, open the project Pal.xcodeproj with Xcode, and click Build. You
need to have SDL framework installed at /Library/Frameworks.

COMPILE FOR IOS
===============

You need to have SDL2 source extracted in the SDL2 folder.To compile,
open the project iOS/SDLPAL/SDLPal.xcodeproj with Xcode, and click Build.


COMPILE FOR ANDROID
===================

You need to have SDL2 source extracted in the SDL2 folder.
To compile, type:
cd android/jni
ndk-build
cd ..
ant debug

COMPILE FOR NINTENDO 3DS
========================

To compile, type:

cd 3ds
make
make cia

You need to have DevkitPro ARM and SDL 1.2 for 3DS portlib installed. The
compiled executable should be generated with the filename 'sdlpal' at the
current directory.

COMPILE FOR OTHER PLATFORMS
===========================

To be written.


REVISED BUILD
=============

By default, SDLPAL builds a "classic" turn-based battle system which is
designed to be 100% the same as the original game.

However, SDLPAL also provides a revised battle system which is more exciting
yet somewhat harder than the original game. If you prefer this new battle
system, please define the macro ENABLE_REVISIED_BATTLE in Makefile or in
common.h, and then 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. You must obtain them from the original CD.

To run the game, copy all the files on the original CD to a directory, then
copy the SDLPAL executable to the same directory, and run the executable.

Note that the filenames of data files should be in lower-case under GNU/Linux
(or other UNIX-like operating systems).


CONFIGURE THE GAME
==================

PAL has several variants using different and incompatible resource files. Now
SDLPAL supports several configuration options for supporting such variants.

To set these configuration options, create a file named as 'sdlpal.cfg' (make
sure to use lower-case file name in UNIX-like operating systems) in the game
directory created by the above step. If no configuration file exists, SDLPAL
uses default values that supports the original resources of DOS version.

Please refer to the 'sdlpal.cfg.example' for configuration file format.


-END OF FILE-