diff options
author | Benjamin Otte <otte@redhat.com> | 2011-10-16 14:24:29 -0700 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2011-10-16 22:32:55 -0700 |
commit | 504c508abe9be9baf2c61f03321893b250b26373 (patch) | |
tree | b43869104b84aeacf099a4dfc776e7ab7839af49 | |
parent | 0445f1ad3e145c04fa9407a699c138fb2be364c0 (diff) |
game: Add game_game_load_resource()
The function will load a file and return it as a GDataResource. This is
the only function that should be used for loading data in games.
-rw-r--r-- | libgame/game-data-resource.h | 2 | ||||
-rw-r--r-- | libgame/game-game.c | 12 | ||||
-rw-r--r-- | libgame/game-game.h | 4 |
3 files changed, 17 insertions, 1 deletions
diff --git a/libgame/game-data-resource.h b/libgame/game-data-resource.h index c5b68c5..34de1b5 100644 --- a/libgame/game-data-resource.h +++ b/libgame/game-data-resource.h @@ -30,7 +30,7 @@ G_BEGIN_DECLS #define GAME_IS_DATA_RESOURCE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GAME_TYPE_DATA_RESOURCE)) #define GAME_DATA_RESOURCE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GAME_TYPE_DATA_RESOURCE, GameDataResourceClass)) -typedef struct _GameDataResource GameDataResource; +//typedef struct _GameDataResource GameDataResource; typedef struct _GameDataResourceClass GameDataResourceClass; struct _GameDataResource { diff --git a/libgame/game-game.c b/libgame/game-game.c index 3afe905..7fd327c 100644 --- a/libgame/game-game.c +++ b/libgame/game-game.c @@ -1115,3 +1115,15 @@ game_game_get_resource (GameGame *game, const char *name) return NULL; } +GameDataResource * +game_game_load_resource (GameGame * game, + const char *filename) +{ + g_return_val_if_fail (GAME_IS_GAME (game), NULL); + g_return_val_if_fail (filename != NULL, NULL); + + return GAME_DATA_RESOURCE (game_game_add_object (game, + GAME_TYPE_FILE_RESOURCE, + "filename", filename, + NULL)); +} diff --git a/libgame/game-game.h b/libgame/game-game.h index 634b923..4f5fbbd 100644 --- a/libgame/game-game.h +++ b/libgame/game-game.h @@ -40,6 +40,7 @@ typedef struct _GameGraphicClass GameGraphicClass; typedef struct _GameMatch GameMatch; typedef struct _GameMatchClass GameMatchClass; typedef struct _GameResource GameResource; +typedef struct _GameDataResource GameDataResource; typedef struct _GameGame GameGame; typedef struct _GameGameClass GameGameClass; @@ -133,6 +134,9 @@ GameObject * game_game_get_object (GameGame * game, const char * name); GameResource * game_game_get_resource (GameGame * game, const char * name); +GameDataResource *game_game_load_resource (GameGame * game, + const char * filename); + GameContainer * game_game_get_players (GameGame * game); guint game_game_get_player_count (GameGame * game); |