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
A Python Sudoku Game Made with Pygame.

A Python Sudoku Game Made with Pygame. A Begginer Aimed at Learning Git, This Game Uses a Puzzle Generator Made by RutledgePaulV, Link to his Repo:

helaxious 3 Jun 29, 2022
Recreation of HexGame in Pygame. More features will come soon !

Hex with Pygame Historical point of view What Are the rules of this game ? Some Strategies and tips The algorithm for the Win Other fonctionnalities W

4 Mar 26, 2022
Creates a landscape with more accurate river generation in Minecraft version 1.12 using python.

MinecraftLandRiverGen View the following youtube video to set up a world that can interact with the python programs

23 Dec 25, 2022
A shooter game.

Screenshots Installation GNU/Linux Go to the Releases tab. Download InfiniteShooter.flatpak from the latest version of InfiniteShooter Open the termin

PastThePixels 13 Dec 01, 2022
Flappy Bird clone utilizing facial recognition to move the

Flappy Face Flappy Bird clone utilizing facial recognition to move the "bird" How it works Flappy Face uses Facial Recognition to detect your face's p

Brady McDermott 1 Jan 11, 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
Wordle - Implementation of wordle and a solver

Wordle - Implementation of wordle and a solver

Kurt Neufeld 1 Feb 04, 2022
Rock-Paper-Scissors - Rock Paper Scissors With Python

Rock-Paper-Scissors The familiar game of Rock, Paper, Scissors is played like th

Lateefah Ajadi 0 Jan 15, 2022
KBYD - Simple Bulls and Cows Game

KBYD KBYD - Simple Bulls and Cows Game How to Play KBYD is a simple Bulls and Cows Game. When the game starts, the computer randomly generates 3 to 5

1 Dec 04, 2021
The original Tetris tile-matching game as adopted by IBM PC.

🕹️ Tetris Game The original Tetris tile-matching game as adopted by IBM PC. Game developed purely on python using the Dear PyGui Framework. 📖 Instru

14 Nov 12, 2022
You want to uto-update your private minecraft client? Give this to developer and enjoy!

minecraft-hack-installer You want to uto-update your private minecraft client? Give this to developer and enjoy! Steps to do: Install libraries: pip i

EuropeStudio 1 Jun 03, 2022
Hex-brawl-v25 - Simple Brawl Stars v25.107 server emulator written in Python

Hex Brawl Simple Brawl Stars v25.107 server emulator written in Python. Requirem

Shark01 3 Nov 24, 2022
Orbital-patterns - A program which plots pattern that revolving planets make

orbital-patterns Click to spawn planets Press "S" to capture screenshot. Image w

Yuvraj.M 11 Dec 24, 2022
BritishTrainsDepartureBoard - A pygame program that immitates the dot matrix departure screens found at National Rail stations

BritishTrainsDepartureBoard - A pygame program that immitates the dot matrix departure screens found at National Rail stations

Finn O'Neill 3 Aug 10, 2022
PyGame-Tutorial - Refrence for building games in pygame

PyGame-Tutorial How to build games using the python library PyGame End result Ho

St. Mark's Computer Science Club 2 Jan 09, 2022
Implementation of the Spider-Man Game

Projeto FPRO FPRO/LEIC, 2021/22 Francisco Campos (up202108735) 1LEIC08 Objetivo Criar um clone do clássico Spider-Man em Pygame... Repositório de códi

1 Dec 24, 2021
The Bowling Club (Facebook Game) get all strikes.

TheBowlingClubBot The Bowling Club (Facebook Game) get all strikes. FAQ Q: What is this? A: TheBowlingClubBot is a automation bot with 99.99% guarante

#~Rith 1 Jan 19, 2022
A multiplayer RPG Discord bot, where you play as a god.

To run Ensure your Python is up to date, and install packages from requirements.txt Duplicate secrets-template.yaml, and name it secrets.yaml Insert y

4 Jan 18, 2022
Just a simple Tic Tac Toe game, built with Python

TicTacToe Author: Gabriel Lima Table of Contents About Getting Started Linux Windows About This is one of the first projects I built when I first star

1 Nov 28, 2021
A Game Engine Made in Python with the Pygame Module

MandawEngine A Game Engine Made in Python with the Pygame Module Discord: https://discord.gg/MPPqj9PNt3 Installation To Get The Latest Version of Mand

Mandaw 14 Jun 24, 2022