diff --git a/database_info.c b/database_info.c index 5f07e7c533..f90c5207b3 100644 --- a/database_info.c +++ b/database_info.c @@ -74,11 +74,22 @@ database_info_list_t *database_info_list_new(const char *rdb_path, const char *q db_info = (database_info_t*)&database_info[i]; - db_info->description = NULL; - db_info->publisher = NULL; - db_info->developer = NULL; - db_info->origin = NULL; - db_info->franchise = NULL; + db_info->description = NULL; + db_info->publisher = NULL; + db_info->developer = NULL; + db_info->origin = NULL; + db_info->franchise = NULL; + db_info->bbfc_rating = NULL; + db_info->elspa_rating = NULL; + db_info->esrb_rating = NULL; + db_info->pegi_rating = NULL; + db_info->cero_rating = NULL; + db_info->edge_magazine_review = NULL; + db_info->edge_magazine_rating = 0; + db_info->edge_magazine_issue = 0; + db_info->max_users = 0; + db_info->releasemonth = 0; + db_info->releaseyear = 0; for (j = 0; j < item.map.len; j++) { @@ -99,6 +110,39 @@ database_info_list_t *database_info_list_new(const char *rdb_path, const char *q if (!strcmp(key->string.buff, "franchise")) db_info->franchise = strdup(val->string.buff); + + if (!strcmp(key->string.buff, "bbfc_rating")) + db_info->bbfc_rating = strdup(val->string.buff); + + if (!strcmp(key->string.buff, "esrb_rating")) + db_info->esrb_rating = strdup(val->string.buff); + + if (!strcmp(key->string.buff, "elspa_rating")) + db_info->elspa_rating = strdup(val->string.buff); + + if (!strcmp(key->string.buff, "cero_rating")) + db_info->cero_rating = strdup(val->string.buff); + + if (!strcmp(key->string.buff, "pegi_rating")) + db_info->pegi_rating = strdup(val->string.buff); + + if (!strcmp(key->string.buff, "edge_review")) + db_info->edge_magazine_review = strdup(val->string.buff); + + if (!strcmp(key->string.buff, "edge_rating")) + db_info->edge_magazine_rating = val->uint_; + + if (!strcmp(key->string.buff, "edge_issue")) + db_info->edge_magazine_issue = val->uint_; + + if (!strcmp(key->string.buff, "users")) + db_info->max_users = val->uint_; + + if (!strcmp(key->string.buff, "releasemonth")) + db_info->releasemonth = val->uint_; + + if (!strcmp(key->string.buff, "releaseyear")) + db_info->releaseyear = val->uint_; } i++; } @@ -139,6 +183,19 @@ void database_info_list_free(database_info_list_t *database_info_list) free(info->origin); if (info->franchise) free(info->franchise); + if (info->edge_magazine_review) + free(info->edge_magazine_review); + + if (info->cero_rating) + free(info->cero_rating); + if (info->pegi_rating) + free(info->pegi_rating); + if (info->elspa_rating) + free(info->elspa_rating); + if (info->esrb_rating) + free(info->esrb_rating); + if (info->bbfc_rating) + free(info->bbfc_rating); } free(database_info_list->list); diff --git a/database_info.h b/database_info.h index ac4c9e1f50..1b41672032 100644 --- a/database_info.h +++ b/database_info.h @@ -32,6 +32,17 @@ typedef struct char *developer; char *origin; char *franchise; + char *edge_magazine_review; + char *bbfc_rating; + char *elspa_rating; + char *esrb_rating; + char *pegi_rating; + char *cero_rating; + unsigned edge_magazine_rating; + unsigned edge_magazine_issue; + unsigned max_users; + unsigned releasemonth; + unsigned releaseyear; void *userdata; } database_info_t; diff --git a/libretrodb/dat_converter.lua b/libretrodb/dat_converter.lua index 0e2a595e5b..61b9aa765f 100644 --- a/libretrodb/dat_converter.lua +++ b/libretrodb/dat_converter.lua @@ -192,6 +192,7 @@ function get_value() edge_rating = uint(tonumber(t.edge_rating)), edge_issue = uint(tonumber(t.edge_issue)), + edge_review = t.edge_review, barcode = t.barcode, esrb_rating = t.esrb_rating, diff --git a/menu/menu_database.c b/menu/menu_database.c index bc4c30f21c..650eb1eed9 100644 --- a/menu/menu_database.c +++ b/menu/menu_database.c @@ -68,6 +68,28 @@ int menu_database_print_info(const char *path, RARCH_LOG("Origin: %s\n", db_info_entry->origin); if (db_info_entry->franchise) RARCH_LOG("Franchise: %s\n", db_info_entry->franchise); + if (db_info_entry->max_users) + RARCH_LOG("Max Users: %d\n", db_info_entry->max_users); + if (db_info_entry->edge_magazine_rating) + RARCH_LOG("Edge Magazine Rating: %d/10\n", db_info_entry->edge_magazine_rating); + if (db_info_entry->edge_magazine_issue) + RARCH_LOG("Edge Magazine Issue: %d\n", db_info_entry->edge_magazine_issue); + if (db_info_entry->edge_magazine_review) + RARCH_LOG("Edge Magazine Review: %s\n", db_info_entry->edge_magazine_review); + if (db_info_entry->releasemonth) + RARCH_LOG("Releasedate Month: %d\n", db_info_entry->releasemonth); + if (db_info_entry->releaseyear) + RARCH_LOG("Releasedate Year: %d\n", db_info_entry->releaseyear); + if (db_info_entry->bbfc_rating) + RARCH_LOG("BBFC Rating: %s\n", db_info_entry->bbfc_rating); + if (db_info_entry->esrb_rating) + RARCH_LOG("ESRB Rating: %s\n", db_info_entry->esrb_rating); + if (db_info_entry->elspa_rating) + RARCH_LOG("ELSPA Rating: %s\n", db_info_entry->elspa_rating); + if (db_info_entry->pegi_rating) + RARCH_LOG("PEGI Rating: %s\n", db_info_entry->pegi_rating); + if (db_info_entry->cero_rating) + RARCH_LOG("CERO Rating: %s\n", db_info_entry->cero_rating); RARCH_LOG("\n\n"); }