Paintown http://paintown.org Version 3.6.1 Jon Rafkind Readme last updated on 11/23/2016 Topics: Get Source Compilation Linux Windows Cygwin OSX Install Linux Scripting Requirements to build Thanks * Get Source: If you are reading this you might already have the source. If not get it from here Game engine: $ git clone https://github.com/kazzmir/paintown The default data is in a different repo: Data: $ git clone https://github.com/kazzmir/paintown-data * Compilation: -------------------------------------- Ubuntu users: There is a script that will install the necessary packages and then invoke the compilation scripts. Type this: $ ./easy-compile-ubuntu -------------------------------------- You can use scons or cmake. If the scons build fails because it cannot find hawknl/nl.h it may be because of this problem, http://scons.tigris.org/issues/show_bug.cgi?id=2121. This error will manifest itself like so: build/network/network.h: 5:23: error: hawknl/nl.h: No such file or directory Try the patch listed on this page, http://scons.tigris.org/nonav/issues/showattachment.cgi/448/bug2121_proposed_patch. Upgrading to scons 1.1.0 also fixes this issue. http://www.scons.org To change the data directory using scons, give the data= argument. $ scons data=my/own/path * Linux $ make or $ scons Cmake also works. $ mkdir b $ cd b $ cmake .. $ make * Windows To use mingw type $ scons env=mingw Otherwise $ scons Or you can use cmake paintown $ md b paintown $ cd b paintown/b $ cmakesetup .. paintown/b $ make The executable will end up in bin/paintown.exe To build a statically linked binary give the 'static' target $ scons static * Cygwin Don't use cygwin's tools. Install python/scons/mingw for regular windows and use that. $ export CYGWIN=1 $ c:\progra~1\Python24\Scripts\scons * OSX $ scons How to build a .dmg file of paintown: $ scons static $ misc/make-osx-bundle This will create paintown-x-y.app/ and paintown-x-y.dmg. You need buildDmg.pl: http://www.objectpark.org/buildDMG.html I have placed the perl script in the misc directory, misc/buildDMG.pl, so just put that in a directory that is part of your path. * Install: * Linux $ ./install.sh -d <data> -b <bin> Copy the data directory to <data> and put a script in <bin>. Default <data> directory is '/usr/share/games/paintown-x.x' where x.x is the version. Default <bin> directory is '/usr/games' The script will prompt you to input these directories if you do not give -d and/or -b. After running install.sh (assuming default values for <data> and <bin>) you can run $ /usr/games/paintown * Anything other than Linux Copy the binary and data somewhere. Otherwise use the prepackaged installers. * Scripting A python engine has been added to paintown so you can script a level. See scripting.txt for more details. * Requirements to build: You need the following things to compile Paintown: * gcc - http://www.gnu.org/software/gcc/ Either * scons - http://www.scons.org * python - http://www.python.org Or * cmake - http://www.cmake.org * zlib - http://www.zlib.net/ * libpng - http://www.libpng.org/pub/png/libpng.html * pthreads - If you are on Unix you should have this or you can install glibc and you will get it. Windows people: http://sources.redhat.com/pthreads-win32/ * freetype - Installed on most Unix systems along with X11. Windows people: http://gnuwin32.sourceforge.net/packages/freetype.htm. * Python headers, usually this comes with python * Allegro 5.x - http://liballeg.org * r-tech1 - http://github.com/kazzmir/r-tech1 put it in the paintown directory and it will be built automatically * Detailed windows instructions *Note* it may be easier to get the gcc4.5 environment from svn: http://svn.code.sourceforge.net/p/paintown/code/build-environments/gcc4.5 Get unxutils for things like mv, rm, cp - http://www.sf.net/projects/unxutils Find the .zip. It unzips as usr\local\wbin, so put that in your path or just copy all the files in usr\local\wbin to your c:\mingw\bin directory. For libpng/zlib see here: http://tjaden.strangesoft.net/loadpng/mingw.html Python 2.4.4 (yes this is old but the game is hardcoded to use it): http://www.python.org/download/releases/2.4.4/ Add c:\python24 to your PATH Copy libs\libpython24.a to c:\mingw\lib Scons - http://www.scons.org Then add c:\python24\scripts to your PATH pthreads - http://sources.redhat.com/pthreads-win32/ get pthreads-win32-2-8-0-release.exe, let it unzip somewhere, then copy the stuff in prebuilt\include to your mingw\include directory. copy the .a files to c:\mingw\lib allegro - http://alleg.sf.net get the 4.2.3 package and dx70_mgw.zip Get freetype from http://gnuwin32.sourceforge.net/packages/freetype.htm. Copy the resulting headers into your include path. Dont copy in freetype2, just the path underneath it, freetype2\freetype. Gnu regex: http://gnuwin32.sourceforge.net/packages/regex.htm Use the dependancy walker: http://www.dependencywalker.com/ to check that all required dlls are around. * Thanks: Rain sound - by inchadney. http://freesound.iua.upf.edu/usersViewSingle.php?id=28867 DUMB - http://dumb.sf.net loadpng - http://tjaden.strangesoft.net/loadpng/ Join the chat at https://webchat.freenode.net/?randomnick=1&channels=paintown