diff --git a/Languages/lang.pot b/Languages/lang.pot index a22fce9..d48abf7 100644 --- a/Languages/lang.pot +++ b/Languages/lang.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-02-10 11:11-0500\n" +"POT-Creation-Date: 2015-05-07 20:35+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,6 +16,18 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" +msgid " 59 blocks" +msgstr "" + +msgid " 123 blocks" +msgstr "" + +msgid " 251 blocks" +msgstr "" + +msgid " 507 blocks" +msgstr "" + #, c-format msgid "%.1fGB free of %.1fGB" msgstr "" @@ -73,6 +85,9 @@ msgstr "" msgid "1.2+" msgstr "" +msgid "1019 blocks" +msgstr "" + msgid "1st-Person Shooter" msgstr "" @@ -85,6 +100,9 @@ msgstr "" msgid "2.2+" msgstr "" +msgid "2043 blocks" +msgstr "" + msgid "3D cover" msgstr "" @@ -211,9 +229,15 @@ msgstr "" msgid "Boot Disc" msgstr "" +msgid "Boot Method:" +msgstr "" + msgid "Boot disc" msgstr "" +msgid "Boot method:" +msgstr "" + msgid "Booting game, please wait..." msgstr "" @@ -385,6 +409,9 @@ msgstr "" msgid "DEVO" msgstr "" +msgid "DIOS MIOS" +msgstr "" + msgid "DISC cover" msgstr "" @@ -406,6 +433,12 @@ msgstr "" msgid "Debug" msgstr "" +msgid "Default" +msgstr "" + +msgid "Default Gamecube Loader:" +msgstr "" + msgid "Delete Game" msgstr "" @@ -424,10 +457,10 @@ msgstr "" msgid "Device:" msgstr "" -msgid "Devolution only accepts clean dumps!\n" +msgid "Devolution" msgstr "" -msgid "Devolution:" +msgid "Devolution only accepts clean dumps!\n" msgstr "" msgid "Disc" @@ -825,6 +858,9 @@ msgstr "" msgid "FULL cover" msgstr "" +msgid "FWD Emulators" +msgstr "" + msgid "Fav" msgstr "" @@ -889,9 +925,6 @@ msgstr "" msgid "Football" msgstr "" -msgid "Force Devolution:" -msgstr "" - msgid "Force NTSC" msgstr "" @@ -1128,6 +1161,12 @@ msgstr "" msgid "Loading..%s\n" msgstr "" +msgid "MC size:" +msgstr "" + +msgid "MC size::" +msgstr "" + msgid "Main" msgstr "" @@ -1289,6 +1328,9 @@ msgstr "" msgid "Nintendo DS Connectivity" msgstr "" +msgid "Nintendont" +msgstr "" + msgid "No" msgstr "" @@ -1808,6 +1850,9 @@ msgstr "" msgid "Settings" msgstr "" +msgid "Shared" +msgstr "" + msgid "Shooter" msgstr "" diff --git a/Makefile b/Makefile index 27328e9..b6af3c0 100644 --- a/Makefile +++ b/Makefile @@ -15,7 +15,7 @@ include $(DEVKITPPC)/wii_rules # SOURCES is a list of directories containing source code # INCLUDES is a list of directories containing extra header files #--------------------------------------------------------------------------------- -VERSION := 70r78.8 +VERSION := 70r78.9 RELEASE := release # to override RELEASE use: make announce RELEASE=beta ifeq ($(findstring compat,$(VERSION)),compat) diff --git a/source/cfg.c b/source/cfg.c index c373411..67f2b99 100644 --- a/source/cfg.c +++ b/source/cfg.c @@ -28,6 +28,7 @@ #include "menu.h" #include "wbfs.h" #include "wgui.h" +#include "sort.h" char FAT_DRIVE[8] = SDHC_DRIVE; char USBLOADER_PATH[200] = "sd:/usb-loader"; @@ -301,6 +302,178 @@ struct TextMap map_mem_card_size[] = { NULL, -1 } }; +struct TextMap map_filter_type[] = +{ + { "all", -1 }, + { "online", 0 }, + { "unplayed", 1 }, + { "genre", 2 }, + { "features", 3 }, + { "controller", 4 }, + { "gamecube", 5 }, + { "wii", 6 }, + { "channel", 7 }, + { "duplicate", 8 }, + { "game_type", 9 }, + { "search", 10 }, + { NULL, -2 } +}; + +struct TextMap map_game_type[] = +{ + { "wii", 0 }, + { "gamecube", 1 }, + { "all_channels", 2 }, + { "wiiware", 3 }, + { "vc_nes", 4 }, + { "vc_snes", 5 }, + { "vc_n64", 6 }, + { "vc_sms", 7 }, + { "vc_md", 8 }, + { "vc_pce", 9 }, + { "vc_neogeo", 10 }, + { "vc_arcade", 11 }, + { "vc_c64", 12 }, + { "wii_channels", 13 }, + { "fwd_emu", 14 }, + { NULL, -1 } +}; + +struct TextMap map_game_controller[] = +{ + { "wiimote", 0 }, + { "nunchuk", 1 }, + { "motionplus", 2 }, + { "gamecube", 3 }, + { "nintendods", 4 }, + { "classiccontroller", 5 }, + { "wheel", 6 }, + { "zapper", 7 }, + { "balanceboard", 8 }, + { "microphone", 9 }, + { "guitar", 10 }, + { "drums", 11 }, + { "camera", 12 }, + { "dancepad", 13 }, + { "infinitybase", 14 }, + { "keyboard", 15 }, + { "portalofpower", 16 }, + { "skateboard", 17 }, + { "totalbodytracking", 18 }, + { "turntable", 19 }, + { "udraw", 20 }, + { "wiispeak", 21 }, + { "vitalitysensor", 22 }, + { NULL, -1 } +}; + +struct TextMap map_game_feature[] = +{ + { "online", 0 }, + { "download", 1 }, + { "score", 2 }, + { "nintendods", 3 }, + { NULL, -1 } +}; + +struct TextMap map_game_genre[] = +{ + { "action", 0 }, + { "adventure", 1 }, + { "fighting", 2 }, + { "music", 3 }, + { "platformer", 4 }, + { "puzzle", 5 }, + { "racing", 6 }, + { "role-playing", 7 }, + { "shooter", 8 }, + { "simulation", 9 }, + { "sports", 10 }, + { "strategy", 11 }, + { "arcade", 12 }, + { "baseball", 13 }, + { "basketball", 14 }, + { "bike_racing", 15 }, + { "billiards", 16 }, + { "board_game", 17 }, + { "bowling", 18 }, + { "boxing", 19 }, + { "business_simulation", 20 }, + { "cards", 21 }, + { "chess", 22 }, + { "coaching", 23 }, + { "compilation", 24 }, + { "construction_simulation", 25 }, + { "cooking", 26 }, + { "cricket", 27 }, + { "dance", 28 }, + { "darts", 29 }, + { "drawing", 30 }, + { "educational", 31 }, + { "exercise", 32 }, + { "first-person_shooter", 33 }, + { "fishing", 34 }, + { "fitness", 35 }, + { "flight_simulation", 36 }, + { "football", 37 }, + { "futuristic_racing", 38 }, + { "golf", 39 }, + { "health", 40 }, + { "hidden_object", 41 }, + { "hockey", 42 }, + { "hunting", 43 }, + { "karaoke", 44 }, + { "kart_racing", 45 }, + { "life_simulation", 46 }, + { "management_simulation", 47 }, + { "martial_arts", 48 }, + { "motorcycle_racing", 49 }, + { "off-road_racing", 50 }, + { "party", 51 }, + { "petanque", 52 }, + { "pinball", 53 }, + { "poker", 54 }, + { "rail_shooter", 55 }, + { "rhythm", 56 }, + { "rugby", 57 }, + { "sim_racing", 58 }, + { "skateboarding", 59 }, + { "ski", 60 }, + { "snowboarding", 61 }, + { "soccer", 62 }, + { "stealth_action", 63 }, + { "surfing", 64 }, + { "survival_horror", 65 }, + { "table_tennis", 66 }, + { "tennis", 67 }, + { "third-person_shooter", 68 }, + { "train_simulation", 69 }, + { "trivia", 70 }, + { "truck_racing", 71 }, + { "virtual_pet", 72 }, + { "volleyball", 73 }, + { "watercraft_racing", 74 }, + { "wrestling", 75 }, + { NULL, -1 } +}; + +struct TextMap map_search_field[] = +{ + { "title", 0 }, + { "synopsis", 1 }, + { "developer", 2 }, + { "publisher", 3 }, + { "id6", 4 }, + { "region", 5 }, + { "rating", 6 }, + { "players", 7 }, + { "online_players", 8 }, + { "play_count", 9 }, + { "synopsis_len", 10 }, + { "covers_available", 11 }, + { NULL, -1 } +}; + struct playStat { char id[7]; s32 playCount; @@ -1189,6 +1362,7 @@ void CFG_default_path() void CFG_Default() { + int i; memset(&CFG, 0, sizeof(CFG)); // set coverflow defaults @@ -1245,6 +1419,8 @@ void CFG_Default() CFG.num_profiles = 1; //CFG.current_profile = 0; STRCOPY(CFG.profile_names[0], "default"); + for (i = 0; i < MAX_PROFILES; i++) + CFG.profile_filter[i] = -1; STRCOPY(CFG.titles_url, "http://www.gametdb.com/titles.txt?LANG={DBL}"); CFG.intro = 4; CFG.fat_install_dir = 1; @@ -2645,6 +2821,8 @@ void cfg_set(char *name, char *val) cfg_map("select", "most", &CFG.select, CFG_SELECT_MOST); cfg_map("select", "least", &CFG.select, CFG_SELECT_LEAST); cfg_map("select", "random", &CFG.select, CFG_SELECT_RANDOM); + + cfg_bool("save_filter", &CFG.save_filter); } @@ -2838,6 +3016,14 @@ void settings_set(char *name, char *val) } } } + cfg_map_auto("profile_filter", map_filter_type, &CFG.profile_filter[profile_tag_index]); + cfg_map_auto("profile_filter_genre", map_game_genre, &CFG.profile_filter_genre[profile_tag_index]); + cfg_map_auto("profile_filter_feature", map_game_feature, &CFG.profile_filter_feature[profile_tag_index]); + cfg_map_auto("profile_filter_controller", map_game_controller, &CFG.profile_filter_controller[profile_tag_index]); + cfg_map_auto("profile_filter_gametype", map_game_type, &CFG.profile_filter_gametype[profile_tag_index]); + cfg_map_auto("profile_search_field", map_search_field, &CFG.profile_search_field[profile_tag_index]); + if (strcmp(name, "profile_search_string") == 0) + strncpy(CFG.profile_search_string[profile_tag_index], val, 100); } if (profile_tag_index >= 0) { cfg_id_list("favorite_game", CFG.favorite_game, @@ -2969,6 +3155,29 @@ bool CFG_Save_Settings(int verbose) if (CFG.profile_theme[j] != -1) { fprintf(f, "profile_theme = %s\n", theme_list[CFG.profile_theme[j]]); } + if (CFG.save_filter) { + if (CFG.profile_filter[j] >= 0) { + fprintf(f, "profile_filter = %s\n", map_get_name(map_filter_type, CFG.profile_filter[j])); + switch (CFG.profile_filter[j]) { + case FILTER_GENRE: + fprintf(f, "profile_filter_genre = %s\n", map_get_name(map_game_genre, CFG.profile_filter_genre[j])); + break; + case FILTER_FEATURES: + fprintf(f, "profile_filter_feature = %s\n", map_get_name(map_game_feature, CFG.profile_filter_feature[j])); + break; + case FILTER_CONTROLLER: + fprintf(f, "profile_filter_controller = %s\n", map_get_name(map_game_controller, CFG.profile_filter_controller[j])); + break; + case FILTER_GAME_TYPE: + fprintf(f, "profile_filter_gametype = %s\n", map_get_name(map_game_type, CFG.profile_filter_gametype[j])); + break; + case FILTER_SEARCH: + fprintf(f, "profile_search_field = %s\n", map_get_name(map_search_field, CFG.profile_search_field[j])); + fprintf(f, "profile_search_string = %s\n", CFG.profile_search_string[j]); + break; + } + } + } fprintf(f, "# Favorite Games: %d\n", CFG.num_favorite_game); for (i=0; i +metaxml= +metaxml= Configurable USB Loader MOD patched +metaxml= {VERSION} +metaxml= {DATE} +metaxml= oggzee,usptactical,gannon,Clipper,R2-D2199,FIX94,airline38,Howard,NiTRo THe DeMoN +metaxml= Play from USB drive +metaxml= +metaxml=Play Wii Backups from USB harddrive +metaxml=Waninkoko cIOS 249 is required! +metaxml=Hermes cIOS 222/223 is supported. +metaxml=USE AT YOUR OWN RISK! +metaxml= +metaxml= +metaxml= + +release = 70r78.9 +size = 1902240 +date = 2015-05-13 +url = http://cfgusbloader.ntd.homelinux.org/trac/CfgUSBLoader/chrome/site/binaries/dol/r9/cfg70r78.9-222.dol +-Usability - added filter persistance per profile on config save +-Usability - added "FWD Emulators" GameType for most common emulator forwarder channels (to use with emunand) +-Usability - re-enabled online update from http://cfgusbloader.ntd.homelinux.org releases +-Internals - implemented separated online update for -222 builds + +release = 70r78.8 +size = 1897504 +date = 2015-03-14 +url = http://cfgusbloader.ntd.homelinux.org/trac/CfgUSBLoader/chrome/site/binaries/dol/r8/cfg70r78.8-222.dol +-Compilation - code cleanup to remove all compilation warnings +-GC - updated nintendont config support to version 0x00000003 +-Internals - added Wii / vWii identification capability +-GC - fixed wide screen support in vWii for nintendont +-GC - added nintendont memory card sizing +-GC - added nintnedont shared memory card support +-Internals - added "mem_card_emu" and "mem_card_size" keys for games configs in "settings.cfg" +-Build - added revision number to version as suffix "." (70r78.8) + +release = 70r78.7 +size = 1894720 +date = 2015-01-17 +url = http://cfgusbloader.ntd.homelinux.org/trac/CfgUSBLoader/chrome/site/binaries/dol/r7/cfg70r78-222_stub.dol +-Usability - added stub binary for return to loader and functions to manage the return TID via "return_to_channel" configuration key +-Compilation - added all prebuild libraries for old PPC versions + +release = 70r78.6 +size = 1890368 +date = 2015-01-17 +url = http://cfgusbloader.ntd.homelinux.org/trac/CfgUSBLoader/chrome/site/binaries/dol/r6/cfg70r78-222_ppc27.dol +-Build - ported to Devkit PPC v27 + +Unreleased = 70r78.5 +date = 2015-01-17 +-GC - avoid mload reload on ios 58 before nintendont startup + +release = 70r78.4 +size = 1931072 +date = 2015-01-17 +url = http://cfgusbloader.ntd.homelinux.org/trac/CfgUSBLoader/chrome/site/binaries/dol/r4/cfg70r78-222_ios252.dol +-Games - added ios 252 support (to allow a dx2 installation schema like the one in the wiiflow pack) + +release = 70r78.3 +size = 1931008 +date = 2015-01-17 +url = http://cfgusbloader.ntd.homelinux.org/trac/CfgUSBLoader/chrome/site/binaries/dol/r3/cfg70r78-222_cheatfix.dol +-Cheat - porting of my download patch that disables referer only for geckocodes.org \ No newline at end of file diff --git a/updates.txt b/updates.txt index ed8d5de..b6233f6 100644 --- a/updates.txt +++ b/updates.txt @@ -1,9 +1,9 @@ metaxml= metaxml= -metaxml= Configurable USB Loader MOD +metaxml= Configurable USB Loader MOD patched metaxml= {VERSION} metaxml= {DATE} -metaxml= oggzee,usptactical,gannon,Clipper,R2-D2199,FIX94,airline38,Howard +metaxml= oggzee,usptactical,gannon,Clipper,R2-D2199,FIX94,airline38,Howard,NiTRo THe DeMoN metaxml= Play from USB drive metaxml= metaxml=Play Wii Backups from USB harddrive @@ -11,8 +11,60 @@ metaxml=Waninkoko cIOS 249 is required! metaxml=Hermes cIOS 222/223 is supported. metaxml=USE AT YOUR OWN RISK! metaxml= +metaxml= metaxml= +release = 70r78.9 +size = 1902208 +date = 2015-05-13 +url = http://cfgusbloader.ntd.homelinux.org/trac/CfgUSBLoader/chrome/site/binaries/dol/r9/cfg70r78.9.dol +-Usability - added filter persistance per profile on config save +-Usability - added "FWD Emulators" GameType for most common emulator forwarder channels (to use with emunand) +-Usability - re-enabled online update from http://cfgusbloader.ntd.homelinux.org releases +-Internals - implemented separated online update for -222 builds + +release = 70r78.8 +size = 1897472 +date = 2015-03-14 +url = http://cfgusbloader.ntd.homelinux.org/trac/CfgUSBLoader/chrome/site/binaries/dol/r8/cfg70r78.8.dol +-Compilation - code cleanup to remove all compilation warnings +-GC - updated nintendont config support to version 0x00000003 +-Internals - added Wii / vWii identification capability +-GC - fixed wide screen support in vWii for nintendont +-GC - added nintendont memory card sizing +-GC - added nintnedont shared memory card support +-Internals - added "mem_card_emu" and "mem_card_size" keys for games configs in "settings.cfg" +-Build - added revision number to version as suffix "." (70r78.8) + +release = 70r78.7 +size = 1894720 +date = 2015-01-17 +url = http://cfgusbloader.ntd.homelinux.org/trac/CfgUSBLoader/chrome/site/binaries/dol/r7/cfg70r78_stub.dol +-Usability - added stub binary for return to loader and functions to manage the return TID via "return_to_channel" configuration key +-Compilation - added all prebuild libraries for old PPC versions + +release = 70r78.6 +size = 1890368 +date = 2015-01-17 +url = http://cfgusbloader.ntd.homelinux.org/trac/CfgUSBLoader/chrome/site/binaries/dol/r6/cfg70r78_ppc27.dol +-Build - ported to Devkit PPC v27 + +Unreleased = 70r78.5 +date = 2015-01-17 +-GC - avoid mload reload on ios 58 before nintendont startup + +release = 70r78.4 +size = 1931040 +date = 2015-01-17 +url = http://cfgusbloader.ntd.homelinux.org/trac/CfgUSBLoader/chrome/site/binaries/dol/r4/cfg70r78_ios252.dol +-Games - added ios 252 support (to allow a dx2 installation schema like the one in the wiiflow pack) + +release = 70r78.3 +size = 1930976 +date = 2015-01-17 +url = http://cfgusbloader.ntd.homelinux.org/trac/CfgUSBLoader/chrome/site/binaries/dol/r3/cfg70r78_cheatfix.dol +-Cheat - porting of my download patch that disables referer only for geckocodes.org + Unreleased = 70r78 date = 2014-11-02 -Fixed downloading cheat files (Thanks pabloacurielz)