fluffrabbit / paklist (public) (License: Unlicense (public domain)) (since 2021-05-21) (hash sha1)
List the contents of a Quake .pak file and check that list against an uncompiled folder of Quake assets
List of commits:
Subject Hash Author Date (UTC)
Add filechk tool 5e0fee8060fed5f90f9f53d11127b8973da7eae9 fluffrabbit 2021-05-21 19:20:28
Initial commit fab5784b4a252ef51ea1934e01c77a98ccaa9720 fluffrabbit 2021-05-21 18:35:55
Commit 5e0fee8060fed5f90f9f53d11127b8973da7eae9 - Add filechk tool
Author: fluffrabbit
Author date (UTC): 2021-05-21 19:20
Committer name: fluffrabbit
Committer date (UTC): 2021-05-21 19:20
Parent(s): fab5784b4a252ef51ea1934e01c77a98ccaa9720
Signer:
Signing key:
Signing status: N
Tree: e4449f03d178ac1227df93793fb874d302a39c90
File Lines added Lines deleted
filechk 11 0
pakfiles.txt 424 0
File filechk added (mode: 100755) (index 0000000..3af43f3)
1 #!/bin/sh
2
3 # https://unix.stackexchange.com/questions/60379/check-whether-files-in-a-file-list-exist-in-a-certain-directory
4 # Usage: ./filechk pakfiles.txt lq1
5
6 printf 'Missing files:\n'
7 while IFS= read -r f; do
8 if [ ! -e $2/$f ]; then
9 printf '%s\n' "$f"
10 fi
11 done < "$1"
File pakfiles.txt added (mode: 100644) (index 0000000..e0cef01)
1 default.cfg
2 demo1.dem
3 demo2.dem
4 demo3.dem
5 end1.bin
6 end2.bin
7 gfx.wad
8 quake.rc
9 gfx/bigbox.lmp
10 gfx/box_bl.lmp
11 gfx/box_bm.lmp
12 gfx/box_br.lmp
13 gfx/box_ml.lmp
14 gfx/box_mm.lmp
15 gfx/box_mm2.lmp
16 gfx/box_mr.lmp
17 gfx/box_tl.lmp
18 gfx/box_tm.lmp
19 gfx/box_tr.lmp
20 gfx/colormap.lmp
21 gfx/complete.lmp
22 gfx/conback.lmp
23 gfx/dim_drct.lmp
24 gfx/dim_ipx.lmp
25 gfx/dim_modm.lmp
26 gfx/dim_mult.lmp
27 gfx/dim_tcp.lmp
28 gfx/finale.lmp
29 gfx/help0.lmp
30 gfx/help1.lmp
31 gfx/help2.lmp
32 gfx/help3.lmp
33 gfx/help4.lmp
34 gfx/help5.lmp
35 gfx/inter.lmp
36 gfx/loading.lmp
37 gfx/mainmenu.lmp
38 gfx/menudot1.lmp
39 gfx/menudot2.lmp
40 gfx/menudot3.lmp
41 gfx/menudot4.lmp
42 gfx/menudot5.lmp
43 gfx/menudot6.lmp
44 gfx/menuplyr.lmp
45 gfx/mp_menu.lmp
46 gfx/netmen1.lmp
47 gfx/netmen2.lmp
48 gfx/netmen3.lmp
49 gfx/netmen4.lmp
50 gfx/netmen5.lmp
51 gfx/p_load.lmp
52 gfx/p_multi.lmp
53 gfx/p_option.lmp
54 gfx/p_save.lmp
55 gfx/palette.lmp
56 gfx/pause.lmp
57 gfx/pop.lmp
58 gfx/qplaque.lmp
59 gfx/ranking.lmp
60 gfx/sell.lmp
61 gfx/sp_menu.lmp
62 gfx/ttl_cstm.lmp
63 gfx/ttl_main.lmp
64 gfx/ttl_sgl.lmp
65 gfx/vidmodes.lmp
66 maps/b_batt0.bsp
67 maps/b_batt1.bsp
68 maps/b_bh10.bsp
69 maps/b_bh100.bsp
70 maps/b_bh25.bsp
71 maps/b_exbox2.bsp
72 maps/b_explob.bsp
73 maps/b_nail0.bsp
74 maps/b_nail1.bsp
75 maps/b_rock0.bsp
76 maps/b_rock1.bsp
77 maps/b_shell0.bsp
78 maps/b_shell1.bsp
79 maps/dm1.bsp
80 maps/dm2.bsp
81 maps/dm3.bsp
82 maps/dm4.bsp
83 maps/dm5.bsp
84 maps/dm6.bsp
85 maps/e1m1.bsp
86 maps/e1m2.bsp
87 maps/e1m3.bsp
88 maps/e1m4.bsp
89 maps/e1m5.bsp
90 maps/e1m6.bsp
91 maps/e1m7.bsp
92 maps/e1m8.bsp
93 maps/e2m1.bsp
94 maps/e2m2.bsp
95 maps/e2m3.bsp
96 maps/e2m4.bsp
97 maps/e2m5.bsp
98 maps/e2m6.bsp
99 maps/e2m7.bsp
100 maps/e3m1.bsp
101 maps/e3m2.bsp
102 maps/e3m3.bsp
103 maps/e3m4.bsp
104 maps/e3m5.bsp
105 maps/e3m6.bsp
106 maps/e3m7.bsp
107 maps/e4m1.bsp
108 maps/e4m2.bsp
109 maps/e4m3.bsp
110 maps/e4m4.bsp
111 maps/e4m5.bsp
112 maps/e4m6.bsp
113 maps/e4m7.bsp
114 maps/e4m8.bsp
115 maps/end.bsp
116 maps/start.bsp
117 progs.dat
118 progs/armor.mdl
119 progs/b_g_key.mdl
120 progs/b_s_key.mdl
121 progs/backpack.mdl
122 progs/bolt.mdl
123 progs/bolt2.mdl
124 progs/bolt3.mdl
125 progs/boss.mdl
126 progs/demon.mdl
127 progs/dog.mdl
128 progs/end1.mdl
129 progs/end2.mdl
130 progs/end3.mdl
131 progs/end4.mdl
132 progs/enforcer.mdl
133 progs/eyes.mdl
134 progs/fish.mdl
135 progs/flame.mdl
136 progs/flame2.mdl
137 progs/g_light.mdl
138 progs/g_nail.mdl
139 progs/g_nail2.mdl
140 progs/g_rock.mdl
141 progs/g_rock2.mdl
142 progs/g_shot.mdl
143 progs/gib1.mdl
144 progs/gib2.mdl
145 progs/gib3.mdl
146 progs/grenade.mdl
147 progs/h_demon.mdl
148 progs/h_dog.mdl
149 progs/h_guard.mdl
150 progs/h_hellkn.mdl
151 progs/h_knight.mdl
152 progs/h_mega.mdl
153 progs/h_ogre.mdl
154 progs/h_player.mdl
155 progs/h_shal.mdl
156 progs/h_shams.mdl
157 progs/h_wizard.mdl
158 progs/h_zombie.mdl
159 progs/hknight.mdl
160 progs/invisibl.mdl
161 progs/invulner.mdl
162 progs/k_spike.mdl
163 progs/knight.mdl
164 progs/laser.mdl
165 progs/lavaball.mdl
166 progs/m_g_key.mdl
167 progs/m_s_key.mdl
168 progs/missile.mdl
169 progs/ogre.mdl
170 progs/oldone.mdl
171 progs/player.mdl
172 progs/quaddama.mdl
173 progs/s_bubble.spr
174 progs/s_explod.spr
175 progs/s_light.mdl
176 progs/s_light.spr
177 progs/s_spike.mdl
178 progs/shalrath.mdl
179 progs/shambler.mdl
180 progs/soldier.mdl
181 progs/spike.mdl
182 progs/suit.mdl
183 progs/tarbaby.mdl
184 progs/teleport.mdl
185 progs/v_axe.mdl
186 progs/v_light.mdl
187 progs/v_nail.mdl
188 progs/v_nail2.mdl
189 progs/v_rock.mdl
190 progs/v_rock2.mdl
191 progs/v_shot.mdl
192 progs/v_shot2.mdl
193 progs/v_spike.mdl
194 progs/w_g_key.mdl
195 progs/w_s_key.mdl
196 progs/w_spike.mdl
197 progs/wizard.mdl
198 progs/zom_gib.mdl
199 progs/zombie.mdl
200 sound/ambience/buzz1.wav
201 sound/ambience/comp1.wav
202 sound/ambience/drip1.wav
203 sound/ambience/drone6.wav
204 sound/ambience/fire1.wav
205 sound/ambience/fl_hum1.wav
206 sound/ambience/hum1.wav
207 sound/ambience/suck1.wav
208 sound/ambience/swamp1.wav
209 sound/ambience/swamp2.wav
210 sound/ambience/thunder1.wav
211 sound/ambience/water1.wav
212 sound/ambience/wind2.wav
213 sound/ambience/windfly.wav
214 sound/blob/death1.wav
215 sound/blob/hit1.wav
216 sound/blob/land1.wav
217 sound/blob/sight1.wav
218 sound/boss1/death.wav
219 sound/boss1/out1.wav
220 sound/boss1/pain.wav
221 sound/boss1/sight1.wav
222 sound/boss1/throw.wav
223 sound/boss2/death.wav
224 sound/boss2/idle.wav
225 sound/boss2/pop2.wav
226 sound/boss2/sight.wav
227 sound/buttons/airbut1.wav
228 sound/buttons/switch02.wav
229 sound/buttons/switch04.wav
230 sound/buttons/switch21.wav
231 sound/demon/ddeath.wav
232 sound/demon/dhit2.wav
233 sound/demon/djump.wav
234 sound/demon/dland2.wav
235 sound/demon/dpain1.wav
236 sound/demon/idle1.wav
237 sound/demon/sight2.wav
238 sound/dog/dattack1.wav
239 sound/dog/ddeath.wav
240 sound/dog/dpain1.wav
241 sound/dog/dsight.wav
242 sound/dog/idle.wav
243 sound/doors/airdoor1.wav
244 sound/doors/airdoor2.wav
245 sound/doors/basesec1.wav
246 sound/doors/basesec2.wav
247 sound/doors/basetry.wav
248 sound/doors/baseuse.wav
249 sound/doors/ddoor1.wav
250 sound/doors/ddoor2.wav
251 sound/doors/doormv1.wav
252 sound/doors/drclos4.wav
253 sound/doors/hydro1.wav
254 sound/doors/hydro2.wav
255 sound/doors/latch2.wav
256 sound/doors/medtry.wav
257 sound/doors/meduse.wav
258 sound/doors/runetry.wav
259 sound/doors/runeuse.wav
260 sound/doors/stndr1.wav
261 sound/doors/stndr2.wav
262 sound/doors/winch2.wav
263 sound/enforcer/death1.wav
264 sound/enforcer/enfire.wav
265 sound/enforcer/enfstop.wav
266 sound/enforcer/idle1.wav
267 sound/enforcer/pain1.wav
268 sound/enforcer/pain2.wav
269 sound/enforcer/sight1.wav
270 sound/enforcer/sight2.wav
271 sound/enforcer/sight3.wav
272 sound/enforcer/sight4.wav
273 sound/fish/bite.wav
274 sound/fish/death.wav
275 sound/fish/idle.wav
276 sound/hknight/attack1.wav
277 sound/hknight/death1.wav
278 sound/hknight/grunt.wav
279 sound/hknight/hit.wav
280 sound/hknight/idle.wav
281 sound/hknight/pain1.wav
282 sound/hknight/sight1.wav
283 sound/hknight/slash1.wav
284 sound/items/armor1.wav
285 sound/items/damage.wav
286 sound/items/damage2.wav
287 sound/items/damage3.wav
288 sound/items/health1.wav
289 sound/items/inv1.wav
290 sound/items/inv2.wav
291 sound/items/inv3.wav
292 sound/items/itembk2.wav
293 sound/items/protect.wav
294 sound/items/protect2.wav
295 sound/items/protect3.wav
296 sound/items/r_item1.wav
297 sound/items/r_item2.wav
298 sound/items/suit.wav
299 sound/items/suit2.wav
300 sound/knight/idle.wav
301 sound/knight/kdeath.wav
302 sound/knight/khurt.wav
303 sound/knight/ksight.wav
304 sound/knight/sword1.wav
305 sound/knight/sword2.wav
306 sound/misc/basekey.wav
307 sound/misc/h2ohit1.wav
308 sound/misc/medkey.wav
309 sound/misc/menu1.wav
310 sound/misc/menu2.wav
311 sound/misc/menu3.wav
312 sound/misc/null.wav
313 sound/misc/outwater.wav
314 sound/misc/power.wav
315 sound/misc/r_tele1.wav
316 sound/misc/r_tele2.wav
317 sound/misc/r_tele3.wav
318 sound/misc/r_tele4.wav
319 sound/misc/r_tele5.wav
320 sound/misc/runekey.wav
321 sound/misc/secret.wav
322 sound/misc/talk.wav
323 sound/misc/trigger1.wav
324 sound/misc/water1.wav
325 sound/misc/water2.wav
326 sound/ogre/ogdrag.wav
327 sound/ogre/ogdth.wav
328 sound/ogre/ogidle.wav
329 sound/ogre/ogidle2.wav
330 sound/ogre/ogpain1.wav
331 sound/ogre/ogsawatk.wav
332 sound/ogre/ogwake.wav
333 sound/plats/medplat1.wav
334 sound/plats/medplat2.wav
335 sound/plats/plat1.wav
336 sound/plats/plat2.wav
337 sound/plats/train1.wav
338 sound/plats/train2.wav
339 sound/player/axhit1.wav
340 sound/player/axhit2.wav
341 sound/player/death1.wav
342 sound/player/death2.wav
343 sound/player/death3.wav
344 sound/player/death4.wav
345 sound/player/death5.wav
346 sound/player/drown1.wav
347 sound/player/drown2.wav
348 sound/player/gasp1.wav
349 sound/player/gasp2.wav
350 sound/player/gib.wav
351 sound/player/h2odeath.wav
352 sound/player/h2ojump.wav
353 sound/player/inh2o.wav
354 sound/player/inlava.wav
355 sound/player/land.wav
356 sound/player/land2.wav
357 sound/player/lburn1.wav
358 sound/player/lburn2.wav
359 sound/player/pain1.wav
360 sound/player/pain2.wav
361 sound/player/pain3.wav
362 sound/player/pain4.wav
363 sound/player/pain5.wav
364 sound/player/pain6.wav
365 sound/player/plyrjmp8.wav
366 sound/player/slimbrn2.wav
367 sound/player/teledth1.wav
368 sound/player/tornoff2.wav
369 sound/player/udeath.wav
370 sound/shalrath/attack.wav
371 sound/shalrath/attack2.wav
372 sound/shalrath/death.wav
373 sound/shalrath/idle.wav
374 sound/shalrath/pain.wav
375 sound/shalrath/sight.wav
376 sound/shambler/melee1.wav
377 sound/shambler/melee2.wav
378 sound/shambler/sattck1.wav
379 sound/shambler/sboom.wav
380 sound/shambler/sdeath.wav
381 sound/shambler/shurt2.wav
382 sound/shambler/sidle.wav
383 sound/shambler/smack.wav
384 sound/shambler/ssight.wav
385 sound/soldier/death1.wav
386 sound/soldier/idle.wav
387 sound/soldier/pain1.wav
388 sound/soldier/pain2.wav
389 sound/soldier/sattck1.wav
390 sound/soldier/sight1.wav
391 sound/weapons/ax1.wav
392 sound/weapons/bounce.wav
393 sound/weapons/grenade.wav
394 sound/weapons/guncock.wav
395 sound/weapons/lhit.wav
396 sound/weapons/lock4.wav
397 sound/weapons/lstart.wav
398 sound/weapons/pkup.wav
399 sound/weapons/r_exp3.wav
400 sound/weapons/ric1.wav
401 sound/weapons/ric2.wav
402 sound/weapons/ric3.wav
403 sound/weapons/rocket1i.wav
404 sound/weapons/sgun1.wav
405 sound/weapons/shotgn2.wav
406 sound/weapons/spike2.wav
407 sound/weapons/tink1.wav
408 sound/wizard/hit.wav
409 sound/wizard/wattack.wav
410 sound/wizard/wdeath.wav
411 sound/wizard/widle1.wav
412 sound/wizard/widle2.wav
413 sound/wizard/wpain.wav
414 sound/wizard/wsight.wav
415 sound/zombie/idle_w2.wav
416 sound/zombie/z_fall.wav
417 sound/zombie/z_gib.wav
418 sound/zombie/z_hit.wav
419 sound/zombie/z_idle.wav
420 sound/zombie/z_idle1.wav
421 sound/zombie/z_miss.wav
422 sound/zombie/z_pain.wav
423 sound/zombie/z_pain1.wav
424 sound/zombie/z_shot1.wav
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/fluffrabbit/paklist

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/fluffrabbit/paklist

Clone this repository using git:
git clone git://git.rocketgit.com/user/fluffrabbit/paklist

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main