#summary How to properly report bugs
#labels Phase-Support,Featured
<wiki:toc max_depth="2" />

=Foreword=
We are glad to receive useful bug reports. It's not always possible for us to test everything. However, more often than not we receive incomplete or useless bug reports that don't help us help you. So please take the time to read the following and oh...

*Thank you for taking the time to isolate a bug!*


== Has this bug (or suggestion) already been submitted? ==
*Please*, before you submit an issue or suggestion, review the [http://code.google.com/p/fofix/issues/list?can=2&q=&sort=priority existing To Do list] carefully (there may be multiple pages to look through) - be sure you are not reporting or suggesting something we already have in the list!

*"The To Do list is too long"* is not an acceptable excuse for breaking these rules.  Think about it -- you only have to search for your issue.  We have to actually fix and implement these issues without causing new problems.  

So, no matter how much work you _think_ you are being stuck with, compare it to the level of effort the developers put into FoFiX first.  Thank you.


== Is this really a bug?? ==
*Please*, before you submit an issue that you THINK is a bug - review this [http://code.google.com/p/fofix/issues/list?can=1&q=status%3AInvalid%2CDuplicate%2CCantReproduce list of "Invalid", "Duplicate", and "CantReproduce" issues] that have been reported and then removed because the game is working as intended.  Please realize that there are other users out there that play the game in different ways, and your "bug" is probably a feature you just don't understand...


== Feature Requests ==
*PLEASE* don't contact us with requests, that goes for everybody. If you think you have a new idea that is not in the Issues tracker and hasn't been discussed or thought of yet, post it in the [http://www.fretsonfire.net/forums/viewtopic.php?f=11&t=25040 Frets On Fire Fan Forum FoFiX Development Thread]. We (coders) are not the only ones involved in this project. Everyone should have a chance to respond to the ideas, we like to see how popular certain features are before attempting to do something that we think we can finish.


== Feature Completion ==
*PLEASE* don't ask us when a certain feature is going to be done. This really starts to make our coding seem like work, as if we had to answer to somebody who might not give us our next paycheck. This is not a job; it is a hobby. We share what we do with everybody because, well, we'd be real douches if we didn't :)

Have a look at our [http://code.google.com/p/fofix/issues/list?can=2&q=&sort=priority Issues tracker], it might give you an idea of what is being worked on or what is planned.


== Unofficial Updates ==
*NOTE* If you have issues with unofficial updates, please send personal messages to the respective packager -- not us.


== Learning Python ==
*We won't help anyone with Python*. It's just easier this way.  We can't waste a long time walking someone through what would seem like the simplest change.  We barely have enough time to make our own code work.  Do you want us to stop making progress and spend our time teaching Python?  That doesn't make sense....

In short, *PLEASE* don't ask us any question about Python or where certain code is or that sort of thing.
If you're determined to figure something out, do what we did:
  * _Google search._
  * Study the code.
  * Study Python articles.
  * Study example code. 


=Isolating a note pattern that cannot be Ho/Po'd or strummed correctly=
If you have found a certain note pattern that you can't play a certain valid way
in a certain Ho/Po system (or in all of them), here is how to fully report the
situation to me in a way that I can use to actually attempt to solve the issue:

  # Go to your Debug Settings menu, and set "HOPO Debug" to "On" --- this will enable some real-time visual debugging details while you play, as well as log entries when certain important events happen in the HOPO logic.
  # Set up some method of recording your gameplay to a video file. FRAPS is one such program that can record FoF gameplay. (Google search for FRAPS, you'll find it.)
  # Run FoF, go straight to your problem / demonstration song, and play it for me. Record at least at 15 frames per second, at a minimum of 320x240 pixel resolution.  Sound is not required; I just need to be able to read the video display as you demonstrate your issue and correspond timestamped log entries to the video display & song countdown. As soon as the section containing your issue has been demonstrated, please pause the game, Quit, and Exit from the game immediately.
  # Locate the `fofix.log` file which is in your game directory. Please copy this file to the same place you saved your video, as these two files belong together; we need them both. Please don't play FoF again before copying this log file, or your demonstration log will be overwritten!
  # Upload your demonstration logfile to a filesharing website, such as [http://mediafire.com] (or to a pastebin such as [http://pastebin.com]) and give us the link (post in the [http://www.fretsonfire.net/forums/viewforum.php?f=32 FoFFF FoFiX thread] or post an issue comment here)
  # Upload your video to somewhere you can share it with me; youtube or Google Video -- or if you'd rather just upload the video file to a filesharing site such as [http://mediafire.com] or [http://megaupload.com] and give us the link (post in the [http://www.fretsonfire.net/forums/viewforum.php?f=32 FoFFF FoFiX thread] or post an issue comment here). 
  # Describe your issue in as much detail as you can when you post or PM the link to me; how exactly you are trying to play the notes, and what you think the problem is from your play experience.  The more descriptive you are, the better I will understand your problem.
  # *If you are familiar with [http://www.t3-i.com/eof.htm EOF]* or some other custom song fretting software, this step _absolutely_ helps me fix HOPO problems the most: Create a silent "test song" with just the problematic note pattern, with the notes spread out over a slower tempo / BPM.  See if this test song exhibits the same problem as the real song; if not, play with the note pattern, spacing, and tempo until you manage to recreate the problem in the test song.  Then, upload this test song to a filesharing site such as [http://mediafire.com] and send us the link so we can easily reproduce, diagnose, and fix your issue.
  # Then, just be patient as I hunt the issue down. This can really take some time - but if there is really an issue and you have reported it with all the detail I've requested above, chances are I will solve it eventually.


= Steps to report a bug or issue =
If you want help, use this procedure for your bugreports. If you don't, in most cases you'll simply be ignored, ridiculed, insulted or met with extreme sarcasm and irritation.

Know your config file. It's called `fofix.ini`. It's either in your game folder or:
  #. in Windows: `%AppData%\fofix` (copy/paste it into an explorer address bar)
  #. in GNU/Linux: `~/.fofix`
  #. in Mac OS X: `~/Library/Preferences`

Know your log file. It's called `fofix.log`. It is here:
  #. in Windows: Your game folder
  #. in GNU/Linux: `~/.fofix`
  #. in Mac OS X: `~/Library/Logs`.

Create an empty `fofix.ini`, restart the game, and try playing *WITHOUT CHANGING ANY OF THE DEFAULT SETTINGS*. If the problem persists, continue with the bugreport below. If it works, find the setting that causes a problem and report it in detail. *Also note*, if you are not using a fresh install from one of my full releases, chances are, if you tried the manual patch and are having problems, you did something wrong.

Create a new issue report by first clickling on the [http://code.google.com/p/fofix/issues/list Issues tab], then on [http://code.google.com/p/fofix/issues/entry New Issue].
  # Specify the version in which the bug started.
  # Verify if you have any information in `FoFiX.exe.log`? Messages are appended to that file. Thus, if you have one, please first delete it, restart the game and recreate the bug.
  # Describe what you're experiencing, what is happening.
  # Describe what you're expecting to happen.
  # If possible, provide describing Screenshot(s) and/or a Video of your problem.
  # Attach...
   * the `fofix.ini` file so we can see your settings.
   * the `fofix.log` file if you experienced a crash or hang, as this can contain valuable debug information.
   * the `FoFiX.exe.log` file. When available, it's in your game directory.