GNOME Library Reference Manual | |||
---|---|---|---|
<<< Previous Page | Home | Up | Next Page >>> |
#include <libgnome/libgnome.h> gint gnome_score_init (const gchar *gamename); gint gnome_score_log (gfloat score, const gchar *level, gboolean higher_to_lower_score_order); |
The routines in this module provide a simple way to keep track of users' scores in a game.
In order to acommodate file ownership permissions, the game application should be installed setgid games and the scoretable should only be writable by the games group. The program should call gnome_score_init() as soon as possible inside the main() routine. This will open a pair of pipes to a child process which can read and write the score table and then will drop the group privileges of the main program back to the user's normal group id.
gint gnome_score_init (const gchar *gamename); |
GNOME games should call this routine as the first statement in main() if they have been installed setgid to the "games" group. It performs the intialization required to later record information in the scores table and then drops the groups privileges.
gint gnome_score_log (gfloat score, const gchar *level, gboolean higher_to_lower_score_order); |
Logs a score entry for the user. You should call this every time a game ends. This function takes care of working out whether the user's score made it into the ten best scores and, if so, records it in the table.