/paintown

Paintown is a 2-d fighting game

Primary LanguageC++OtherNOASSERTION

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