-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwhdfetch.ini.sample
More file actions
293 lines (258 loc) · 13.5 KB
/
whdfetch.ini.sample
File metadata and controls
293 lines (258 loc) · 13.5 KB
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
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
; whdfetch configuration sample
; Copy to PROGDIR:whdfetch.ini on your Amiga setup.
; Any missing key falls back to built-in defaults.
; Note: any argument passed from the cli will supersede
; these settings.
[global]
; ---------------------------------------------------------------------------
; WEBSITE CONNECTION SETTINGS
; These five keys control how whdfetch locates and identifies pack files
; on the Retroplay FTP site. If the site is ever restructured or renamed,
; you can update these values here without recompiling the program.
; ---------------------------------------------------------------------------
; The base URL of the Retroplay FTP index page.
; whdfetch fetches this URL to download the site's index.html, then
; scans it for pack links. It also prefixes this URL to each matched link
; to build the full download address for every ZIP pack.
; The URL must end with a trailing slash.
;
; Example: if a ZIP pack link found in the HTML is
; Commodore_Amiga_-_WHDLoad_-_Games(2025-07-24).zip
; the full download URL becomes:
; <download_website>/<link>
; http://ftp2.grandis.nu/turran/FTP/Retroplay%20WHDLoad%20Packs/Commodore_Amiga_-_WHDLoad_-_Games(2025-07-24).zip
download_website=http://ftp2.grandis.nu/turran/FTP/Retroplay%20WHDLoad%20Packs/
; A substring to strip from each matched HTML link to produce a clean
; pack filename. The raw href values in the site index are long
; URL-encoded strings; this setting removes the common leading portion
; that every pack link shares, leaving just the pack-specific part.
;
; Example:
; Raw link : Commodore%20Amiga%20-%20WHDLoad%20-%20Games(2025-07-24).zip
; After strip: Games(2025-07-24).zip
;
; If the site renames its folder prefix, update this value to match.
; Spaces in the URL must be written as %20 (URL-encoded).
file_part_to_remove=Commodore%20Amiga%20-%20WHDLoad%20-%20
; First-pass filter for HTML links found in the index page.
; Only <a href="..."> links whose href contains this string are considered
; by the downloader. Any link that does NOT contain this string is ignored
; entirely, regardless of what else it contains.
;
; Example: with the value below, a link like
; <a href="Commodore%20Amiga%20-%20WHDLoad%20-%20Games(2025-07-24).zip">
; passes the filter, while unrelated links (parent directory, other
; collections, readme files) are silently skipped.
;
; If the website restructures so that pack links no longer contain this
; prefix, update this to match whatever the new common prefix is.
; Spaces must be URL-encoded as %20.
html_link_prefix_filter=Commodore%20Amiga
; Second-pass filter applied after html_link_prefix_filter.
; Among the links that already passed the prefix check, only those that
; ALSO contain this string are kept. This narrows the match to WHDLoad
; archive packs specifically, filtering out any other files (e.g. JST
; or HD collections) that happen to share the same prefix.
;
; Example: the link below passes both filters:
; Commodore%20Amiga%20-%20WHDLoad%20-%20Games(2025-07-24).zip
; ^^prefix match^^ ^^content match^^
; A link like:
; Commodore%20Amiga%20-%20Coverdisks(2025-07-24).zip
; passes the prefix filter but fails here, so it is ignored.
html_link_content_filter=WHDLoad
; Comma-separated list of substrings to remove from the filename AFTER
; file_part_to_remove has already been stripped. Each entry is removed
; wherever it appears in the filename, in the order listed. Use this to
; clean up any remaining URL-encoding artefacts, HTML entities, or
; site-specific decorators that would otherwise end up in the local filename.
;
; Current entries and why each is needed:
; amp; - leftover from HTML entity decoding (& -> & -> amp;)
; %20 - URL-encoded spaces not caught by file_part_to_remove
; CommodoreAmiga- - residual prefix fragment after space-removal
; & - raw HTML entity that sometimes appears in href values
; &Unofficial - site tag appended to beta/unofficial pack links
; &Unreleased - site tag appended to unreleased pack links
;
; Example (applied in order to "CommodoreAmiga-Games&Unofficial(2025-07-24).zip"):
; after amp; -> no change (not present here)
; after %20 -> no change (not present here)
; after CommodoreAmiga- -> "Games&Unofficial(2025-07-24).zip"
; after & -> no change (not present here)
; after &Unofficial -> "Games(2025-07-24).zip"
;
; If the website adds new decorators to link names, append them to this list
; without recompiling. Do NOT include spaces around the commas.
link_cleanup_removals=amp;,%20,CommodoreAmiga-,&,&Unofficial,&Unreleased
; Enable or disable post-download extraction (true/false)
extract_archives=true
; When true, skip extraction if ArchiveName.txt line 2 exactly matches
; the archive filename for the resolved target folder.
skip_existing_extractions=true
; When true, skip downloading if an existing extracted folder marker
; (ArchiveName.txt line 2) exactly matches the archive filename.
skip_download_if_extracted=true
; Optional extra safety check for pre-download skip logic.
; Default false (faster): rely on .archive_index plus folder-exists verification.
; Set true to also verify ArchiveName.txt for skip decisions when checking
; whether an already-extracted title can be skipped before downloading.
verify_archive_marker_before_download=false
; When true, always download archives even if skip_download_if_extracted
; would otherwise skip them.
force_download=false
; When true, show detailed unzip output during DAT extraction.
; Default false keeps DAT extraction output quiet.
verbose_output=false
; Default HTTP timeout applied to every download (index.html, DAT ZIPs, and .lha archives).
; Accepts values between 5 and 60 seconds. CLI `TIMEOUT=` arguments override this value per run.
timeout_seconds=30
; Empty = in-place extraction beside downloaded archives.
; Set to a path like Games: or FUN: to extract elsewhere.
extract_path=
; When true, delete the archive after successful extraction.
; When false, keep the archive as a local backup.
delete_archives_after_extract=true
; When true (default), whdfetch looks for matching icons in PROGDIR:Icons/
; before falling back to the system default drawer icon.
;
; Structural folder icons: place A.info, B.info, Games.info, Demos.info, etc.
; in PROGDIR:Icons/ to customise each category or letter folder.
;
; WHDLoad game folder icons: place a file named exactly 'WHD folder.info' in
; PROGDIR:Icons/ to have it replace the per-game .info sidecar that ships
; inside every WHDLoad archive. The replacement happens after successful
; extraction and handles write-protected icons gracefully.
;
; Set to false, or pass NOICONS on the CLI, to disable all custom icon handling.
use_custom_icons=true
; INI-only toggle: when true (default), icons copied from PROGDIR:Icons/
; are unsnapshotted after copy so saved Workbench positions are removed.
; This prevents custom template icons from stacking at the same coordinates.
; Set to false if you want copied icons to keep their saved snapshot position.
unsnapshot_icons=true
; Disable terminal counter features (current and future).
; When true, whdfetch skips pre-count passes and does not print
; "Download X of Y" style counter lines.
; CLI equivalent: DISABLECOUNTERS
disable_counters=false
; Enable CRC verification for downloaded archives when DAT metadata provides CRC.
; Default is false for fastest downloads.
; CLI equivalent: CRCCHECK
crccheck=false
[pack.demos_beta]
; Controls whether this pack is active when no specific pack argument is given on the CLI.
; true = this pack will be processed when whdfetch is run without a pack argument
; false = this pack is skipped unless explicitly requested at the CLI (e.g. DOWNLOADBETADEMOS)
; Note: any CLI pack argument (DOWNLOADBETADEMOS, DOWNLOADALL, etc.) overrides this setting.
enabled=true
; The human-readable name for this pack, used in:
; - Console progress messages ("Downloading Demos (Beta & Unofficial)...")
; - End-of-run statistics ("Stats for Demos (Beta & Unofficial) folder:")
; - Line 1 of ArchiveName.txt written inside each extracted game folder
; - All log file entries that refer to this pack
display_name=Demos (Beta & Unofficial)
; The base HTTP URL of the Retroplay FTP directory for this pack.
; whdfetch fetches individual .lha archives from this URL by appending
; the first-letter subdirectory and archive filename:
; <download_url><letter>/<archive>.lha
; The URL must end with a trailing slash.
download_url=http://ftp2.grandis.nu/turran/FTP/Retroplay%20WHDLoad%20Packs/Commodore_Amiga_-_WHDLoad_-_Demos_-_Beta_&_Unofficial/
; The subdirectory name under GameFiles/ where downloaded archives and
; extracted games for this pack are stored.
; First-letter subfolders (A/ through Z/) are created automatically beneath it.
; Example with local_dir=Demos Beta/:
; GameFiles/Demos Beta/A/<archive>.lha
; GameFiles/Demos Beta/A/<extracted game folder>/
; This name is also used in the path to the .archive_index cache files for
; this pack (GameFiles/Demos Beta/<letter>/.archive_index).
local_dir=Demos Beta/
; Prefix string used to identify both the downloaded ZIP pack and the DAT
; (.xml) file inside it that belongs to this pack.
; whdfetch uses this string to:
; 1. Match the ZIP file link in the Retroplay index HTML
; ("Demos-Beta(2025-07-24).zip" contains the substring "Demos-Beta(")
; 2. Name the extracted XML file in temp/Dat files/
; Result: temp/Dat files/Demos-Beta(2025-07-24).xml
; 3. Locate the .txt ROM list on subsequent extract-only runs
; The trailing "(" is significant: it tells the code that a date and closing ")"
; follow in the filename, which is used to build the exact output path:
; <filter_dat><date>).xml → e.g. Demos-Beta(2025-07-24).xml
; It also prevents "Demos(" from accidentally matching "Demos-Beta(..." entries.
filter_dat=Demos-Beta(
; Prefix string identifying the ZIP pack file for this collection.
; Stored in the pack definition and included in the configuration log output,
; but the current implementation uses filter_dat for all active ZIP and DAT
; file matching. This key is provided for completeness and potential future use.
; It typically omits the trailing "(" that filter_dat carries, since it is
; intended to match the bare pack name without a date token.
filter_zip=Demos-Beta
[pack.demos]
enabled=true
display_name=Demos
download_url=http://ftp2.grandis.nu/turran/FTP/Retroplay%20WHDLoad%20Packs/Commodore_Amiga_-_WHDLoad_-_Demos/
local_dir=Demos/
filter_dat=Demos(
filter_zip=Demos(
[pack.games_beta]
enabled=true
display_name=Games (Beta & Unofficial)
download_url=http://ftp2.grandis.nu/turran/FTP/Retroplay%20WHDLoad%20Packs/Commodore_Amiga_-_WHDLoad_-_Games_-_Beta_&_Unofficial/
local_dir=Games Beta/
filter_dat=Games-Beta
filter_zip=Games-Beta
[pack.games]
enabled=true
display_name=Games
download_url=http://ftp2.grandis.nu/turran/FTP/Retroplay%20WHDLoad%20Packs/Commodore_Amiga_-_WHDLoad_-_Games/
local_dir=Games/
filter_dat=Games(
filter_zip=Games(
[pack.magazines]
enabled=true
display_name=Magazines
download_url=http://ftp2.grandis.nu/turran/FTP/Retroplay%20WHDLoad%20Packs/Commodore_Amiga_-_WHDLoad_-_Magazines/
local_dir=Magazines/
filter_dat=Magazines(
filter_zip=Magazines
[filters]
; ---------------------------------------------------------------------------
; DOWNLOAD FILTERS
; These flags control which game variants are excluded from downloading.
; Each filter works by inspecting the archive filename parsed from the DAT
; file: if the filename matches the filter criteria the entry is skipped
; entirely — it will not be downloaded or extracted.
;
; All filters default to false (nothing skipped). Set to true to exclude
; that category. Filters can also be set at the CLI:
; SKIP_AGA, SKIP_CD, SKIP_NTSC, SKIP_NONENG
;
; NOTE: The current filter system is a simple all-or-nothing exclude per
; category. A more sophisticated weighted selection system is planned for
; a future release: it will score each variant of a title against your
; preferences (e.g. prefer OCS over AGA, prefer German over English)
; and automatically pick the best available version rather than just
; omitting an entire category.
; ---------------------------------------------------------------------------
; When true, skip any entry whose filename contains the "AGA" machine type tag.
; AGA titles require an A1200 or A4000 with the Advanced Graphics Architecture chipset.
; Set to true if you are running WHDLoad games on an OCS/ECS machine (A500, A600, A2000).
; Example filename skipped: Alien3_v1.1_AGA.lha
skip_aga=false
; When true, skip any entry flagged as a CD32 or CDTV release.
; These titles require CD hardware (CD32 console or CDTV player) to run.
; Set to true if you do not have a CD32 or CDTV.
; Example filenames skipped: Zool2_CD32.lha, Defender_CDTV.lha
skip_cd=false
; When true, skip any entry whose filename contains the "NTSC" video format tag.
; NTSC titles run at 60 Hz and are intended for North American/Japanese hardware.
; They may run too fast, display incorrectly, or crash on a PAL Amiga.
; Set to true if your Amiga is a PAL machine (most European systems).
; Example filename skipped: Lemmings_v1.0_NTSC.lha
skip_ntsc=false
; When true, skip any entry whose language tag is not "English" (defaulted to having no language tag).
; Language is detected from tags in the archive filename (e.g. De, Fr, It, Sp).
; An archive with no language tag is treated as English and will NOT be skipped.
; Set to true if you only want English-language releases.
; Example filename skipped: Turrican_v1.2_De.lha (German version)
skip_non_english=false