Frets on Fire X: a fork of Frets on Fire with many added features and capabilities

Overview

Frets on Fire X - FoFiX

Build Status Documentation Status Gitter

This is Frets on Fire X, a highly customizable rhythm game supporting many modes of guitar, bass, drum, and vocal gameplay for up to four players. It is the continuation of a long succession of modifications to the original Frets on Fire by Unreal Voodoo.

Setup

Dependencies

First, you will need Python 2.7.

Python dependencies: run pip install -r requirements.txt.

Optional dependencies:

  • pyopengl-accelerate: this will make PyOpenGL go a good bit faster
  • pyaudio: this provides support for microphone input, which is required for vocal play
  • gettext: for translations

OS-specific dependencies:

  • Windows:

  • Unix:

    • a C++ compiler
    • OpenGL
    • ffmpeg
    • pkg-config
    • python's developpment headers
    • and: GLU, GLib, SDL, SDL_mixer, libogg, libvorbisfile, libtheora, libsoundtouch, libswscale (part of ffmpeg) development headers

To install Unix dependencies in Debian run sudo apt-get install libogg-dev libportmidi-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev libsdl1.2-dev libsoundtouch-dev libswscale-dev libtheora-dev libvorbis-dev mesa-utils portaudio19-dev

Native modules

Some parts of FoFiX are written in C or C++. These must be compiled before you can start the game from source:

python setup.py build_ext --inplace --force

Generate translations

python setup.py msgfmt

Start the game

python FoFiX.py
Comments
  • Github build LNK1181 error (Windows 10 Home)

    Github build LNK1181 error (Windows 10 Home)

    Whenever i do python setup.py build_ext --inplace --force, it sends an error:

    command 'C:\Users\aPoC\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\link.exe' failed with exit status 1181
    

    The entire command line:

    Microsoft Windows [Version 10.0.10240](c) 2015 Microsoft Corporation. All rights reserved.
    
    C:\Users\Filip>d:
    
    D:>cd "Frets On Fire X"
    
    D:\Frets On Fire X>cd src
    
    D:\Frets On Fire X\src>cd fofix
    
    D:\Frets On Fire X\src\fofix>python setup.py build_ext --inplace --force
    checking for program pkg-config... .\win32\deps\bin\pkg-config.exe
    checking for library ogg... ok
    checking for library theoradec... ok
    checking for library glib-2.0... ok
    checking for library libswscale... ok
    running build_ext
    cythoning fofix/core/cmgl/cmgl.pyx to fofix/core/cmgl\cmgl.c
    building 'fofix.lib.cmgl' extension
    creating build
    creating build\temp.win32-2.7
    creating build\temp.win32-2.7\Release
    creating build\temp.win32-2.7\Release\fofix
    creating build\temp.win32-2.7\Release\fofix\core
    creating build\temp.win32-2.7\Release\fofix\core\cmgl
    C:\Users\Filip\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG "-ID:\Frets On Fire X\python\lib\site-packages\numpy\core\include" "-ID:\Frets On Fire X\python\include" "-ID:\Frets On Fire X\python\PC" -I.\win32\deps\include\msinttypes /Tcfofix/core/cmgl\cmgl.c /Fobuild\temp.win32-2.7\Release\fofix/core/cmgl\cmgl.obj /EHsc
    cmgl.c
    d:\frets on fire x\python\lib\site-packages\numpy\core\include\numpy\npy_1_7_deprecated_api.h(12) : Warning Msg: Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
    C:\Users\Filip\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\link.exe /DLL /nologo /INCREMENTAL:NO "/LIBPATH:D:\Frets On Fire X\python\libs" "/LIBPATH:D:\Frets On Fire X\python\PCbuild" opengl32.lib /EXPORT:initcmgl build\temp.win32-2.7\Release\fofix/core/cmgl\cmgl.obj "/OUT:D:\Frets On Fire X\src\fofix\fofix\lib\cmgl.pyd" /IMPLIB:build\temp.win32-2.7\Release\fofix/core/cmgl\cmgl.lib /MANIFESTFILE:build\temp.win32-2.7\Release\fofix/core/cmgl\cmgl.pyd.manifest
       Creating library build\temp.win32-2.7\Release\fofix/core/cmgl\cmgl.lib and object build\temp.win32-2.7\Release\fofix/core/cmgl\cmgl.exp
    cythoning fofix/core/pypitch/_pypitch.pyx to fofix/core/pypitch_pypitch.cpp
    building 'fofix.lib._pypitch' extension
    creating build\temp.win32-2.7\Release\fofix\core\pypitch
    C:\Users\Filip\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG "-ID:\Frets On Fire X\python\include" "-ID:\Frets On Fire X\python\PC" -I.\win32\deps\include\msinttypes /Tpfofix/core/pypitch_pypitch.cpp /Fobuild\temp.win32-2.7\Release\fofix/core/pypitch_pypitch.obj /EHsc
    _pypitch.cpp
    C:\Users\Filip\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG "-ID:\Frets On Fire X\python\include" "-ID:\Frets On Fire X\python\PC" -I.\win32\deps\include\msinttypes /Tpfofix/core/pypitch/pitch.cpp /Fobuild\temp.win32-2.7\Release\fofix/core/pypitch/pitch.obj /EHsc
    pitch.cpp
    C:\Users\Filip\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\link.exe /DLL /nologo /INCREMENTAL:NO "/LIBPATH:D:\Frets On Fire X\python\libs" "/LIBPATH:D:\Frets On Fire X\python\PCbuild" /EXPORT:init_pypitch build\temp.win32-2.7\Release\fofix/core/pypitch_pypitch.obj build\temp.win32-2.7\Release\fofix/core/pypitch/pitch.obj "/OUT:D:\Frets On Fire X\src\fofix\fofix\lib_pypitch.pyd" /IMPLIB:build\temp.win32-2.7\Release\fofix/core/pypitch_pypitch.lib /MANIFESTFILE:build\temp.win32-2.7\Release\fofix/core/pypitch_pypitch.pyd.manifest
       Creating library build\temp.win32-2.7\Release\fofix/core/pypitch_pypitch.lib and object build\temp.win32-2.7\Release\fofix/core/pypitch_pypitch.exp
    cythoning fofix/core/VideoPlayer/_VideoPlayer.pyx to fofix/core/VideoPlayer_VideoPlayer.c
    building 'fofix.lib._VideoPlayer' extension
    creating build\temp.win32-2.7\Release\fofix\core\VideoPlayer
    C:\Users\Filip\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -Dinline=__inline "-ID:/Frets On Fire X/src/fofix/win32/deps/include" "-ID:/Frets On Fire X/src/fofix/win32/deps/include" "-ID:/Frets On Fire X/src/fofix/win32/deps/include/glib-2.0" "-ID:/Frets On Fire X/src/fofix/win32/deps/lib/glib-2.0/include" "-ID:/Frets On Fire X/src/fofix/win32/deps/include" -I. "-ID:\Frets On Fire X\python\include" "-ID:\Frets On Fire X\python\PC" -I.\win32\deps\include\msinttypes /Tcfofix/core/VideoPlayer_VideoPlayer.c /Fobuild\temp.win32-2.7\Release\fofix/core/VideoPlayer_VideoPlayer.obj /EHsc
    _VideoPlayer.c
    C:\Users\Filip\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -Dinline=__inline "-ID:/Frets On Fire X/src/fofix/win32/deps/include" "-ID:/Frets On Fire X/src/fofix/win32/deps/include" "-ID:/Frets On Fire X/src/fofix/win32/deps/include/glib-2.0" "-ID:/Frets On Fire X/src/fofix/win32/deps/lib/glib-2.0/include" "-ID:/Frets On Fire X/src/fofix/win32/deps/include" -I. "-ID:\Frets On Fire X\python\include" "-ID:\Frets On Fire X\python\PC" -I.\win32\deps\include\msinttypes /Tcfofix/core/VideoPlayer/VideoPlayer.c /Fobuild\temp.win32-2.7\Release\fofix/core/VideoPlayer/VideoPlayer.obj /EHsc
    VideoPlayer.c
    C:\Users\Filip\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\link.exe /DLL /nologo /INCREMENTAL:NO "/LIBPATH:D:/Frets On Fire X/src/fofix/win32/deps/lib" "/LIBPATH:D:/Frets On Fire X/src/fofix/win32/deps/lib" "/LIBPATH:D:/Frets On Fire X/src/fofix/win32/deps/lib" "/LIBPATH:D:/Frets On Fire X/src/fofix/win32/deps/lib" "/LIBPATH:D:\Frets On Fire X\python\libs" "/LIBPATH:D:\Frets On Fire X\python\PCbuild" opengl32.lib ogg.lib theoradec.lib ogg.lib glib-2.0.lib intl.lib swscale.lib /EXPORT:init_VideoPlayer build\temp.win32-2.7\Release\fofix/core/VideoPlayer_VideoPlayer.obj build\temp.win32-2.7\Release\fofix/core/VideoPlayer/VideoPlayer.obj "/OUT:D:\Frets On Fire X\src\fofix\fofix\lib_VideoPlayer.pyd" /IMPLIB:build\temp.win32-2.7\Release\fofix/core/VideoPlayer_VideoPlayer.lib /MANIFESTFILE:build\temp.win32-2.7\Release\fofix/core/VideoPlayer_VideoPlayer.pyd.manifest
    LINK : fatal error LNK1181: cannot open input file 'ogg.lib'
    error: command 'C:\Users\Filip\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\link.exe' failed with exit status 1181
    
    D:\Frets On Fire X\src\fofix>
    
    Windows 
    opened by FILTUT 30
  • Missing DLL when starting FoFiX.py

    Missing DLL when starting FoFiX.py

    I've been trying to start FoFiX.py but it seems like there is a missing DLL over there. There you have the error:

    Traceback (most recent call last):
      File "FoFiX.py", line 129, in <module>
        from fofix.game.Main import Main
      File "D:\Users\admin\Documents\fofix\fofix\game\Main.py", line 41, in <module>
        from fofix.core.VideoPlayer import VideoLayer, VideoPlayerError
      File "D:\Users\admin\Documents\fofix\fofix\core\VideoPlayer\__init__.py", line 1, in <module>
        from fofix.lib._VideoPlayer import *
    ImportError: DLL load failed: No se puede encontrar el m¾dulo especificado.
    

    I'm using Windows 10 64-bits and Python 2.7 Thanks

    bug Windows 
    opened by Rexrder 18
  • A potential way forward...

    A potential way forward...

    So I've been thinking a lot about what we should do to move this project forward.

    So i'm thinking we need to define a very basic set of features. Take all code that doesn't pertain to them and throw it out.

    With the simpler code base start cleaning up general architecture of the game, replace dependencies, and work for python 3 compatibility. Once we get a good solid clean base then we can start adding some features back.

    I mean its been 4 1/2 years since a 'stable' release and i think its time for a bit more drastic measures.

    Thoughts?

    enhancement debatable cleanup feature 
    opened by mdsitton 18
  • Separated files for song infos and scores

    Separated files for song infos and scores

    Hi there ! It'd be great to have separated files for song infos (Name/Artist/Order in Tier) and for scores. That would be great for sharing a song with or without scores. For example I made a git repo with all my musics (without audio files) (github.com/Salamandar/FoF-Musics) and I don't want my scores being overwritten each time someone creates a new music.

    enhancement 
    opened by Salamandar 17
  • Prodrums implementation

    Prodrums implementation

    Enabled MIDI drums and tested with Roland HD-1. Fullscreen was disabled. Added advanced audio setting to disable Jurgen taunting. Implemented Pro Drums for Megalight V4 only.

    opened by justmoen 15
  • Some issue, probably after a python2.7 update

    Some issue, probably after a python2.7 update

    Probably after a Python update, i cannot start Fofix (3.121) nor Fofix-git (v4.0.0alpha2.r244.gd21b0cc-1)

    Traceback (most recent call last):
      File "./FoFiX.py", line 276, in <module>
        main()
      File "./FoFiX.py", line 175, in main
        engine = GameEngine(config)
      File "/opt/fofix/src/GameEngine.py", line 597, in __init__
        self.data = Data(self.resource, self.svg)
      File "/opt/fofix/src/Data.py", line 130, in __init__
        self.loadImgDrawing(self, "star1",   os.path.join("themes",themename,"star1.png"), textureSize = (128, 128))
      File "/opt/fofix/src/Data.py", line 583, in loadImgDrawing
        drawing  = self.resource.load(target, name, lambda: ImgDrawing(self.svg, fileName), synch = True)
      File "/opt/fofix/src/Resource.py", line 246, in load
        return l.finish()
      File "/opt/fofix/src/Resource.py", line 113, in load
        self.result = self.function()
      File "/opt/fofix/src/Data.py", line 583, in <lambda>
        drawing  = self.resource.load(target, name, lambda: ImgDrawing(self.svg, fileName), synch = True)
      File "/opt/fofix/src/Svg.py", line 516, in __init__
        self.texture = Texture(ImgData)
      File "/opt/fofix/src/Texture.py", line 66, in __init__
        self.loadFile(name)
      File "/opt/fofix/src/Texture.py", line 70, in loadFile
        self.loadImage(Image.open(name))
      File "/opt/fofix/src/Texture.py", line 77, in loadImage
        string = image.tostring('raw', 'RGBA', 0, -1)
      File "/usr/lib/python2.7/site-packages/PIL/Image.py", line 686, in tostring
        "Please call tobytes() instead.")
    Exception: tostring() has been removed. Please call tobytes() instead.
    
    opened by Salamandar 14
  • Make FretWork working in a package/dependencies management system (well… any linux distro :p )

    Make FretWork working in a package/dependencies management system (well… any linux distro :p )

    Well, basically, I'm using Manjaro (Arch-based), and there is already a fofix package (https://aur.archlinux.org/packages/fofix-git, build from git clone of this repo).

    What would be best :

    • Create another package (so as dependency of fofix and fof) of FretWork
    • clone fofix and fretwork, then bind them together as an only package
    • Add fretwork as a git submodule inside the fofix repo. That would lead to an only package

    I can create the package for AUR, that's something I already did. But YOU know how you created fretwork so what would be best.

    opened by Salamandar 8
  • Bug in cerealizer ?

    Bug in cerealizer ?

    Fresh linux/python/fofix install.

    Traceback (most recent call last):
      File "./FoFiX.py", line 156, in <module>
        from fofix.core.VideoPlayer import VideoLayer, VideoPlayerError
      File "/opt/fofix-git/fofix/core/VideoPlayer/__init__.py", line 1, in <module>
        from fofix.lib._VideoPlayer import *
      File "fofix/core/VideoPlayer/_VideoPlayer.pyx", line 100, in init fofix.core.VideoPlayer._VideoPlayer (fofix/core/VideoPlayer/_VideoPlayer.c:4286)
        from fofix.core.Input import KeyListener
      File "/opt/fofix-git/fofix/core/Input.py", line 39, in <module>
        from fofix.core.Player import Controls
      File "/opt/fofix-git/fofix/core/Player.py", line 34, in <module>
        from fofix.game import song
      File "/opt/fofix-git/fofix/game/song/__init__.py", line 1, in <module>
        from fofix.game.song.song import *
      File "/opt/fofix-git/fofix/game/song/song.py", line 36, in <module>
        import cerealizer
      File "/usr/lib/python2.7/site-packages/cerealizer/__init__.py", line 562, in <module>
        register(str       , StrHandler      ())
      File "/usr/lib/python2.7/site-packages/cerealizer/__init__.py", line 515, in register
        if Class in _HANDLERS_: raise ValueError("Class %s has already been registred!" % Class)
    ValueError: Class <type 'str'> has already been registred!
    

    What is the problem here ?

    wontfix 
    opened by Salamandar 7
  • Custom Drum's Fret Buttons glitches

    Custom Drum's Fret Buttons glitches

    Hello again :)

    I think this will be my last bug report :P for 4 alpha 2

    The only theme I have found so far for for fofix 4 alpha 2 is this one: http://www.fretsonfire.net/forums/viewtopic.php?f=17&t=54270&sid=2cda1bb617fa405acec1b66ede33563f

    This theme has the following very cool Custom Drum's Fret Buttons:

    http://postimg.org/image/huii9tlil/

    Unfortunately using them with alpha 2 is not working right, and I'm pretty sure is not the theme's fault.

    When ever I try to use the Custom Drum's Fret Buttons, each time I hit any of the frets the right next fret also lights up. For instance hitting fret one also lights up fret two. Also, while hitting frets 4, the bass drum also appears hit. This is only in appearance since they won't actually count as hit in the game.

    Hope I was able to explain my self right. If needed you could test what I'm talking about by downloading the Custom Drum's Fret Buttons from my link and putting it on frets/drum/fretbuttons.png of any theme .

    Thank you very much.

    bug 
    opened by arielenter 7
  • [3.122] To String Error when running python FoFiX.py

    [3.122] To String Error when running python FoFiX.py

    When I run FoFiX.py It Gives Me An Error

    This Is The Error From the log file

    [    0.000000] (D) Logging initialized: Mon Aug 30 11:16:29 2021
    [    0.364000] (W) Pitch bending is not supported; install john.stumpo's pitchbend module (r7 or higher) if you want it.
    [    0.365000] (W) PyOGG not found. OGG files will be fully decoded prior to playing; expect absurd memory usage.
    [    0.541000] (D) GameEngine class init (GameEngine.py)...
    [    0.541000] (D) FoFiX v3.122 Final starting up...
    [    0.541000] (D) pygame version: 1.9.6
    [    0.542000] (D) Initializing audio.
    [    0.818000] (D) Audio configuration: (44100, -16, 2)
    [    0.841000] (D) Initializing pygame.mixer & audio system at 44100 Hz.
    [    0.841000] (D) Initializing video.
    [    1.085000] (E) Terminating due to unhandled exception: 
    Traceback (most recent call last):
      File "FoFiX.py", line 276, in <module>
        main()
      File "FoFiX.py", line 175, in main
        engine = GameEngine(config)
      File "C:\Users\***\Downloads\fofix-3.122\fofix-3.122\src\GameEngine.py", line 550, in __init__
        self.video.setMode((width, height), fullscreen = fullscreen, multisamples = multisamples)
      File "C:\Users\***\Downloads\fofix-3.122\fofix-3.122\src\Video.py", line 114, in setMode
        bigIconColorData = bigIcon.tostring()
    AttributeError: 'Image' object has no attribute 'tostring'
    

    Im On Windows 10 BTW

    bug Windows 
    opened by Derpez 6
  • Exit when loading songs list

    Exit when loading songs list

    I get the following error when I try to play a song, it happens when the game loads the songs list

    Traceback (most recent call last): File "FoFiX.py", line 171, in main.run() File "/home/wilson/juegos/fofix/fofix/game/Main.py", line 131, in run while self.engine.run(): File "/home/wilson/juegos/fofix/fofix/core/GameEngine.py", line 630, in run rtn = self.mainloop() File "/home/wilson/juegos/fofix/fofix/core/GameEngine.py", line 612, in main done = self.task.run() File "/home/wilson/.local/lib/python2.7/site-packages/fretwork/task.py", line 118, in run self.runTask(taskData['task']) File "/home/wilson/.local/lib/python2.7/site-packages/fretwork/task.py", line 93, in runTask task.run(tick) File "/home/wilson/juegos/fofix/fofix/core/Input.py", line 326, in run self.broadcastEvent(self.keyListeners, "keyPressed", event.key, event.unicode) File "/home/wilson/juegos/fofix/fofix/core/Input.py", line 237, in broadcastEvent if getattr(l, function)(*args): File "/home/wilson/juegos/fofix/fofix/game/Lobby.py", line 345, in keyPressed self.engine.world.startGame() File "/home/wilson/juegos/fofix/fofix/game/World.py", line 86, in startGame self.createScene(STARTUP_SCENE, **args) File "/home/wilson/juegos/fofix/fofix/game/World.py", line 124, in createScene self.scene = SceneFactory.create(engine = self.engine, name = name, **args) File "/home/wilson/juegos/fofix/fofix/core/SceneFactory.py", line 36, in create return getattr(scene_name, name)(engine = engine, **args) File "/home/wilson/juegos/fofix/fofix/game/SongChoosingScene.py", line 69, in init song.updateSongDatabase(self.engine) File "/home/wilson/juegos/fofix/fofix/game/song/song.py", line 3523, in updateSongDatabase getAvailableSongs(engine, folder.libraryName, progressCallback=lambda p: updatePhase('%s \n %s \n %s' % ( File "/home/wilson/juegos/fofix/fofix/game/song/song.py", line 3117, in getAvailableSongs library, name, "song.ini", writable=True), library)) File "/home/wilson/juegos/fofix/fofix/game/song/song.py", line 274, in init self.getScores(part) File "/home/wilson/juegos/fofix/fofix/game/song/song.py", line 329, in getScores self.highScores[str(part)] = {} UnicodeEncodeError: 'ascii' codec can't encode character u'\xed' in position 10: ordinal not in range(128)

    bug 
    opened by wilsoft-gt 6
  • Can't build for Windows

    Can't build for Windows

    I tried following the docs to make the build for windows and nothing works. Missing packages, scripts failing, sadness increasing. Not sure where else to ask this, sorry. Is there a more up to date version of the docs?

    Windows dependencies 
    opened by TheFatBastid 2
  • ci(tests): use py3 as default

    ci(tests): use py3 as default

    • Replace python 2 with python 3.7 as default version
    • Add python 3.9 and python 3.10 as optional
    • Remove support for python 3.6 as it is not maintained anymore.

    Ref #110

    opened by Linkid 0
  • [4.x] Runtime errors with Python 2.7.18

    [4.x] Runtime errors with Python 2.7.18

    Using the latest master with the versions in requirements.txt, compiling with py2exe gives me an issue with distutils (another built-in):

    Traceback (most recent call last):
      File "FoFiX.py", line 50, in <module>
        import PIL.JpegImagePlugin
      File "PIL\JpegImagePlugin.pyo", line 42, in <module>
      File "PIL\TiffImagePlugin.pyo", line 44, in <module>
    ImportError: No module named distutils.version
    

    Here, running "python FoFiX.py" gives me the pygame announce but then stops before a log is created.

    Originally posted by @Nutzzz in https://github.com/fofix/fofix/issues/264#issuecomment-1108938332

    bug Windows 
    opened by Nutzzz 0
  • [3.x] Runtime errors with Python 2.7.18

    [3.x] Runtime errors with Python 2.7.18

    Describe the bug Using FoFiX 3.122 or 3.123 and Python 2.7.18 (x86) in Windows 11, once dependencies have been resolved and FoFiX is successfully building [with py2exe], I get a runtime error in FoFiX.exe.log: "ImportError: No module named difflib." It looks like difflib should be built-in, but I tried pip installing cdifflib, ndifflib, pydiff with the same result. Just for fun I also tried installing diff, which installs a few prerequisites, including attrs, which until it is removed gives me "invalid syntax" in _next_gen.py on the next compile; once that's removed I get the same as above.

    Error message

      File "FoFiX.py", line 108, in <module>
      File "GameEngine.pyo", line 32, in <module>
      File "numpy\__init__.pyo", line 187, in <module>
      File "numpy\testing\__init__.pyo", line 10, in <module>
      File "unittest\__init__.pyo", line 59, in <module>
      File "unittest\case.pyo", line 6, in <module>
    ImportError: No module named difflib
    

    As a test, I commented out line 73 of setup_exe.py, "difflib", from options={"py2exe":...{"excludes":[]...} This actually starts the game briefly, but then I get a runtime error in fofix.log:

    [    0.000000] (D) Logging initialized: Fri Apr 22 15:22:51 2022
    [    1.276000] (W) Pitch bending is not supported; install john.stumpo's pitchbend module (r7 or higher) if you want it.
    [    1.792000] (D) GameEngine class init (GameEngine.py)...
    [    1.792000] (D) FoFiX v3.123 Final starting up...
    [    1.792000] (D) pygame version: 2.0.3
    [    1.793000] (D) Initializing audio.
    [    1.841000] (D) Audio configuration: (48000, -16, 8)
    [    1.899000] (D) Initializing pygame.mixer & audio system at 44100 Hz.
    [    1.899000] (D) Initializing video.
    [    2.514000] (E) Terminating due to unhandled exception:
    Traceback (most recent call last):
      File "FoFiX.py", line 276, in <module>
      File "FoFiX.py", line 175, in main
      File "GameEngine.pyo", line 550, in __init__
      File "Video.pyo", line 102, in setMode
      File "PIL\Image.pyo", line 2818, in open
    IOError: cannot identify image file 'data\\fofix_icon.png'
    

    "data\fofix_icon.png" does exist, and is a valid png file. I tried replacing it with different png files: no change. I tried commenting out lines 497-8 from GameEngine.py and 186 from Credits.py, but falling into "icon = None" results in a runtime "AttributeError: 'NoneType' object has no attribute 'read'"

    To Reproduce

    1. Fresh install of Python 2.7.18 (x86) on Windows 11 [Note I also tried ActivePython 2.7.18 (x86), but the result was similar, though note the state tool doesn't want to install anything; it seems perhaps because of the CVE in bzip 1.0.6.]
    2. Note requirements.txt does not seem to exist anymore, so these were the prerequisites I figured my way through (beyond the win32 dependency pack):
    pip install wheel pywin32 py2exe_py2 pyopengl pyopengl-accelerate pygame numpy pyaudio pillow python-gettext
    

    [EDIT: I found the requirements.txt in the root of the repo that somehow didn't get packaged with the release .zip. Same difflib error, and after commenting out difflib, same image error [other than the callout for the older version of pygame.]

    1. Build and compile:
    python setup.py build_ext --inplace --force
    python setup.py py2exe
    

    Environment (please complete the following information):

    • OS: Windows 11
    • Python version: 2.7.18 (x86)
    bug Windows 
    opened by Nutzzz 5
  • Building dependencies

    Building dependencies

    I'm having trouble building the dependencies with the makedeps-cross file. When I run that, it returns with:

    "Using cross compilers prefixed with 'i686-w64-mingw32-'. (Set CROSS_TOOL_PREFIX to change this; don't include the trailing hyphen.) did not find i686-w64-mingw32-gcc, which is required"

    Now, I have mingw64 and added to path, but it doesn't contain i686-w64-mingw32-gcc, only x86_64-w64-ming32-gcc. I've tried different installations, but I'm wondering if the one that the makedeps is asking for is a version to a specific operating system? Or why wouldn't I find it otherwise? Or am I completely on the wrong track here? Google doesn't provide me with useful answers and I'm pretty new to any type of programming... I'd love to play the game, though.

    I have the games root inside a virtual environment with python27 32-bit and currently running windows11. I remember having the same issue tho on win10...

    Thanks for any comments :)

    bug 
    opened by monschkopf 3
Releases(v3.123)
  • v3.123(Oct 16, 2021)

    What's Changed

    • fix remaining PIL deprecations
    • use the URL of our new website.

    Contributors

    • @pkuhner made its first contribution
    • @Linkid

    Full Changelog: https://github.com/fofix/fofix/compare/v3.122...v3.123

    Source code(tar.gz)
    Source code(zip)
  • v3.122(Nov 28, 2019)

Owner
FoFiX
Frets on Fire X
FoFiX
Game of life, with python code.

Game of Life The Game of Life, also known simply as Life, is a cellular automaton. It is a zero-player game, meaning that its evolution is determined

Mohammad Dori 3 Jul 15, 2022
游戏中按TAB键查看所有玩家分数的小程序

DDNet-show-points-in-game DDRaceNetwork 游戏中按TAB键查看所有玩家分数的小程序

3 Oct 13, 2022
A set of tools to help you with running a Project Zomboid game server (Linux only)

Project Zomboid Server Tools A set of tools to help you with running a Project Zomboid game server (Linux only). Features Install Project Zomboid Dedi

24 Dec 25, 2022
A small module for creating a card deck, used for making card games

card-deck This module can be used to create small card games such as BlackJack etc.. To initialize the deck, use: Deck() To shuffle the deck, use: Dec

4 Dec 31, 2021
Email guesser - Guessing BF email based on emailGuesser by WhiteHatInspector

email_guesser Guessing BF email based on emailGuesser by WhiteHatInspector (http

4 Dec 25, 2022
Termordle - a terminal based wordle clone in python

Termordle - a terminal based wordle clone in python

2 Feb 08, 2022
Inject custom C++ code into GameMaker Studio 2 YYC builds

YYC Boost Inject custom C++ code into GameMaker Studio 2 YYC builds! WARNING: This tool is currently in an early stage of development and it is not gu

Patrik Kraif 7 Dec 30, 2022
Cricket game using PYQT

Cricket-game-using-PYQT This is a Fantasy cricket Desktop application build in p

Sanket Mane 1 Jan 03, 2022
OS Algo Visualization - Operating system algorithm visualization using python pygame library

OS_Algo_Visualization Operating system algorithm visualization using python pyga

Krushang Satani 2 Feb 17, 2022
pyLodeRunner - Classic Lode Runner clone made in pyxel (Python)

pyLodeRunner Classic Lode Runner clone made in pyxel (Python) Controls arrow key : move the player X : dig right side Z : dig left side ESC : quit gam

2 Feb 12, 2022
Deal Or No Deal was a very popular game show. Even now, for a family party, it's a fun game to pass time

Deal Or No Deal was a very popular game show. Even now, for a family party, it's a fun game to pass time. I made a code to play the game right in your terminal/console. This isn't made to be a game w

1 Feb 15, 2022
Python fitting assistant, cross-platform fitting tool for EVE Online

pyfa What is it? Pyfa, short for python fitting assistant, allows you to create, experiment with, and save ship fittings without being in game. Open s

1.4k Dec 22, 2022
Input-based tic tac toe game made in only python.

Tic Tac Toe Tic Tac Toe is a game in which two players seek in alternate turns to complete a row, a column, or a diagonal with either three O's or thr

Ayza 5 Jun 26, 2022
Memory game in Python

Concentration - Memory Game Concentration is a memory game written in Python, inspired by memory-game. Description As stated in the introduction of th

Marco Colonna 0 Jul 21, 2022
🪨 📄 ✂ game in python with recursion

🪨 📄 ✂ Game Rock Paper Scissor game in python with recursion ⚙️ Developer's Guide Things you need to get started with this code:- Download python3 fr

Atul Anand 3 Jul 25, 2022
Chess turnament organizer (short construct concept)

Turnament Organizer Chess turnament organizer (short construct concept). It is my hobby app I want to write to support lightweight tool for smart roun

kkuba91 3 Dec 16, 2022
To solve games using AI, we will introduce the concept of a game tree followed by minimax algorithm.

To solve games using AI, we will introduce the concept of a game tree followed by minimax algorithm.

Vaibhaw 7 Oct 13, 2022
Dragon Quest IV (NDS) English + Party Chat Script Patcher for Japan ROM

Patches English script files from the US version of Dragon Quest IV for Nintendo DS and Android so they are rendered nicely when used with the Japan ROM. Addresses various issues caused by the Japan

Aric Huang 35 Dec 18, 2022
Vac-Man in Python

Vac-Man in Python This is my personal version of Vax-man game using python, which is the first assignment of EA Software Engineering Virtual Experienc

ZiXiang Luo 3 Jan 05, 2022
A simple hangman game for beginners trying to learn python

Hangman Game This is a simple hangman game for beginners trying to learn python. I have tried to keep it as simply as possible. Sample output Here is

1 Oct 13, 2021