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
An interactive pygame implementation of quadtree spatial quantization

QuadTree-py An interactive pygame implementation of quadtree spatial quantization Contents Installation Usage API Reference TODO Installation Clone th

Ethan 1 Dec 05, 2021
Text-Adventure-Game [Open Source] A group project by the Python TASK Force

Text-Adventure-Game [Open Source] A group project by the Python TASK Force

Mircea Dumitrescu 2 Sep 17, 2021
A Snake Game built by Python Turtle Module 🐍

Snake-Game A Snake Game built with Python Turtle Module 🐍 Icons made by Freepik from www.flaticon.com Intro Control the direction of snake by simply

Megan 1 Oct 24, 2021
Useful tools for Minecraft worlds such as remove unused chunks, find blocks or entities.

Useful tools for Minecraft worlds such as removing unused chunks and finding blocks, command blocks or entities.

Rapha149 1 Feb 17, 2022
Attempts to solve Wordle-like puzzles.

Attempts to solve Wordle-like puzzles.

cotman 1 Feb 14, 2022
Netskrafl - an Icelandic crossword game website

Netskrafl - an Icelandic crossword game website English summary This repository contains the implementation of an Icelandic crossword game in the genr

Miðeind ehf 30 May 09, 2022
AI based assitant for minecarft

Minecraft_AI_assistant AI-based assistant for Minecraft There are 4 steps to build 1-I'm using collecting_data.png as a structure to take shots with c

Murat Ali Avcu 13 Oct 16, 2022
Quantum version of the game Tic Tac Toe.

QTicTacToe Quantum version of the game Tic Tac Toe. This game was inspired by the game at this site. Installation The game requires the qiskit python

1 Jan 05, 2022
A minimal open source mtg-like tcg game made in python that can be played on a terminal emulator using a keyboard.

A minimal open source mtg-like tcg game made in python that can be played on a terminal emulator using a keyboard.

Amos 3 Aug 29, 2021
Snake Game in Python

Snake game is one of the most popular arcade games of all time. In this game, the main objective of the player is to catch the maximum number of fruits without hitting the wall or itself.

Pavan Ananth Sharma 4 Jul 05, 2022
A use of the python MCPI to enhance the multiplayer and singleplayer gameplay.

Morpheus 2.0 A use of the python MCPI to enhance the multiplayer and singleplayer gameplay. To Use: You will need to install the keyboard, pysimplegui

11 Oct 11, 2022
Deep Running

Deep Running 1. Install $ pip install --user deep_running 2. Lap N Lap. Name Remarks Citation Meta 1 Mario Deeeeeep Running I was born to run. dannyso

karaage 69 Jan 31, 2022
An entropy-based strategy to wordle

An entropy-based strategy to wordle

Gilles Vandewiele 24 Dec 31, 2022
Console 2D GameEngine {C2DGE} [0.1.0]

Console 2D GameEngine {C2DGE} [0.1.0] By Grosse pastèque#6705 The Project's Goal : This projects was just a challenge so if you have bad reviews, it's

Big watermelon 1 Nov 06, 2021
Lint game data metafiles against GTA5.xsd for Rockstar's game engine (RAGE)

rage-lint Lint RAGE (only GTA5 at the moment) meta/XML files for validity based off of the GTA5.xsd generated from game code. This script accepts a se

GoatGeek 11 Sep 18, 2022
Simple game where you try to survive as long as you can on screen.

Survival Game Simple game where you try to survive as long as you can on screen. Play To run, download the code and run the survival_game.py file. Fro

Logan Morris 1 Feb 10, 2022
A Neural Network based chess engine and GUI made with Python and Tensorflow/Keras.

Haxaw-Chess Haxaw: Haxaw is the Neural Network based chess engine made with Python and Tensorflow/Keras. Also uses the python-chess library. (WIP: Imp

Sarthak Bharadwaj 8 Dec 10, 2022
A basic quiz game using Python

QuizGame A basic quiz game using Python Passwords for quizzes (NO CAPS LOCK!): -ryzermattishandsome -canisleepwithyou Before using this, please make s

Austin 1 Nov 12, 2021
Projeto Flappy Bird temática doom, projeto python e pygame

Doom-Bird Tecnologias usadas Requisitos para inicializar o jogo: Python faça o download em: https://www.python.org/downloads/ Após instalar o Python d

João Guilherme 1 Dec 08, 2021
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