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
Brax is a differentiable physics engine that simulates environments made up of rigid bodies, joints, and actuators

Brax is a differentiable physics engine that simulates environments made up of rigid bodies, joints, and actuators. It's also a suite of learning algorithms to train agents to operate in these enviro

Google 1.5k Dec 31, 2022
A set of functions compatible with the TIC-80 platform

Pygame-80 A set of functions from TIC-80 tiny computer platform ported to Pygame 2.0.1. Many of them are designed to work with the NumPy library to im

7 Aug 08, 2022
Small game I made in 2019 using python/pygame.

Kill-The-Blokk // Shoot or Die This is a small game I made in gr.10 (2019) for my high school computer science class; the game was coded in python usi

1 Nov 13, 2021
A Cataclysm: Dark Days Ahead launcher with additional features

CDDA Game Launcher A Cataclysm: Dark Days Ahead launcher with additional features. Download here. Implemented features Launching the game Detecting th

Rémy Roy 402 Jan 02, 2023
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
An automation bot to play Myuu Discord game

Auto selfbot Myuu is a self Discordbot, meaning it will use your TOKEN to logged as your account and take commands from yourself to play the game.

6 Dec 15, 2022
A simple log-frequency helper for solving Wordle puzzles

A Simple Helper for Wordle Basic Usage Clone the repo and run python play.py Select a word from the list, or type your own choice of word Type the sam

Christian Casey 2 Feb 14, 2022
Simple python 3D vector3 math library wrapping some types from GLM library using pybind11.

vmath Simple python 3D vector3 math library wrapping some types from GLM library using pybind11. Description Both pure python version and C++ version

6 Aug 02, 2022
It calculates the Nim sum of a nim game.

nim-sum-calculator It calculates the Nim sum of a nim game. The rules of Nim The traditional game of Nim is played with a number of coins arranged in

2 Jan 02, 2022
N-Queens game made using pygame library

N-Queens N-Queens game using pygame for AIML201 Testing: 1. git clone https://github.com/python-game-dev/N-Queens.git 2. cd N-Queens 3. python main.py

1 Sep 24, 2021
Racers-API - a game where you have to go around racing with your car, earning money

Racers-API About Racers API is a game where you have to go around racing with yo

3 Jan 09, 2022
Overview: copain, your friendly AI framework to learn and play games

Overview: copain, your friendly AI framework to learn and play games Interface fceux with python and run reinforcement learning. Compatibility Current

fcharras 1 Dec 16, 2021
A Pygame game made in 48 hours

Flappuccino Flappuccino is a game created in 48 hours for the PyGame Community New Years Jam using Python with Pygame. Screenshots Background Informat

PolyMars 242 Jan 02, 2023
A top-down arcade space shooter made in pygame.

About: Journey Through Space is a top-down arcade shooter made in pygame. You play as a pilot who was left behind after a battle and the goal is to go

Crimson Sane 0 Jan 01, 2022
An asynchronous Minecraft server wrapper written in python3 with asyncio

mark3 (WIP) A modern Minecraft server wrapper written in python3 with asyncio TODO Note: The order of the following checklist doesn't necessarily mean

Colin Andress 7 Jul 29, 2022
2DMC is an abrrieviation for 2 Dimensional Minecraft.

2DMC 2DMC is an abrrieviation for 2 Dimensional Minecraft. This idea is originally created and implemented by Griffpatch on Scratch. This is a persona

DaNub 5 Nov 06, 2022
ReplitTD - Replit Tower Defense Game

IMPORTANT: I mean no offense at all in this game, this is only based off of cycl

kokomi simp :3 3 Jun 25, 2022
Minecraft.nix - Command line Minecraft launcher managed by nix

minecraft.nix Inspired by this thread, this flake contains derivations of both v

12 Sep 06, 2022
Wordle-helper: python script to help solving wordle game

wordle-helper This is a python script to help solving wordle game 5-letter-word-

MD Nur Ahmed 2 Feb 08, 2022
This is a classic guess coin game (Heads or Tails) implemented by the Chialisp.

This is a classic guess coin game (Heads or Tails) implemented by the Chialisp. It is an absolutely fair P2P game based on the Chia blockchain. You can play with anyone in the world without custody.

Kronus91 14 Jul 02, 2022