mirror of
https://github.com/nitraiolo/CfgUSBLoader.git
synced 2024-10-22 14:15:05 +02:00
109 lines
3.1 KiB
C
109 lines
3.1 KiB
C
|
#ifndef _SORT_H_
|
||
|
#define _SORT_H_
|
||
|
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C"
|
||
|
{
|
||
|
#endif
|
||
|
|
||
|
#include "disc.h"
|
||
|
|
||
|
struct Sorts
|
||
|
{
|
||
|
char cfg_val[20];
|
||
|
char name[100];
|
||
|
int (*sortAsc) (const void *, const void *);
|
||
|
int (*sortDsc) (const void *, const void *);
|
||
|
};
|
||
|
|
||
|
#define featureCnt 4
|
||
|
#define accessoryCnt 23
|
||
|
#define genreCnt 76
|
||
|
#define sortCnt 10
|
||
|
#define gameTypeCnt 14
|
||
|
#define searchFieldCnt 12
|
||
|
#define searchCompareTypeCnt 6
|
||
|
|
||
|
#define FILTER_ALL -1
|
||
|
#define FILTER_ONLINE 0
|
||
|
#define FILTER_UNPLAYED 1
|
||
|
#define FILTER_GENRE 2
|
||
|
#define FILTER_FEATURES 3
|
||
|
#define FILTER_CONTROLLER 4
|
||
|
#define FILTER_GAMECUBE 5
|
||
|
#define FILTER_WII 6
|
||
|
#define FILTER_CHANNEL 7
|
||
|
#define FILTER_DUPLICATE_ID3 8
|
||
|
#define FILTER_GAME_TYPE 9
|
||
|
#define FILTER_SEARCH 10
|
||
|
|
||
|
#define GAME_TYPE_Wii 0
|
||
|
#define GAME_TYPE_GameCube 1
|
||
|
#define GAME_TYPE_All_Channels 2
|
||
|
#define GAME_TYPE_Wiiware 3
|
||
|
#define GAME_TYPE_VC_NES 4
|
||
|
#define GAME_TYPE_VC_SNES 5
|
||
|
#define GAME_TYPE_VC_N64 6
|
||
|
#define GAME_TYPE_VC_SMS 7
|
||
|
#define GAME_TYPE_VC_MD 8
|
||
|
#define GAME_TYPE_VC_PCE 9
|
||
|
#define GAME_TYPE_VC_NeoGeo 10
|
||
|
#define GAME_TYPE_VC_Arcade 11
|
||
|
#define GAME_TYPE_VC_C64 12
|
||
|
#define GAME_TYPE_Wii_Channel 13
|
||
|
|
||
|
extern s32 filter_type;
|
||
|
extern s32 filter_index;
|
||
|
extern char search_str[100];
|
||
|
extern int cur_search_field;
|
||
|
extern int cur_search_compare_type;
|
||
|
extern s32 sort_index;
|
||
|
extern bool sort_desc;
|
||
|
extern struct Sorts sortTypes[sortCnt];
|
||
|
|
||
|
extern char *genreTypes[genreCnt][2];
|
||
|
extern char *accessoryTypes[accessoryCnt][2];
|
||
|
extern char *featureTypes[featureCnt][2];
|
||
|
extern char *gameTypes[gameTypeCnt][2];
|
||
|
extern char *searchFields[searchFieldCnt];
|
||
|
extern char *searchCompareTypes[searchCompareTypeCnt];
|
||
|
|
||
|
int (*default_sort_function) (const void *a, const void *b);
|
||
|
|
||
|
int filter_features(struct discHdr *list, int cnt, char *feature, bool requiredOnly);
|
||
|
int filter_online(struct discHdr *list, int cnt, char *ignore, bool notused);
|
||
|
int filter_play_count(struct discHdr *list, int cnt, char *ignore, bool notused);
|
||
|
int filter_controller(struct discHdr *list, int cnt, char *controller, bool requiredOnly);
|
||
|
int filter_genre(struct discHdr *list, int cnt, char *genre, bool notused);
|
||
|
int filter_gamecube(struct discHdr *list, int cnt, char *ignore, bool notused);
|
||
|
int filter_wii(struct discHdr *list, int cnt, char *ignore, bool notused);
|
||
|
int filter_channel(struct discHdr *list, int cnt, char *ignore, bool notused);
|
||
|
int filter_duplicate_id3(struct discHdr *list, int cnt, char *ignore, bool notused);
|
||
|
int filter_game_type(struct discHdr *list, int cnt, char *typeWanted, bool notused);
|
||
|
int filter_game_search(struct discHdr *list, int cnt, char *strWanted, bool notused);
|
||
|
int filter_games(int (*filter) (struct discHdr *, int, char *, bool), char * name, bool num);
|
||
|
int filter_games_set(int type, int index);
|
||
|
void showAllGames(void);
|
||
|
|
||
|
void sortList(int (*sortFunc) (const void *, const void *));
|
||
|
void __set_default_sort(void);
|
||
|
void reset_sort_default();
|
||
|
void sortList_default();
|
||
|
void sortList_set(int index, bool desc);
|
||
|
int Menu_Filter(void);
|
||
|
int Menu_Filter2(void);
|
||
|
int Menu_Filter3(void);
|
||
|
int Menu_Filter4(void);
|
||
|
int Menu_Sort(void);
|
||
|
|
||
|
int get_accesory_id(char *accessory);
|
||
|
const char* get_accesory_name(int i);
|
||
|
int get_feature_id(char *feature);
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#endif
|