Skip to content
Paintown is a 2-d fighting game
Branch: master
Clone or download
juvinious Fixed links to repository in README. Renamed LEGAL to LEGAL.md and up…
…dated its contents to reflect existing data directory (Fixes #23).
Latest commit ec5824f Apr 12, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bugs update bug May 10, 2009
cmake Move LLVM detection for cmake to own module like r-tech1 library. Apr 10, 2018
data Fixed links to repository in README. Renamed LEGAL to LEGAL.md and up… Apr 11, 2018
debian override dh Aug 20, 2012
doc add instructions for mingw cross compiler Feb 27, 2014
editor remove unused scala jars Jul 17, 2015
installer Copy data directory to install location and paintown binary. Dec 22, 2009
misc Delete .png from icon name in launcher file. Fixes #4 Mar 26, 2016
scons
src Fixed links to repository in README. Renamed LEGAL to LEGAL.md and up… Apr 11, 2018
tools start an abstraction over input sources Aug 29, 2011
.gitignore Added default mod to display main menu. Ignore .swp files in .gitignore Apr 2, 2018
CMakeLists.txt Move LLVM detection for cmake to own module like r-tech1 library. Apr 10, 2018
LEGAL.md Fixed links to repository in README. Renamed LEGAL to LEGAL.md and up… Apr 11, 2018
LICENSE start a new mugen command design Jan 15, 2014
Makefile move low-level timer handling to implementation specific files Jan 3, 2014
README.md Fixed links to repository in README. Renamed LEGAL to LEGAL.md and up… Apr 11, 2018
SConstruct Added back in HAVE_NETWORKING (kazzmir/r-tech1@9b57efc). Moved Openbo… Apr 9, 2018
TODO Updated TODO. Feb 1, 2010
easy-compile-fedora
easy-compile-ubuntu add ogg, vorbis, and mp3 libraries to the dependancy list Sep 17, 2011
gui-installer update version to 3.6.1 Aug 20, 2012
install.sh Accept arguments for the shell script Jan 13, 2018
release-checklist
scripting.txt update scripting stuff Jan 10, 2009

README.md

Paintown

by Jon Rafkind

Updated on 04/11/2018

Table of Contents

Releases

Current

3.6.0

All Releases

Click Here

Get Source

If you are reading this you might already have the source. If not get it from the Paintown Repository.

Additional data which has collections of characters, levels and other items can be obtained in the Paintown Data Repository.

Note to distribution maintainers it is recommended to omit the data from the above repository since it may contain copyrighted material.
The included data in the Paintown Repository should be sufficient for running the application (which excludes levels and content).

Requirements to build

You need the following things to compile Paintown:

  • GNU build utils (gcc and g++)
  • Software construction tools (either or)
  • zlib
  • libpng
  • pthreads - If you are on Unix you should have this or you can install glibc and you will get it. (On Windows get it here)
  • freetype - Installed on most Unix systems along with X11. (On windows get it here)
  • Scripting
    • python and its headers (usually this comes with python)
  • Allegro 5.x
  • R-Tech1
    • You can clone it directly in the paintown directory and it will be built automatically if using Scons otherwise you will need to install it separately

Compilation

You can build paintown with either Scons or Cmake.

Build Environment Flags

  • DEBUG - set to 0/1 (on/off in cmake) to enable or disable debugging
  • LLVM - set to 0/1 (on/off in cmake) to build with clang
  • DATA_PATH - set this to the desired data path
    • With Scons it will default to data
    • With Cmake it will default to ${CMAKE_SOURCE_DIR}/data
    • *Note: if planning on installing recommend setting it to something like /usr/local/games/paintown

Linux

Using Scons to build Paintown

$ make or $ scons

Using Cmake to build Paintown
$ mkdir b
$ cd b
$ cmake ..
$ make
Ubuntu users
Note, this script hasn't been updated so it may be invalid.

There is a script that will install the necessary packages and then invoke the compilation scripts. Type this: $ ./easy-compile-ubuntu

Install

Linux

Scons

After building with Scons use the install script below $ ./install.sh -d <data> -b <bin>

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 and ) you can run $ /usr/games/paintown

Cmake

After building with Cmake run sudo make install see notes in Compilation about the data directory

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.

OS Specific Instructions

Note, that these are old instructions and may be invalid.

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 I have placed the perl script in the misc directory, so just put that in a directory that is part of your path.

Windows

Mingw

Type $ scons env=mingw

Scons

c:\> cd path-to-paintown c:\path-to-paintown> scons

To build a statically linked binary give the 'static' target $ scons static

Cmake
c:\> cd path-to-paintown
c:\path-to-paintown> mkdir b
c:\path-to-paintown> cd b
c:\path-to-paintown> cmakesetup ..
c:\path-to-paintown> make

The executable will end up in bin/paintown.exe

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

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

IRC

Join the chat at freenode

You can’t perform that action at this time.