1) Check whether the bug has already been reported
Take a look at the bugtracker and check whether you are the first one who found the bug.
The problem you found has already been reported? It would be great if you could add additional information on it if we have problems reproducing it. :)
2) Make sure your FreedroidRPG is up to date
Before you report a bug, please make sure you use the latest version of FreedroidRPG.
The version you are currently using is displayed in the lower right corner of the FreedroidRPG main menu screen.
You can download the latest version of FreedroidRPG here.
An installation how-to can be found here.
If you have problems upgrading the game, don't hesitate to contact us via the Forum, the Mailing list, or IRC. #freedroid on irc.freenode.net. You have no IRC client installed? Use a Web Client (requires JavaScipt).
If you want your FreedroidRPG to be totally up to date with the current development status (that would be the best case for us), install a SVN program, TortoiseSVN (http://tortoisesvn.net/) for example if you use Mac OS X or Windows.
You use Linux? Install the package "svn" if it is not already installed.man svn (must be executed in a terminal) will give you some information on the svn program.
svn co https://freedroid.svn.sourceforge.net/svnroot/freedroid freedroid and follow the installation instructions.
In the case you already use svn, just run
svn up in your FreedroidRPG source directory, recompile and see whether you can still reproduce the bug you found.
3) Try to get as much information on it as possible
* Do you play FreedroidRPG in OpenGL or in SDL mode?
That can be determined via main menu, too. In the lower left corner, if it says "OpenGL output active: YES" OpenGL is in use.
If it says "NO", you use SDL as output.
* The bug you found is a graphical glitch?
Make a screenshot, make a red circle around the bug if it is not obvious (you can use paint, gimp, photoshop etc.) and attach the screenshot to your bug report.
Note that the Sourceforge bugtracker does not allow attachments bigger than 256 kb, Crop your screenshot or post it at some free file hosting service (such as http://www.quickfilepost.com/ or http://imageshack.us/) and mention the link to the file on the bugtracker if its size is larger.
Don't forget to let us know whether you used fullscreen or window mode. Also post the resolution you ran FreedroidRPG with.
You can determine it at the terminal output (
"Using screen resolution 1280 x 960."for example) and also on in the menu.
Go to Graphics Options -> Change Screen Resolution. The resolution marked with the asterisk is the current one.
The graphical mode (SDL or OpenGL) is important here, too.
Please tag your bugreport with [SDL] or [OGL] if enough space is still left.
Otherwise mention in at the bug description.
You need some detail on your hardware system (graphic card for example)? The program "Hardinfo" (http://hardinfo.berlios.de/HomePage) may be your friend.
* FreedroidRPG crashes right after you started it?
Rename the folder /.freedroid_rpg in your home directory and try again.
Sometimes something big changes in FreedroidRPG and old savegames do not work anymore because they were made when this big changes were not yet implemented. This usually is the case when you upgrade/update FreedroidRPG, from version 0.12 to version 0.13 for example.
Don't delete your folder! In the case that it is not the cause of the crash, you won't lose your saved games, and can continue playing when the bug is fixed.
In case you use a subversion version of FreedroidRPG run ./configure again in the FreedroidRPG source directory. Maybe you unknowingly upgraded/removed libraries from your system that FreedroidRPG depends on.
Reinstall that software and see if FreedroidRPG runs again. If it does not, you might have found a bug. :)
* Save and send us savegames
FreedroidRPG stores its data in the folder ./freedroid_rpg.
If you found a bug, copy (not move) your current savegames into a separate folder.
So you can continue playing the game while you still have the savegames in case we need them to reproduce your bug.
* A key is not working?
Press the key F1 while ingame. At that screen, you'll be able to change the key settings (back to normal).
If that doesn't fix the problem, make a bug report. Don't forget to let us know the keyboard layout you are using.
* FreedroidRPG crashes and the last output line says something like "Segfault"?
Please take a look at "Usage of GDB"
4) Usage of GDB
For GDB under windows, look here http://freedroid.sourceforge.net/dev_docu/node4.html
Install gdb if you don't already have it on your system.
1) Start gdb:
gdb --args freedroidRPG -wqr1
2) To start the game type:
3) Reproduce crash.
5) Attach the output to the bug report or e-mail directly to the developer if they asked for that.
6) To exit from gdb type
Install valgrind and kcachegrind if you don't already have them on your system.
valgrind is a memory utility that does profiling among other things
kcachegrind is the GUI for better visualisation of the results
Valgrind - memcheck
valgrind --tool=memcheck ./freedroidRPG -wqr0
2) Reproduce problem
3) Attach the full output to the bug report or e-mail directly to the developer if they asked for that.
Valgrind - profiling (callgrind)
valgrind --tool=callgrind --instr-atstart=no ./freedroidRPG -wqr0
2) Get ready to reproduce the issue (eg load a savegame)
3) enable profiling my issuing "callgrind_control -i on" in another terminal
4) reproduce the problem
5) quit the game
6) start kcachegrind
7) Report the info somehow...
5) The bug report itself
Click "Create new", found in the left-hand side of the bug tracker.
At the "Title", you are supposed to write a concise description of the bug, "Game crashes talking to Spencer" for example.
At the description field, you have enough space to place all the information you got on the bug.
Keywords also describe the bug, telling what areas it affects, for instance "graphics" or "dialog". Clicking the "list" link next to the text field brings up a list of existing keywords.
Files can be uploaded using the "Browse" button next to the "File" text field.
Note that you can only upload one attachment at one time.
If you think the bug report is complete, hit the "Submit New Entry" button and your bug report is uploaded to the Tracker and visible for everyone.
Always tell us which version (or SVN revision) you use.
FreedroidRPG development may proceed very fast, game content may change very rapidly, so we can estimate, whether the conditions for your bug still exist or whether the feature causing the bug was already removed/changed.
6) Making patches
If you want to fix a bug you found, make the bug report first and give the developers some time to decide whether this really is a bug or just a missing feature or even something that won't get fixed.
In the last case you would just waste your time coding a patch, and that is not in the interest of both sides.
So, please be a little patient. :)
In order to search for text displayed in the game, cscope (http://cscope.sourceforge.net/) can be your friend.
How to make a patch using SVN
Note: It is also possible to create patches without SVN, but creating it with SVN
makes sure that your patch is not based on outdated source code.
Find out which file(s) cause(s) the bug. IRC might be the best way to do so.
Edit the file/fix the bug. (you may need to recompile the game after editing)
Open a terminal or command line.
Move to the folder which contains the patch via cd command (cd ./svn/freedroid/src for example) and execute svn diff modifiedfile > oldfile.patch .
Replace modifiedfile with the name of the file you modified and oldfile with the name of the old file.
If you make a patch for a map, access the level editor from within the main menu, otherwise you patch is screwed up.
If you make a patch to a/your bug report, please write the tag [patch] at the beginning of the bug summary of the bug summary, that reduces the chance for your patch to get forgotten or double fixing.
If [patch] doesn't fit, try [p].
Please send patches to the mail address that can be found at http://freedroid.sourceforge.net/contact.php (first section, last line).
The patch should be attached to the mail as text file (.patch .txt or whatever) but not be copied in the mail itself.
Don't forget to mention what exactly your patch does, and/or add a link to the bugs/requests it fixes.
If you want to come one step closer to the perfect bug report or want to understand our, the developers situation better,
please read http://www.chiark.greenend.org.uk/~sgtatham/bugs.html
How to contact us
If you have any questions concerning the game, don't hesitate to contact us via
Forum ................ https://sourceforge.net/apps/phpbb/freedroid/
IRC channel ................ #freedroid on irc.freenode.net
Mailing list ................ firstname.lastname@example.org\\