hackmagic / paintown Goto Github PK
View Code? Open in Web Editor NEWThis project forked from kazzmir/paintown
Paintown is a 2-d fighting game
License: Other
This project forked from kazzmir/paintown
Paintown is a 2-d fighting game
License: Other
Paintown (http://paintown.sf.net) Version 3.6.1 Jon Rafkind Readme last updated on 10/16/2011 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: $ svn co http://svn.code.sourceforge.net/p/paintown/code/trunk paintown You need the svn program, which is part of subversion - http://subversion.tigris.org/, to do this. Put the data directory inside the trunk directory, trunk/data. As of r1124 the data/ directory is an external resource for trunk, so you only have to check out trunk and svn will automatically get data/ for you. Data: $ svn co http://svn.code.sourceforge.net/p/paintown/code/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 Will build SDL by default. Set an environment variable to get different backends. $ export ALLEGRO=1 # to use Allegro4 (software renderer) $ export ALLEGRO5=1 # to use Allegro5 (hardware renderer) 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 One of: * Allegro 4.x - 4.1 or higher. http://alleg.sf.net * Allegro 5.x - http://alleg.sf.net * SDL 1.2.x - http://libsdl.org * Quick instructions for ubuntu (also see easy-compile-ubuntu) $ sudo apt-get install python-dev libfreetype6-dev liballegro4.2 zlib1g-dev * 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://gitter.im/kazzmir/paintown
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.