-
Notifications
You must be signed in to change notification settings - Fork 3
/
SpecialCategoriesDefault.py
155 lines (138 loc) · 4.72 KB
/
SpecialCategoriesDefault.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
from gatelib import slugify
##################################################
# START EDITING FROM LINE 29 (SpecialCategories) #
##################################################
# This is where you add special categories to further organize your roms.
# A special category allows you to automatically export roms with certain
# keywords to a specific folder, such as "[Unlicensed]" or "[BIOS]".
# You can also choose to ignore roms in a certain category during an export.
#
# Keep in mind that any roms in a category will ONLY be exported if the category
# is enabled!
class Category:
def __init__(self, name, keywords, description=None, exclusiveSystems=None):
self.name = name
self.keywords = keywords
if not (isinstance(self.keywords, list) or isinstance(self.keywords, tuple)):
self.keywords = [self.keywords]
self.description = description
self.exclusiveSystems = exclusiveSystems
if not (self.exclusiveSystems is None or isinstance(self.exclusiveSystems, list) or isinstance(self.exclusiveSystems, tuple)):
self.exclusiveSystems = [self.exclusiveSystems]
self.folderName = slugify(name)
SpecialCategories = [
Category(
name = "Unlicensed",
description = "Include roms marked as Unlicensed, Pirate, or Homebrew.",
keywords = [
"(Homebrew",
"(Pirate",
"(Unl",
],
exclusiveSystems = None,
),
Category(
name = "Unreleased",
description = None,
keywords = [
"(Proto",
],
exclusiveSystems = None,
),
Category(
name = "Compilations",
description = None,
keywords = [
"2 Games in 1 -",
"2 Games in 1! -",
"2 Disney Games -",
"2-in-1 Fun Pack -",
"2 Great Games! -",
"2 in 1 -",
"2 in 1 Game Pack -",
"2 Jeux en 1 -",
"3 Games in 1 -",
"4 Games on One Game Pak",
"Castlevania Double Pack",
"Combo Pack - ",
"Crash Superpack -",
"Crash & Spyro Superpack",
"Crash & Spyro Super Pack",
"Double Game! -",
"Double Pack -",
"Spyro Superpack -",
],
exclusiveSystems = None,
),
Category(
name = "Misc. Programs",
description = "Include non-game programs such as test programs, SDK files, and SNES enhancement chips.\n\nIf unsure, leave this disabled.",
keywords = [
"(Enhancement Chip",
"(Program",
"(SDK Build",
"(Test Program",
"Production Test Program",
"Test Cart",
],
exclusiveSystems = None,
),
Category(
name = "BIOS",
description = None,
keywords = [
"[BIOS]",
],
exclusiveSystems = None,
),
Category(
name = "NES Ports",
description = "(Only applies to GBA.)\nInclude Classic NES Series, Famicom Mini, Hudson Best Collection, and Kunio-kun Nekketsu Collection emulated ports.\n\nIf unsure, leave this disabled.",
keywords = [
"Classic NES Series",
"Famicom Mini",
"Hudson Best Collection",
"Kunio-kun Nekketsu Collection",
],
exclusiveSystems = ["Nintendo - Game Boy Advance"],
),
Category(
name = "GBA Video",
description = "(Only applies to GBA.)",
keywords = [
"Game Boy Advance Video"
],
exclusiveSystems = ["Nintendo - Game Boy Advance"],
),
]
# Edit the prefix and suffix for special categories and region folders.
# By default, a folder name will be surrounded with brackets. e.g. "[Unreleased]"
# If you changed these to "! " and " !" respectively, it would become "! Unreleased !"
# The prefix cannot contain leading spaces, and the suffix cannot contain trailing spaces.
specialFolderPrefix = "["
specialFolderSuffix = "]"
# Specific Attributes are special keywords used when determining the best version
# of a game for 1G1R.
# They are used to denote re-releases that should be considered secondary to
# their original counterparts. As more methods of officially re-releasing games
# come into existence, this list may need to be updated.
SpecificAttributes = [
"Virtual Console", "Switch Online", "GameCube", "Namcot Collection",
"Namco Museum Archives", "Kiosk", "iQue", "Sega Channel", "WiiWare",
"DLC", "Minis", "Promo", "Nintendo Channel", "Nintendo Channel, Alt",
"DS Broadcast", "Wii Broadcast", "DS Download Station", "Dwnld Sttn",
"Undumped Japanese Download Station", "WiiWare Broadcast",
"Disk Writer", "Collection of Mana", "Namco Museum Archives Vol 1",
"Namco Museum Archives Vol 2", "Castlevania Anniversary Collection",
"Sega Smash Pack", "Steam Version", "Nintendo Switch", "NP",
"Genesis Mini", "Mega Drive Mini", "Classic Mini"
]
# General Attributes are special keywords used when determining the best version
# of a game for 1G1R.
# Later versions of a rom are seen as more significant than earlier ones.
# (e.g. "Rev 2" is more significant than "Rev 1")
# You shouldn't have to edit this, but you're free to in case an attribute is
# missing.
GeneralAttributes = [
"Rev", "Beta", "Demo", "Sample", "Proto", "Alt", "Earlier", "Download Station", "FW", "Reprint"
]