GithubHelp home page GithubHelp logo

kazzmir / paintown Goto Github PK

View Code? Open in Web Editor NEW
102.0 16.0 42.0 103.8 MB

Paintown is a 2-d fighting game

License: Other

CMake 0.45% Makefile 0.04% Python 3.52% Shell 0.36% Scala 2.37% Ruby 1.10% Java 5.38% C 13.66% Perl 0.11% Scheme 0.04% NSIS 0.01% Batchfile 0.01% HTML 8.49% C++ 62.12% Racket 0.08% GLSL 0.04% Roff 0.01% Vim Script 0.01% OCaml 2.04% Meson 0.15%

paintown's Introduction

Paintown

by Jon Rafkind (Updated on 02/07/2024)

Paintown is a 2-d fighting game that is similar in style to Streets of Rage. Paintown also comes with a MUGEN engine.

Table of Contents

Builds

Linux Ubuntu Build Mac Arm Build Mingw Cross-Compile Build Devkitpro Cross-Compile Build Steam Cross-Compile Build

Releases

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++)
    • Note that you will need to have c++11 support
  • Software construction tools
  • zlib
  • libpng
  • SDL2
    • SDL2_image
    • SDL2_ttf
    • SDL2_mixer
    • SDL2_gfx
  • Optional Libs
    • OGG / Vorbis / Vorbis File
    • MPG123
  • Scripting
    • python and its headers (usually this comes with python)

Compilation

You can build paintown with Meson using the Makefile.

Linux

Build Debug
$ make
# To build tests do:
$ make test
Cross-compile for windows with mingw
$ make mingw
# To build tests do:
$ make testmingw

Note this build depends on x86_64-w64-mingw32 and hasn't been tested on any other distro than debian based ones

Ubuntu

There are several scripts that will install the necessary packages and then invoke the compilation

Basic build

$ ./easy-compile-ubuntu

Mingw build (cross compilation for windows)

$ ./easy-compile-mingw

Binaries are dumped into the mingw-bin directory. Make sure you copy zlib1.dll with your binary.

Fedora

$ ./easy-compile-fedora

Mac Arm

$ ./easy-compile-mac-arm

Scripting

A python engine has been added to paintown so you can script a level. See scripting.txt for more details.

Thanks

Chat

paintown's People

Contributors

basxto avatar drafkind avatar gitter-badger avatar humbertodias avatar juvinious avatar kazzmir avatar palob avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

paintown's Issues

Controller Support for Android Version

Well, the android version is probably dead and it has been a while since there was an update for it, but it would be nice to see feature this implemented.

linux compile error

scons: Reading SConscript files ...
Build type: Allegro5
OSError: 'pkg-config r-tech1 --cflags --libs' exited 1:
File "/home/hui/git/paintown/SConstruct", line 1472:
scons.utils.safeParseConfig(env, 'pkg-config r-tech1 --cflags --libs')
File "/home/hui/git/paintown/scons/utils.py", line 120:
version1()
File "/home/hui/git/paintown/scons/utils.py", line 109:
raise e
Get scons at www.scons.org or read the README for compilation instructions
Makefile:9: recipe for target 'all' failed
make: *** [all] Error 1
ls: cannot access 'paintown': No such file or directory
Here is the executable. To run it type: ./paintown

r-tech1 did not exist in the repo
Cmake did not work too.

MUGEN questions

  1. Is it possible to use Paintown as MUGEN only, automatically loading MUGEN mode?
  2. How to edit Mugen Motifs (intro, screen packs, etc)?
  3. I had to change some lines from my chars .def file (removed localcoords, for example). I was using version 1.0. Stages didn't work. What version of Mugen Paintown uses?

Can't play MIDIs

i was trying to replace the title screen music with a midi file that i thought sounded very fitting. Booted up the game and it's just dead silence other than the sound effects. Does this have midi support or am i missing something? Using Windows 10 and Paintown version 3.6.1

Can't build in ubuntu 22.04

Use cmake .., the following error occurred:

CMake Deprecation Warning at CMakeLists.txt:14 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


-- Warning: Unable to find Vorbis!
-- Warning: Unable to find Ogg!
-- Warning: Unable to find libmpg123!
-- Could NOT find SDL (missing: SDL_LIBRARY SDL_INCLUDE_DIR) 
CMake Error at CMakeLists.txt:137 (message):
  Couldn't find SDL.


-- Configuring incomplete, errors occurred!

And can't compile successfully with ./easy-compile-ubuntu

Don't work for trusty

Can you please help me to get the number of downloads for trusty?
I change the script to

#!/usr/bin/python
#usage python ppastats.py PPATEAM (ex: webupd8team) PPA (ex: gthumb) DIST (Ubuntu version eg maverick) ARCH (ubuntu arch eg i386 or amd64)

#example - highest downloaded file: python ppastats.py webupd8team y-ppa-manager maverick amd64 | tr '\t' ',' | cut -d ',' -f3 | sort -gr

import sys
from launchpadlib.launchpad import Launchpad

def stats(distro, arch):
    PPAOWNER = 'rafkind'
    PPA = 'paintown'
    desired_dist_and_arch = 'https://api.launchpad.net/devel/ubuntu/' + distro + '/' + arch

    cachedir = "~/.launchpadlib/cache/"
    lp_ = Launchpad.login_anonymously('ppastats', 'edge', cachedir, version='devel')
    owner = lp_.people[PPAOWNER]
    archive = owner.getPPAByName(name=PPA)

    for individualarchive in archive.getPublishedBinaries(status = 'Published', distro_arch_series = desired_dist_and_arch):
        print "%(distro)s\t%(arch)s\t%(package)s\t%(version)s\t%(download)s" % {'distro': distro,
               'arch': arch,
               'package': individualarchive.binary_package_name,
               'version': individualarchive.binary_package_version,
               'download': str(individualarchive.getDownloadCount())}

def print_distros(distro):
    archs = ['i386', 'amd64']
    for arch in archs:
        stats(distro, arch)

distros = ['natty', 'oneiric', 'maverick', 'lucid', 'quantal', 'precise','trusty']
for distro in distros:
    print_distros(distro)

but still have the same result without trusty

python paintown-ppa-stats.py webupd8team y-ppa-manager maverick amd64
natty   i386    paintown    3.6.0.11~natty  17
natty   amd64   paintown    3.6.0.11~natty  8
oneiric i386    paintown    3.6.0.11~oneiric    26
oneiric amd64   paintown    3.6.0.11~oneiric    11
maverick    i386    paintown    3.6.0.11~maverick   8
maverick    amd64   paintown    3.6.0.11~maverick   2
lucid   i386    paintown    3.6.0.11~lucid  75
lucid   amd64   paintown    3.6.0.11~lucid  13
quantal i386    paintown    3.6.0.11~quantal    84
quantal amd64   paintown    3.6.0.11~quantal    107
precise i386    paintown    3.6.0.11~precise    298
precise amd64   paintown    3.6.0.11~precise    229

Easy way of Porting platform

Idea

Instead of adapt the source code to fit into any target platform.
We could use the libretro core as a shortcut.
Retroarch is already ported to several platform such as: android, iOS, PS3, Xbox, Win, Linux, etc
Supported platforms https://www.retroarch.com/?page=platforms
So, creating a core like libretro-paintown we would have immediately a port of Paintown to all of them.
Luckely that was already made with some libretro cores and could be an inspiration:

  1. Jump 'n Bump
  1. Gong
  1. Boom3

Missing directories?

Hello.

Latest commit 8a71ac8 looks not providing some directories under src/.
cmake fails with

+ cd paintown-8a71ac86c585d8029709a10865c0e97dc4d3d2d1
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.i5SB7h
+ umask 022
+ cd /home/sagitter/rpmbuild/BUILD
+ cd paintown-8a71ac86c585d8029709a10865c0e97dc4d3d2d1
+ export 'CXXFLAGS=-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -I/usr/include/freetype2/freetype -pthread'
+ CXXFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -I/usr/include/freetype2/freetype -pthread'
+ export 'CFLAGS=-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -I/usr/include/freetype2/freetype -pthread'
+ CFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -I/usr/include/freetype2/freetype -pthread'
+ mkdir -p build
+ pushd build
~/rpmbuild/BUILD/paintown-8a71ac86c585d8029709a10865c0e97dc4d3d2d1/build ~/rpmbuild/BUILD/paintown-8a71ac86c585d8029709a10865c0e97dc4d3d2d1
+ CFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -I/usr/include/freetype2/freetype -pthread'
+ export CFLAGS
+ CXXFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -I/usr/include/freetype2/freetype -pthread'
+ export CXXFLAGS
+ FFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -I/usr/lib64/gfortran/modules'
+ export FFLAGS
+ FCFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -I/usr/lib64/gfortran/modules'
+ export FCFLAGS
+ LDFLAGS='-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld'
+ export LDFLAGS
+ /usr/bin/cmake -DCMAKE_C_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_CXX_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_Fortran_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_INSTALL_PREFIX:PATH=/usr -DINCLUDE_INSTALL_DIR:PATH=/usr/include -DLIB_INSTALL_DIR:PATH=/usr/lib64 -DSYSCONF_INSTALL_DIR:PATH=/etc -DSHARE_INSTALL_PREFIX:PATH=/usr/share -DLIB_SUFFIX=64 -DBUILD_SHARED_LIBS:BOOL=ON -Wno-dev -DCMAKE_BUILD_TYPE:STRING=Release -DPYTHON_LIBRARY_RELEASE:FILEPATH=/usr/lib64/libpython3.6.so -DPYTHON_INCLUDE_DIRS:PATH=/usr/include/python3.6m -DUSE_ALLEGRO5:BOOL=ON -DUSE_SDL:BOOL=ON -DSDLMAIN_LIBRARY:FILEPATH=/usr/lib64/libSDL.so -DSDL_LIBRARY:STRING=/usr/lib64/libSDL.so -DSDL_INCLUDE_DIR:PATH=/usr/include/SDL -DFREETYPE_INCLUDE_DIR:PATH=/usr/include/freetype2 -DSHARE_INSTALL_PREFIX:PATH=share/paintown ..
-- The C compiler identification is GNU 7.3.1
-- The CXX compiler identification is GNU 7.3.1
-- Check for working C compiler: /usr/lib64/ccache/cc
-- Check for working C compiler: /usr/lib64/ccache/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/lib64/ccache/c++
-- Check for working CXX compiler: /usr/lib64/ccache/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found ZLIB: /usr/lib64/libz.so (found version "1.2.11") 
-- Found PNG: /usr/lib64/libpng.so (found version "1.6.31") 
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE  
-- Found Vorbis: /usr/lib64/libvorbis.so
-- Found Ogg: /usr/lib64/libogg.so
-- Found libmpg123: /usr/lib64/libmpg123.so
-- Found SDL: /usr/lib64/libSDL.so (found version "1.2.15") 
CMake Error at CMakeLists.txt:251 (add_subdirectory):
  add_subdirectory given source
  "/home/sagitter/rpmbuild/BUILD/paintown-8a71ac86c585d8029709a10865c0e97dc4d3d2d1/src/util/7z"
  which is not an existing directory.


CMake Error at CMakeLists.txt:254 (add_subdirectory):
  add_subdirectory given source
  "/home/sagitter/rpmbuild/BUILD/paintown-8a71ac86c585d8029709a10865c0e97dc4d3d2d1/src/util/sound/dumb"
  which is not an existing directory.


CMake Error at CMakeLists.txt:257 (add_subdirectory):
  add_subdirectory given source
  "/home/sagitter/rpmbuild/BUILD/paintown-8a71ac86c585d8029709a10865c0e97dc4d3d2d1/src/util"
  which is not an existing directory.


-- Could NOT find PythonLibs (missing: PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS) (Required is at least version "2")
-- Python is not embedable
CMake Error at CMakeLists.txt:261 (add_subdirectory):
  add_subdirectory given source
  "/home/sagitter/rpmbuild/BUILD/paintown-8a71ac86c585d8029709a10865c0e97dc4d3d2d1/src/platformer"
  which is not an existing directory.


CMake Error at CMakeLists.txt:264 (add_subdirectory):
  add_subdirectory given source
  "/home/sagitter/rpmbuild/BUILD/paintown-8a71ac86c585d8029709a10865c0e97dc4d3d2d1/src/util/network/hawknl"
  which is not an existing directory.


CMake Error at CMakeLists.txt:267 (add_subdirectory):
  add_subdirectory given source
  "/home/sagitter/rpmbuild/BUILD/paintown-8a71ac86c585d8029709a10865c0e97dc4d3d2d1/src/util/zip"
  which is not an existing directory.


CMake Error at CMakeLists.txt:290 (add_subdirectory):
  add_subdirectory given source
  "/home/sagitter/rpmbuild/BUILD/paintown-8a71ac86c585d8029709a10865c0e97dc4d3d2d1/src/util/graphics/sdl/image"
  which is not an existing directory.


CMake Error at CMakeLists.txt:292 (add_subdirectory):
  add_subdirectory given source
  "/home/sagitter/rpmbuild/BUILD/paintown-8a71ac86c585d8029709a10865c0e97dc4d3d2d1/src/util/sfl"
  which is not an existing directory.


CMake Error at CMakeLists.txt:294 (add_subdirectory):
  add_subdirectory given source
  "/home/sagitter/rpmbuild/BUILD/paintown-8a71ac86c585d8029709a10865c0e97dc4d3d2d1/src/util/graphics/sdl/stretch"
  which is not an existing directory.


CMake Error at CMakeLists.txt:298 (add_subdirectory):
  add_subdirectory given source
  "/home/sagitter/rpmbuild/BUILD/paintown-8a71ac86c585d8029709a10865c0e97dc4d3d2d1/src/util/sound/sdl/mixer"
  which is not an existing directory.


CMake Error at CMakeLists.txt:310 (target_link_libraries):
  Cannot specify link libraries for target "paintown" which is not built by
  this project.


-- Configuring incomplete, errors occurred!
See also "/home/sagitter/rpmbuild/BUILD/paintown-8a71ac86c585d8029709a10865c0e97dc4d3d2d1/build/CMakeFiles/CMakeOutput.log".
error: Bad exit status from /var/tmp/rpm-tmp.i5SB7h (%build)

CMakeOutput.log attached
CMakeOutput.log

This does not happen with paintown-3.6.0.tar.bz2.

What's the problem?

Wow,would you update future

The emulator is so good,it can play mugen by android,but when I add other characters in mugen,it would be very lag,I don't know it's my phone problem or the app problem,hope it will update and be better than all~^^(sorry with poor English)

Legal issues

Hello everyone.

Legal notes (following related web-chat discussion on http://webchat.freenode.net/?randomnick=1&channels=paintown) about current Paintown source archive's content:

  • - Paintown code provides a LEGAL file that it's incomplete but important for providing full note about all data files included (fonts, images, icons, ...)

  • It seems available a separated data archive with additional characters but without any explicit legal note about its content. Since this archive provides special non-free copies of sprites from other games (see https://bugzilla.redhat.com/show_bug.cgi?id=1562832), a specific LEGAL file should be put to attention of the user regarding the related consequences.

  • Is Paintown playable without separated archived data?

Error while compiling on Raspbian

Hello,

I'm trying to compile on raspbian and have the following error :

Compiling header build/allegro5/r-tech1/out/release/libs/gme/Nes_Vrc6_Apu.h build/allegro5/r-tech1/out/release/libs/gme/Nes_Oscs.h:65:12: error: ‘nes_time_t’ has not been declared void run( nes_time_t, nes_time_t ); ^~~~~~~~~~ build/allegro5/r-tech1/out/release/libs/gme/Nes_Oscs.h:65:24: error: ‘nes_time_t’ has not been declared void run( nes_time_t, nes_time_t ); ^~~~~~~~~~ build/allegro5/r-tech1/out/release/libs/gme/Nes_Oscs.h:70:2: error: ‘nes_time_t’ does not name a type nes_time_t maintain_phase( nes_time_t time, nes_time_t end_time, ^~~~~~~~~~ build/allegro5/r-tech1/out/release/libs/gme/Nes_Oscs.h:83:12: error: ‘nes_time_t’ has not been declared void run( nes_time_t, nes_time_t ); ^~~~~~~~~~ build/allegro5/r-tech1/out/release/libs/gme/Nes_Oscs.h:83:24: error: ‘nes_time_t’ has not been declared void run( nes_time_t, nes_time_t ); ^~~~~~~~~~ build/allegro5/r-tech1/out/release/libs/gme/Nes_Oscs.h:90:2: error: ‘nes_time_t’ does not name a type nes_time_t maintain_phase( nes_time_t time, nes_time_t end_time, ^~~~~~~~~~ build/allegro5/r-tech1/out/release/libs/gme/Nes_Oscs.h:100:12: error: ‘nes_time_t’ has not been declared void run( nes_time_t, nes_time_t ); ^~~~~~~~~~ build/allegro5/r-tech1/out/release/libs/gme/Nes_Oscs.h:100:24: error: ‘nes_time_t’ has not been declared void run( nes_time_t, nes_time_t ); ^~~~~~~~~~ build/allegro5/r-tech1/out/release/libs/gme/Nes_Oscs.h:123:2: error: ‘nes_time_t’ does not name a type nes_time_t next_irq; ^~~~~~~~~~ build/allegro5/r-tech1/out/release/libs/gme/Nes_Oscs.h:129:28: error: ‘nes_addr_t’ has not been declared int (*prg_reader)( void*, nes_addr_t ); // needs to be initialized to prg read function ^~~~~~~~~~ build/allegro5/r-tech1/out/release/libs/gme/Nes_Oscs.h:138:12: error: ‘nes_time_t’ has not been declared void run( nes_time_t, nes_time_t ); ^~~~~~~~~~ build/allegro5/r-tech1/out/release/libs/gme/Nes_Oscs.h:138:24: error: ‘nes_time_t’ has not been declared void run( nes_time_t, nes_time_t ); ^~~~~~~~~~ build/allegro5/r-tech1/out/release/libs/gme/Nes_Oscs.h:143:19: error: ‘nes_time_t’ has not been declared int count_reads( nes_time_t, nes_time_t* ) const; ^~~~~~~~~~ build/allegro5/r-tech1/out/release/libs/gme/Nes_Oscs.h:143:31: error: ‘nes_time_t’ has not been declared int count_reads( nes_time_t, nes_time_t* ) const; ^~~~~~~~~~ build/allegro5/r-tech1/out/release/libs/gme/Nes_Oscs.h:144:2: error: ‘nes_time_t’ does not name a type nes_time_t next_read_time() const; ^~~~~~~~~~ scons: *** [build/allegro5/r-tech1/out/release/libs/gme/Nes_Oscs.h.gch] Error 1 scons: building terminated because of errors.

Cannot adjust screen size in Android version.

Is there an option to increase the screen size of Paintown on Android? Im using a Samsung Galaxy S9 and the game window is very small for some reason, And Whenever I go to the Screen Size option in the settings menu, it freezes the game. I attached an image of what it looks like for me.
Screenshot_20200430-191659_Paintown

I can not change the resolution

Downloaded PainTown for my android and is very large, when I put in "screen size" it freezes me play and I can not change

mugen format file compile error.

I have test many mugen characters , they all run well on mugen and ikemen
But when it comes to paintown, it report many errors.
Almost 85% of win mugen (mugenversion=xx.xx.2001 or xx.xx.2002) characters reports errors
I notice that most of the errors are actually mugen file error, not the paintown engine.
For many characters are fan made, nearly all of them are full of bugs.
I guess the mugen engine tolerate more errors than paintown .

So I think if there is a way to let paintown tolerate errors , not throw exception. And how ?
I guess 1 line error in mugen format files will not affect the game.
And are there any tested mugen characters collection to download?

master does not support SDL

Hi
I have tried :

  • scons: cannot find Allegro 5
  • make: cannot find allegro 5
  • cmake: cannot cmake because src/util has disappeared

I have tried with 3.6.0 and it build perfectly.
Looks like some third parties have been moved from 'src/util' to 'src/system'.
TBC

Mugen ssfv1 + ssfv2

Idea

Seems that currently not all mugen formats are supported in ssf.
Searching on internet I found out a similar project nugen that supports ssfv1 + ssfv2 and conveniently has almost the same stack: cpp+sdl2
Maybe that parser could be used here as a shortcut to save time and bring the v1/v2 support as well.
What mugen formats are currently supported by paintown?


SFFv1

SFFv1 is the standard for WinMugen and earlier but can still be used in MUGEN 1.0 and 1.1b.

Palettes are added by making .act files and placing their names in the .def

Sprites in this format are limited to 256 colors. The alpha channel for Color 0 in the palette index will be 0 (transparent)
see tutorial 1 for more details on how to do that

SFFv2

SFFv2 is the standard for MUGEN 1.0 and can be used in 1.1b

Palettes are now added directly in to the sff. It now uses remappal to change the colors

Like v1 sprites in this format are limited to 256 colors. The alpha channel for Color 0 in the palette index will be 0 (transparent)

SFFv2.1

SFFv2.1 is the standard for MUGEN 1.1b and cannot be used in earlier versions

Palettes are added into the sff like in V2

Sprites are no longer limited to 256 color indexes. This can be very useful for stage and screenpack creation. And for large portraits.

Also any palette can now have any index's alpha channel manipulated. Allowing for full or partial transparencies on individual indexes based on palette. By default Color 0 is still 0

feel free to add to this with more technical info. Like I forget if the indexed sprites are 32bit or what

Ref

User friendly installation on Linux?

First of all thank you for the great software!
I have a question, is there a user friendly way to install paintown on linux? I couldn't find any deb package fo my distro, nor a ppa..I tried in the software center but there is no paintown. It is a pity that linux users have to compile from source..more players would enjoy paintown if it could be just downloaded and installed.
ps: I tried with Wine and it runs but it is buggy and unplayable :/

game doesn't start

i dunno if this goes here but.
i downloaded paintown yesterday and it worked fine but, the second time i tried to launch it, it doesn't started, i was using 3.6.0 version, i tried with 3.5.0 and 3.6.1 and same thing, only 3.4.0 worked, i tried uninstalling and installing again but nothing, someone can help me please?

Is the PSP build still supported?

I've been looking for anything related to it, and there seems to be no downloads. Apparently the source might still allow it to be built, but I want to know if it's supported before I delve into that.

'contact' tag in editor

Hi,

I use the editor to create characters for Paintown.
I prefer using the 'contact' tag instead of hit-sound, since I can use a much larger variety of sounds that way.

Unfortunately the editor does not recognize this tag, and thus strips it whenever I edit and save the character.

Could you please add support for it?

Regards

No Wiimote Plus Support

Whenever I load Paintown on my Wii, my controller disconnects and doesn't want to reconnect.

Hardcoded icon path in .desktop launcher

Hi,

currently the icon path specified in the .desktop launcher file is set to:
paintown.png

This prevents icon theming without editing the launcher file.

I'd like to ask you to change the icon location as well as the icon path line in the launcher according to the freedesktop.org standards.

Please find more info here:
https://specifications.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html
https://github.com/Foggalong/hardcode-fixer/wiki/What,-Why-&-How

Because the paintown icon already is installed to a standard location you don't need to specify the icon file extension in the launcher file.
Icon=paintown is sufficient.

translucent effect

paintown have support for translucent effect, similar parameters for color addition ("A", "A1", "S") of mugen?

PSP Build

Issue with r-tech1/dumb

How to reproduce

git clone https://github.com/kazzmir/paintown -b build-psp
cd paintown
./easy-compile-docker-psp

Error
https://github.com/kazzmir/paintown/actions/runs/7995178382/job/21834909397?pr=93#step:3:10387

[44/352] Compiling C object src/r-tech1/libs/dumb/libdumb.a.p/src_it_itorder.c.o
FAILED: src/r-tech1/libs/dumb/libdumb.a.p/src_it_itorder.c.o 
psp-gcc -Isrc/r-tech1/libs/dumb/libdumb.a.p -Isrc/r-tech1/libs/dumb -I../src/r-tech1/libs/dumb -Isrc -I../src -I../src/r-tech1/libs/dumb/include -I/psp/include -I/pspdev/psp/include -I/pspdev/psp/sdk/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O0 -g -g3 -Wextra -Wno-unused-variable -Wno-unused-function -Wno-unused-parameter -DPSP -w -MD -MQ src/r-tech1/libs/dumb/libdumb.a.p/src_it_itorder.c.o -MF src/r-tech1/libs/dumb/libdumb.a.p/src_it_itorder.c.o.d -o src/r-tech1/libs/dumb/libdumb.a.p/src_it_itorder.c.o -c ../src/r-tech1/libs/dumb/src/it/itorder.c
In file included from ../src/r-tech1/libs/dumb/src/it/itorder.c:22:
../src/r-tech1/libs/dumb/include/dumb.h:139:1: error: static assertion failed: "dumb: off_t must be 64bit"
  139 | _Static_assert(sizeof(dumb_off_t) >= 8, "dumb: off_t must be 64bit");

Segmentation fault at exiting

Hello.

I'm successfully compiled paintown on Fedora and i will propose an rpm for including this game in the Fedora's official repository.

paintown looks working fine, but i'm getting a Segmentation fault when i close the game; this error is showed if i start paintown by terminal. The GDB output is:

[sagitter@Acer x86_64]$ gdb paintown-bin
GNU gdb (GDB) Fedora 8.0.1-36.fc27
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from paintown-bin...Reading symbols from /usr/lib/debug/usr/bin/paintown-bin-3.6.1-0.1.20180113git8a71ac8.fc27.x86_64.debug...done.
done.
(gdb) run -d /usr/share/paintown-3.6.1/data "$@"
Starting program: /usr/bin/paintown-bin -d /usr/share/paintown-3.6.1/data "$@"
Missing separate debuginfos, use: dnf debuginfo-install glibc-2.26-27.fc27.x86_64
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[0:paintown] Give 'help' to see all the command line options.
[0:paintown] Debug level: 0
[0:paintown] Paintown version 3.6.1
[0:paintown] -- BEGIN init --
Data path is /usr/share/paintown-3.6.1/data/
Build date Mar 23 2018 11:25:48
[New Thread 0x7fffee8e5700 (LWP 19321)]
Allegro5 initialize Ok
Allegro5 version 5.2.0.1
Init image: Ok
Init primitives Ok
Init keyboard Ok
[New Thread 0x7fffe7515700 (LWP 19322)]
[New Thread 0x7fffe6d14700 (LWP 19323)]
Init joystick Ok
Init touch Failed
[New Thread 0x7fffe2513700 (LWP 19324)]
[New Thread 0x7fffe1d12700 (LWP 19325)]
[New Thread 0x7fffcce1b700 (LWP 19326)]
Set graphics mode: Ok
Initialize random number generator
[New Thread 0x7fffc4afd700 (LWP 19329)]
[New Thread 0x7fffbffff700 (LWP 19330)]
[New Thread 0x7fffbf7fe700 (LWP 19331)]
-- END init --
[0:paintown] Supported music extensions xm (extended module), s3m (scream tracker 3), mod (module), it (impulse tracker), nsf (nintendo sound file / famicom), spc (super nintendo / super famicom), gym (sega genesis / mega drive)
[New Thread 0x7fffbeffd700 (LWP 19332)]
[0:paintown] Unhandled menu attribute: 
[0:paintown]  Token: network-host
[0:paintown]   |--Token: name
[0:paintown]   |-- |--Token: language
[0:paintown]   |-- |-- |--Token: English
[0:paintown]   |-- |-- |--Token: Network - Host
[0:paintown]   |-- |--Token: language
[0:paintown]   |-- |-- |--Token: Portuguese
[0:paintown]   |-- |-- |--Token: Hospedar na internet
[0:paintown]   |-- |--Token: language
[0:paintown]   |-- |-- |--Token: Français
[0:paintown]   |-- |-- |--Token: Réseaux - Hôte
[0:paintown]   |--Token: info
[0:paintown]   |-- |--Token: language
[0:paintown]   |-- |-- |--Token: English
[0:paintown]   |-- |-- |--Token: Host a game that can be
played over the internet
[0:paintown]   |-- |--Token: language
[0:paintown]   |-- |-- |--Token: Portuguese
[0:paintown]   |-- |-- |--Token: Hospede um jogo para 
ser jogado na internet
[0:paintown]   |-- |--Token: language
[0:paintown]   |-- |-- |--Token: Français
[0:paintown]   |-- |-- |--Token: Etre l' hôte pour une partie réseaux
[0:paintown] Unhandled menu attribute: 
[0:paintown]  Token: network-join
[0:paintown]   |--Token: name
[0:paintown]   |-- |--Token: language
[0:paintown]   |-- |-- |--Token: English
[0:paintown]   |-- |-- |--Token: Network - Join
[0:paintown]   |-- |--Token: language
[0:paintown]   |-- |-- |--Token: Русский
[0:paintown]   |-- |-- |--Token: Сеть - присоединится
[0:paintown]   |-- |--Token: language
[0:paintown]   |-- |-- |--Token: Français
[0:paintown]   |-- |-- |--Token: Connexion
[0:paintown]   |-- |--Token: language
[0:paintown]   |-- |-- |--Token: Portuguese
[0:paintown]   |-- |-- |--Token: Jogar on-line
[0:paintown]   |-- |--Token: language
[0:paintown]   |-- |-- |--Token: Deutsch
[0:paintown]   |-- |-- |--Token: Netzwerkspiel beitreten
[0:paintown]   |-- |--Token: language
[0:paintown]   |-- |-- |--Token: Español
[0:paintown]   |-- |-- |--Token: Network - Join
[0:paintown]   |--Token: info
[0:paintown]   |-- |--Token: language
[0:paintown]   |-- |-- |--Token: English
[0:paintown]   |-- |-- |--Token: Join a game over the internet
[0:paintown]   |-- |--Token: language
[0:paintown]   |-- |-- |--Token: Русский
[0:paintown]   |-- |-- |--Token: Присоединится к игре через интернет
[0:paintown]   |-- |--Token: language
[0:paintown]   |-- |-- |--Token: Deutsch
[0:paintown]   |-- |-- |--Token: Einem Netzwerkspiel übers Internet beitreten
[0:paintown]   |-- |--Token: language
[0:paintown]   |-- |-- |--Token: Portuguese
[0:paintown]   |-- |-- |--Token: Jogue na internet com outras pessoas
[0:paintown]   |-- |--Token: language
[0:paintown]   |-- |-- |--Token: Français
[0:paintown]   |-- |-- |--Token: Rejoindre une partie sur internet
[0:paintown]   |-- |--Token: language
[0:paintown]   |-- |-- |--Token: Español
[0:paintown]   |-- |-- |--Token: Join a game over the internet
[0:paintown] Trying to load '/usr/share/paintown-3.6.1/data/music/aqua.s3m'
[0:paintown] Draw average 2ms
[0:paintown] Draw average 1ms
[0:paintown] Draw average 1ms
[0:paintown] Draw average 1ms
[0:paintown] Draw average 2ms
[0:paintown] Draw average 1ms
[0:paintown] Bye!
[Thread 0x7fffbeffd700 (LWP 19332) exited]

Thread 1 "paintown-bin" received signal SIGSEGV, Segmentation fault.
al_destroy_event_queue (queue=0x0) at /usr/src/debug/allegro5-5.2.0-4.fc27.x86_64/src/events.c:126
126	/usr/src/debug/allegro5-5.2.0-4.fc27.x86_64/src/events.c: No such file or directory.
(gdb) thread apply all bt full

Thread 10 (Thread 0x7fffbf7fe700 (LWP 19331)):
#0  0x00007ffff685dbe6 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
No symbol table info available.
#1  0x00007ffff6b0577d in _al_cond_timedwait (cond=cond@entry=0x7fffac000ba0, mutex=mutex@entry=0x7fffac000b70, timeout=timeout@entry=0x7fffbf7fda00) at /usr/src/debug/allegro5-5.2.0-4.fc27.x86_64/src/unix/uxthread.c:155
        unix_timeout = 0x7fffbf7fda00
        retcode = <optimized out>
#2  0x00007ffff6ac6d97 in do_wait_for_event (queue=queue@entry=0x7fffac000b20, ret_event=ret_event@entry=0x7fffbf7fda40, timeout=timeout@entry=0x7fffbf7fda00) at /usr/src/debug/allegro5-5.2.0-4.fc27.x86_64/src/events.c:470
        result = <optimized out>
        timed_out = false
        next_event = 0x0
#3  0x00007ffff6ac7367 in al_wait_for_event_timed (queue=queue@entry=0x7fffac000b20, ret_event=ret_event@entry=0x7fffbf7fda40, secs=secs@entry=0.0500000007) at /usr/src/debug/allegro5-5.2.0-4.fc27.x86_64/src/events.c:436
        timeout = {__pad1__ = 1521802636, __pad2__ = 304718000}
#4  0x0000555555672ab5 in System::do_timer (info=0x555555f2bfb0) at build/allegro5/r-tech1/out/release/system/allegro5/timer.cpp:28
        event = {type = 30, any = {type = 30, source = 0x555555f2f370, timestamp = 4.4461750000000002}, display = {type = 30, source = 0x555555f2f370, timestamp = 4.4461750000000002, x = 2, y = 0, width = 1291649024, 
            height = 1059155645, orientation = 0}, joystick = {type = 30, source = 0x555555f2f370, timestamp = 4.4461750000000002, id = 0x2, stick = 1291649024, axis = 1059155645, pos = 0, button = 0}, keyboard = {
            type = 30, source = 0x555555f2f370, timestamp = 4.4461750000000002, display = 0x2, keycode = 1291649024, unichar = 1059155645, modifiers = 0, repeat = false}, mouse = {type = 30, source = 0x555555f2f370, 
            timestamp = 4.4461750000000002, display = 0x2, x = 1291649024, y = 1059155645, z = 0, w = 0, dx = 0, dy = 0, dz = 0, dw = 0, button = 0, pressure = 0}, timer = {type = 30, source = 0x555555f2f370, 
            timestamp = 4.4461750000000002, count = 2, error = 0.00013299999999993872}, touch = {type = 30, source = 0x555555f2f370, timestamp = 4.4461750000000002, display = 0x2, id = 1291649024, x = 0.630595982, y = 0, 
            dx = 0, dy = 0, primary = false}, user = {type = 30, source = 0x555555f2f370, timestamp = 4.4461750000000002, __internal(double,...)(short, char, long double) = 0x2, data1 = 4549038857940434944, data2 = 0, 
            data3 = 0, data4 = 0}}
        source = <optimized out>
        queue = 0x7fffac000b20
#5  0x00007ffff6ace638 in thread_func_trampoline (inner=<optimized out>, _outer=0x555555f2b7a0) at /usr/src/debug/allegro5-5.2.0-4.fc27.x86_64/src/threads.c:80
        outer = 0x555555f2b7a0
        system = 0x555555d53100
#6  0x00007ffff6b055cb in thread_proc_trampoline (data=<optimized out>) at /usr/src/debug/allegro5-5.2.0-4.fc27.x86_64/src/unix/uxthread.c:44
        thread = <optimized out>
#7  0x00007ffff685750b in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#8  0x00007ffff57be16f in clone () from /lib64/libc.so.6
No symbol table info available.

Thread 9 (Thread 0x7fffbffff700 (LWP 19330)):
#0  0x00007ffff685dbe6 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
No symbol table info available.
#1  0x00007ffff6b0577d in _al_cond_timedwait (cond=cond@entry=0x7fffb4000ba0, mutex=mutex@entry=0x7fffb4000b70, timeout=timeout@entry=0x7fffbfffea00) at /usr/src/debug/allegro5-5.2.0-4.fc27.x86_64/src/unix/uxthread.c:155
        unix_timeout = 0x7fffbfffea00
        retcode = <optimized out>
#2  0x00007ffff6ac6d97 in do_wait_for_event (queue=queue@entry=0x7fffb4000b20, ret_event=ret_event@entry=0x7fffbfffea40, timeout=timeout@entry=0x7fffbfffea00) at /usr/src/debug/allegro5-5.2.0-4.fc27.x86_64/src/events.c:470
        result = <optimized out>
        timed_out = false
        next_event = 0x0
#3  0x00007ffff6ac7367 in al_wait_for_event_timed (queue=queue@entry=0x7fffb4000b20, ret_event=ret_event@entry=0x7fffbfffea40, secs=secs@entry=0.0500000007) at /usr/src/debug/allegro5-5.2.0-4.fc27.x86_64/src/events.c:436
        timeout = {__pad1__ = 1521802636, __pad2__ = 312751000}
#4  0x0000555555672ab5 in System::do_timer (info=0x555555d4c240) at build/allegro5/r-tech1/out/release/system/allegro5/timer.cpp:28
        event = {type = 30, any = {type = 30, source = 0x555555f2c230, timestamp = 5.40611}, display = {type = 30, source = 0x555555f2c230, timestamp = 5.40611, x = 148, y = 0, width = 49210368, height = 1058407717, 
            orientation = 0}, joystick = {type = 30, source = 0x555555f2c230, timestamp = 5.40611, id = 0x94, stick = 49210368, axis = 1058407717, pos = 0, button = 0}, keyboard = {type = 30, source = 0x555555f2c230, 
---Type <return> to continue, or q <return> to quit---q
timestamQuit
(gdb) quit
A debugging session is active.

	Inferior 1 [process 19317] will be killed.

Quit anyway? (y or n) y

Compilation error with clang

On Arch Linux, trying to compile this with clang-5 I get and python2 2.7.14 I get:

[ 84%] Building CXX object src/paintown-engine/script/CMakeFiles/script_module.dir/modules/python.cpp.o
cd /home/svenstaro/arch-community/paintown/trunk/paintown-3.6.0/build/src/paintown-engine/script && /usr/bin/clang++  -DHAVE_MP3_MPG123 -DHAVE_NETWORKING -DHAVE_OGG -DHAVE_PYTHON -DUSE_SDL -I/home/svenstaro/arch-community/paintown/trunk/paintown-3.6.0/src -I/home/svenstaro/arch-community/paintown/trunk/paintown-3.6.0/src/util/network/hawknl -I/usr/include/SDL -I/usr/include/freetype2 -I/usr/include/ogg -I/usr/include/vorbis -I/usr/include/python3.6m  -O2 -Wall -Wno-unused-variable -Wno-unused-function -funroll-loops -fexpensive-optimizations -Woverloaded-virtual   -o CMakeFiles/script_module.dir/modules/python.cpp.o -c /home/svenstaro/arch-community/paintown/trunk/paintown-3.6.0/src/paintown-engine/script/modules/python.cpp
clang-5.0: warning: optimization flag '-fexpensive-optimizations' is not supported [-Wignored-optimization-argument]
/home/svenstaro/arch-community/paintown/trunk/paintown-3.6.0/src/paintown-engine/script/modules/python.cpp:53:38: error: 
      use of undeclared identifier 'PyCObject_AsVoidPtr'
            World * world = (World*) PyCObject_AsVoidPtr(cobject);
                                     ^
/home/svenstaro/arch-community/paintown/trunk/paintown-3.6.0/src/paintown-engine/script/modules/python.cpp:106:38: error: 
      use of undeclared identifier 'PyCObject_AsVoidPtr'
            World * world = (World*) PyCObject_AsVoidPtr(cworld);
                                     ^
/home/svenstaro/arch-community/paintown/trunk/paintown-3.6.0/src/paintown-engine/script/modules/python.cpp:120:38: error: 
      use of undeclared identifier 'PyCObject_AsVoidPtr'
            World * world = (World*) PyCObject_AsVoidPtr(cworld);
                                     ^
/home/svenstaro/arch-community/paintown/trunk/paintown-3.6.0/src/paintown-engine/script/modules/python.cpp:140:38: error: 
      use of undeclared identifier 'PyCObject_AsVoidPtr'
            World * world = (World*) PyCObject_AsVoidPtr(cworld);
                                     ^
/home/svenstaro/arch-community/paintown/trunk/paintown-3.6.0/src/paintown-engine/script/modules/python.cpp:169:38: error: 
      use of undeclared identifier 'PyCObject_AsVoidPtr'
            World * world = (World*) PyCObject_AsVoidPtr(cobject);
                                     ^
/home/svenstaro/arch-community/paintown/trunk/paintown-3.6.0/src/paintown-engine/script/modules/python.cpp:202:67: error: 
      use of undeclared identifier 'PyCObject_AsVoidPtr'
            Paintown::Character * object = (Paintown::Character*) PyCObject_AsVoidPtr(cobject);
                                                                  ^
/home/svenstaro/arch-community/paintown/trunk/paintown-3.6.0/src/paintown-engine/script/modules/python.cpp:216:61: error: 
      use of undeclared identifier 'PyCObject_AsVoidPtr'
            Paintown::Object * object = (Paintown::Object*) PyCObject_AsVoidPtr(cobject);
                                                            ^
/home/svenstaro/arch-community/paintown/trunk/paintown-3.6.0/src/paintown-engine/script/modules/python.cpp:227:61: error: 
      use of undeclared identifier 'PyCObject_AsVoidPtr'
            Paintown::Object * object = (Paintown::Object*) PyCObject_AsVoidPtr(cobject);
                                                            ^
/home/svenstaro/arch-community/paintown/trunk/paintown-3.6.0/src/paintown-engine/script/modules/python.cpp:251:61: error: 
      use of undeclared identifier 'PyCObject_AsVoidPtr'
            Paintown::Object * object = (Paintown::Object*) PyCObject_AsVoidPtr(cobject);
                                                            ^
/home/svenstaro/arch-community/paintown/trunk/paintown-3.6.0/src/paintown-engine/script/modules/python.cpp:274:61: error: 
      use of undeclared identifier 'PyCObject_AsVoidPtr'
            Paintown::Object * object = (Paintown::Object*) PyCObject_AsVoidPtr(cobject);
                                                            ^
/home/svenstaro/arch-community/paintown/trunk/paintown-3.6.0/src/paintown-engine/script/modules/python.cpp:285:73: error: 
      use of undeclared identifier 'PyCObject_AsVoidPtr'
            Paintown::PlayerCommon * object = (Paintown::PlayerCommon*) PyCObject_AsVoidPtr(cobject);
                                                                        ^
/home/svenstaro/arch-community/paintown/trunk/paintown-3.6.0/src/paintown-engine/script/modules/python.cpp:297:73: error: 
      use of undeclared identifier 'PyCObject_AsVoidPtr'
            Paintown::PlayerCommon * object = (Paintown::PlayerCommon*) PyCObject_AsVoidPtr(cobject);
                                                                        ^
/home/svenstaro/arch-community/paintown/trunk/paintown-3.6.0/src/paintown-engine/script/modules/python.cpp:340:5: error: 
      use of undeclared identifier 'Py_InitModule'
    Py_InitModule((char*) paintown_internal, PaintownModule);
    ^
/home/svenstaro/arch-community/paintown/trunk/paintown-3.6.0/src/paintown-engine/script/modules/python.cpp:379:24: error: 
      use of undeclared identifier 'PyCObject_FromVoidPtr'
    AutoObject cobject(PyCObject_FromVoidPtr((void*) obj, NULL));
                       ^
/home/svenstaro/arch-community/paintown/trunk/paintown-3.6.0/src/paintown-engine/script/modules/python.cpp:481:26: error: 
      use of undeclared identifier 'PyCObject_FromVoidPtr'
    PyObject * cobject = PyCObject_FromVoidPtr((void*) &world, NULL);
                         ^
15 errors generated.

It freezes or black screens.

I downloaded the paintown apk and then I opened it, and it went as usual by creating a file path but then it just froze on a screen where it was black as the background but you could still see the buttons that you use to control your character. It pretty much is black but you can still see the controller and it doesn't move from that screen, any help is appreciated.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.