Setting up FoF sources - HOWTO test your own mods

Discuss mods and get help with mods ONLY
This topic is 16 years and 5 months old. Instead of replying, please begin a new topic, or search for another related topic that may be more suitable.
Rogue_F
Member
Posts: 1504
Joined: November 2nd, 2006
Reputation: 1

Setting up FoF sources - HOWTO test your own mods

Postby Rogue_F » Sun Dec 03, 2006 12:26 am

This may need to be made sticky...though I dont relish the idea of answering questions when people can't do it.

Versions are likely important. Don't substitute one for the other without trying the original versions first. The only exception is probably the FoF source.

Setting Up FoF Sources - 1.2.451

This is an update for 1.2.451. It also updates a few of the other components to more recent versions (not all)


Versions are likely important. Don't substitute one for the other without trying the original versions first. These versions were tested, yours were not. I will not answer questions unless you have done the things in this document.

1) Download Active Python 2.4.3.12 (not the standard python distro)
http://downloads.activestate.com/ActiveP....x86.msi

2) Download Psyco optimizing compiler 1.5.2
http://downloads.sourceforge.net/psyco/psyco-1.5.2.win32-py2.4.exe

3) Download GLEW 1.4.0
http://downloads.sourceforge.net/glew/glew-1.4.0-win32.zip

4) Download PyOpenGL 2.0.2.01
http://downloads.sourceforge.net/pyopeng....y23.exe

5) Download GLEWpy 0.7.4
http://downloads.sourceforge.net/glewpy/glewpy-0.7.4.win32-py2.4.exe

6) Download PyGame 1.7.1
http://www.pygame.org/ftp/pygame-1.7.1release.win32-py2.4.exe

7) Download PIL 1.1.6
http://effbot.org/downloads/PIL-1.1.6.win32-py2.4.exe

8) Download Numeric 2.4.2
http://downloads.sourceforge.net/numpy/Numeric-24.2.win32-py2.4.exe

9) Download Amanith 0.3
http://www.amanith.org/download/pafiledb.php?action=file&id=11 | Mirror

10) Download PyAmanith 0.3.34

http://muksuluuri.ath.cx/~skyost....2.4.exe

11) Download PyOgg 1.3 (this url is important, other versions dont work)
http://thomas.paviot.free.fr/soya/pyogg-1.3.win32-py2.4.exe

12) Download PyVorbis 1.4 (this URL is important, other versions don't work)
http://thomas.paviot.free.fr/soya/pyvorbis-1.4.win32-py2.4.exe

13) Download py2exe 0.6.6
http://downloads.sourceforge.net/py2exe/py2exe-0.6.6.win32-py2.4.exe

14) Download the Frets on Fire 1.2.451 sources


Install


1) Install active python by double clicking the .msi
2) Install psyco by double clicking the .exe
3) Unzip GLEW (no easy install)
3a) Install glew by copying the 'glew.dll' file in 'bin' to your 'system32' dir under C:\Windows (or equivalent)
4) Install PyOpenGL by double clicking the .exe
5) Install GLEWpy by double clicking the .exe
6) Install PyGame by double clicking the .exe
7) Install PIL by double clicking the .exe
8) Install Numeric by double clicking the .exe
9) Install Amanith by double clicking the .exe
9a) Select reboot later
10) Install PyAmanith by double clicking the .exe
11) Install Pyogg by double clicking the .exe
12) Install Pyvorbis by double clicking the .exe
13) Install py2exe by double clicking the .exe


This next part fixes a opengl/py2exe bug so it may not be necessary in the future. Only if you get an error when running the FoF.exe that says:

IOError: [Errno 2] No such file or directory: 'D:\\Games\\Frets on Fire\\dist\\data\\library.zip\\OpenGL\\version'

14) Go to your Python directory and go into the 'Lib' and then 'site-packages' directory

VERY IMPORTANT
In steps 15-18 you must replace the --'s with two underscores. The message board does not allow you to put in underscores like this for some reason

15) Go into the 'OpenGL' directory and edit the file called '--init--.py'
16) replace the line that reads:

--version-- = string.strip(open(filename).read())

with

--version-- = '2.0.2.01'

17) Save this file
18) Delete '--init--.pyc' and '--init--.pyo' in the same directory

VERY IMPORTANT
In previous steps 15-18 you must replace the --'s with two underscores. The message board does not allow you to put in underscores like this for some reason



19) Unzip the Frets On Fire sources
20) Move the 'src ' directory from the 'FretsOnFire-src-1.2.451' directory into your Frets On Fire directory (same place as the 'data' directory)
21) REBOOT (required)
23) Open a command prompt
24) cd to the new 'src' directory in your Frets on Fire directory
25) type 'python fretsonfire.py'

At this point you should be able to play frets on fire directly from the source
To create the executable we need a few more steps

26) in your command prompt type 'python setup.py py2exe'
27) a bunch of stuff will happen and you should end up with a 'dist' directory above.
28) go into the dist directory and doubleclick the fretsonfire.exe (you will need to get an icon for the .exe)


You should be ready to go, just copy your songs in there and you're all set.

The resulting file that matters mostly out of this if you are changing the source is the 'library.zip' file in the data directory. It is NOT compatible with the mod system because it needs to be lly replaced before the game starts. Also these source mods will not be 'overlappable' with eachother because many modify the same source files and they all get bundled into the library.zip. There may be some other files that need to be included as well depending on if you have any updated libraries, etc. Always test your new changes by testing it on a freshly installed standard version.


---- For 1.1.324 ----


1) Download Active Python 2.4.3.11 (not the standard python distro)
http://downloads.activestate.com/Active ... 32-x86.msi

2) Download Psyco optimizing compiler 1.5.1
http://downloads.sourceforge.net/psyco/ ... in-2.4.zip

3) Download GLEW 1.3.5
http://downloads.sourceforge.net/glew/g ... -win32.zip

4) Download PyOpenGL 2.0.2.01
http://downloads.sourceforge.net/pyopen ... umpy23.exe

5) Download GLEWpy 0.7.4
http://downloads.sourceforge.net/glewpy ... -py2.4.exe

6) Download PyGame 1.7.1
http://www.pygame.org/ftp/pygame-1.7.1r ... -py2.4.exe

7) Download PIL 1.1.5
http://effbot.org/downloads/PIL-1.1.5.win32-py2.4.exe

8) Download Numeric 2.4.2
http://downloads.sourceforge.net/numpy/ ... -py2.4.exe

9) Download Amanith 0.3
http://www.amanith.org/download/pafiled ... file&id=11

10) Download PyAmanith 0.3.34
http://louhi.kempele.fi/~skyostil/proje ... -py2.4.exe

11) Download numpy 1.0.1
http://downloads.sourceforge.net/numpy/numpy-1.0.1.win32-py2.5.exe

12) Download py2exe 0.6.5
http://downloads.sourceforge.net/py2exe/py2exe-0.6.5.win32-py2.4.exe

13) Download the Frets on Fire 1.1.324 sources


Install



1) Install the active python 2.4.3.11 msi
2) Unzip psyco (no easy install)
3) Install psycho by copying the 'psyco' directory which is inside the 'psycho-1.5.1' directory to your python directory to the 'site-packages' directory which is in the 'Lib' directory
4) Unzip GLEW (no easy install)
5) Install glew by copying the 'glew.dll' file in 'bin' to your 'system32' dir under C:\Windows (or equivalent)
6) Install PyOpenGL by double clicking the .exe
7) Install GLEWpy by double clicking the .exe
8) Install PyGame by double clicking the .exe
9) Install PIL by double clicking the .exe
10) Install Numeric by double clicking the .exe
11) Install Amanith by double clicking the .exe
12) Install PyAmanith by double clicking the .exe
13) Install numpy by double clicking the .exe (optional?)
14) Install py2exe by double clicking the .exe

This next part fixes a opengl/py2exe bug so it may not be necessary in the future. Only if you get an error when running the FoF.exe that says:
IOError: [Errno 2] No such file or directory: 'D:\\Games\\Frets on Fire\\dist\\data\\library.zip\\OpenGL\\version'


15) Go to your Python directory and go into the 'Lib' and then 'site-packages' directory
16) Go into the 'OpenGL' directory and edit the file called '.py'
17) replace the line that reads:
= string.strip(open(filename).read())
with
= '2.0.2.01'
18) Save this file
19) Delete '.pyc' and '.pyo' in the same directory
20) Unzip the Frets On Fire sources
21) Move the 'src ' directory from the 'FretsOnFire-src-1.1.324' directory into your Frets On Fire directory (same place as the 'data' directory)
22) REBOOT (required)
23) Open a command prompt
24) cd to the new 'src' directory in your Frets on Fire directory
25) type 'python fretsonfire.py'

At this point you should be able to play frets on fire directly from the source
To create the executable we need a few more steps

26) In the 'FretsOnFire-src-1.1.324' directory edit the file called 'setup.py'
27) Remove the lines
"inspect",

and

"dis",
From lines 70 and 64 respectively
28) in your command prompt type 'python setup.py py2exe'
29) a bunch of stuff will happen and you should end up with a 'dist' directory above.
30) go into the dist directory and doubleclick the fretsonfire.exe (the icon is missing i tried to add it manually but it did not like it)


You should be ready to go, just copy your songs in there and you're all set.

The resulting file that matters mostly out of this if you are changing the source is the 'library.zip' file in the data directory. It is NOT compatible with the mod system because it needs to be fully replaced before the game starts. (though I since it restarts maybe it is) Also these source mods will not be 'overlappable' with each other because many modify the same source files and they all get bundled into the library.zip



Updates in the future

psyco 1.5.1 (requires python 2.5)
opengl 3.0.0a (alpha, and not optimized)
pygame 1.8
newer versions of FOF


-Alex
Last edited by BlackFate on Thu Aug 14, 2008 9:18 am, edited 1 time in total.
User avatar
FozZ
Member
Posts: 580
Joined: August 21st, 2006
Location: England
Reputation: 0
Contact:

Postby FozZ » Sun Dec 03, 2006 12:35 am

PINNED
My Portfolio Website - http://www.monophobia.co.uk
Image
User avatar
thesilent
Member
Posts: 52
Joined: August 27th, 2006
Reputation: 0
Contact:

Postby thesilent » Sun Dec 03, 2006 1:06 am

do you mean .py for the file to edit in the OpenGL directory?
Rogue_F
Member
Posts: 1504
Joined: November 2nd, 2006
Reputation: 1

Postby Rogue_F » Sun Dec 03, 2006 1:45 am

No I do not, I think the message board stripped them

'.py' (see the message board removes this)


which is '--init--.py' but replace the - with underscores

-Alex
User avatar
thesilent
Member
Posts: 52
Joined: August 27th, 2006
Reputation: 0
Contact:

Postby thesilent » Sun Dec 03, 2006 2:13 am

yes i posted --init--.py, i guess it got stripped
Last edited by thesilent on Sun Dec 03, 2006 2:14 am, edited 1 time in total.
XplittR
Member
Posts: 11
Joined: October 10th, 2006
Location: 6800 Forde, Norway
Reputation: 0
Contact:

Postby XplittR » Mon Dec 04, 2006 8:08 am

19) Delete '.pyc' and '.pyo' in the same directory


WHAT '.pyc' and '.pyo' files?! There are loads of them!
Signature truncated. Please see this post.
<!--
Image
-->
XplittR
Member
Posts: 11
Joined: October 10th, 2006
Location: 6800 Forde, Norway
Reputation: 0
Contact:

Postby XplittR » Mon Dec 04, 2006 8:16 am

Okay, i guess its the ---init--- files. Nevermind my question unless i am totally wrong.
Signature truncated. Please see this post.

<!--

Image

-->
XplittR
Member
Posts: 11
Joined: October 10th, 2006
Location: 6800 Forde, Norway
Reputation: 0
Contact:

Postby XplittR » Mon Dec 04, 2006 9:03 am

I get the error that data\\label.dae is missing.... What to do?
Signature truncated. Please see this post.

<!--

Image

-->
Rogue_F
Member
Posts: 1504
Joined: November 2nd, 2006
Reputation: 1

Postby Rogue_F » Mon Dec 04, 2006 3:34 pm

The .pyc and .pyo files are the compiled version of the .py files. By deleting them you're ensuring the modified .py file you just made is recompiled and used as opposed to the old one.

As far as the dada\\label.dae goes it sounds like your songs directory is not set up. Or you have the sources in the wrong directory.

-Alex
jojobob
Member
Posts: 7
Joined: September 23rd, 2006
Reputation: 0

Postby jojobob » Fri Dec 08, 2006 2:11 am

I got it set up, but it runs terribly slow. Is this because I have PyOpenGL 3.0 alpha? I tried replacing it with 2.0.2.01 but got a segmentation fault. I also have the official Python distribution, not the Active Python.

Thanks
jojobob
Member
Posts: 7
Joined: September 23rd, 2006
Reputation: 0

Postby jojobob » Fri Dec 08, 2006 2:39 am

More info about versions and such: I have Python 2.4.4, PIL 1.1.16, and I didn't install Numeric, I used the numpy converter module to convert the FoF source from using Numeric to using NumPy. Everything else is the same version as listed in your post. I didn't have the GLEW stuff installed when I tried PyOpenGL 2.0.2.01. I guess I could try that tomorrow.

I installed PyWin32, which I think makes the standard Python distribution equivalent to the Active Python. It didn't make any difference. I suppose I'll try Active Python tomorrow also.
Rogue_F
Member
Posts: 1504
Joined: November 2nd, 2006
Reputation: 1

Postby Rogue_F » Fri Dec 08, 2006 3:27 am

it was very slow for me when i had the official python distro and 3.0 alpha.

If you want it to work you need to follow my guide...especially the part that says:

>Versions are likely important. Don't substitute one for the other without trying the original versions first.

If you have not tried that first I can't really help you much.

-Alex
XplittR
Member
Posts: 11
Joined: October 10th, 2006
Location: 6800 Forde, Norway
Reputation: 0
Contact:

Postby XplittR » Fri Dec 08, 2006 9:07 am

I dont get it to work, but i THINK the problem is that u got the official python...

1) Download Active Python 2.4.3.11 (not the standard python distro)
Signature truncated. Please see this post.

<!--

Image

-->
jojobob
Member
Posts: 7
Joined: September 23rd, 2006
Reputation: 0

Postby jojobob » Fri Dec 08, 2006 7:52 pm

Well it works great with Active Python and PyOpenGL 2. Now to try making some changes. I want to see if I can adjust the song speed for practicing, as well as possibly adding whammy bar support.
Rogue_F
Member
Posts: 1504
Joined: November 2nd, 2006
Reputation: 1

Postby Rogue_F » Fri Dec 08, 2006 9:42 pm

Just a FYI,

I've already looked at both of these things. There's no provisions in pygame's sound to speed up or slow down things. You can speed up or slow down the notes via programming, but not the music along with it.

Also the whammy bar support is a function of the drivers for your PS2 to USB controller. If you cannot make it register in the driver properties (where you can test all the buttons) then pygame is not going to pick it up either.

If you do have a registering whammy bar, the next limitation is pygame's audio does not have any real time effects, so you can't change the music easily.

Glad the devel environment is working for you.

-Alex

Return to “FOF Mod Discussion and Support”

Who is online

Users browsing this forum: No registered users and 12 guests