Add overlay extraction for multi-expansion asset deduplication

Extracts each expansion's assets as a CRC-compared overlay against a
base manifest, storing only files that differ. Auto-detects overlay mode
when a base manifest already exists. Adds --as-overlay, --full-base
flags and manifest merge for partial extractions.
This commit is contained in:
Kelsi 2026-02-14 03:09:17 -08:00
parent 0b5069ebd4
commit b01b198150
37 changed files with 139303 additions and 73847 deletions

View file

@ -377,6 +377,15 @@
376,0,0,0,0,0,0,0,0
377,0,0,0,1053609165,1056964608,1065353216,1061158912,1065353216
378,0,0,0,1065353216,1056964608,1065353216,1061158912,1065353216
379,1,0,0,1048576000,1056964608,1065353216,1061158912,1065353216
380,0,0,0,1065353216,1056964608,1065353216,1061158912,1065353216
381,1,0,0,1048576000,1056964608,1065353216,1061158912,0
382,0,0,0,1060320051,1056964608,1065353216,1061158912,1065353216
383,0,0,0,1065353216,1056964608,1065353216,1061158912,1065353216
384,0,2,0,1053609165,1056964608,1065353216,1061158912,1065353216
385,0,0,0,1065353216,1056964608,1065353216,1061158912,1065353216
386,0,0,0,1058642330,1056964608,1065353216,1061158912,1065353216
387,0,0,0,1065353216,1056964608,1065353216,1061158912,1065353216
388,0,0,0,1061158912,1056964608,1065353216,1061158912,1065353216
389,0,0,0,1061158912,1056964608,1065353216,1061158912,1065353216
390,0,0,0,1061158912,1056964608,1065353216,1061158912,1065353216
@ -384,6 +393,17 @@
392,1,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
393,0,0,0,1053609165,1056964608,1065353216,1061158912,1065353216
394,0,0,0,1053609165,1056964608,1065353216,1061158912,1065353216
395,1,0,0,1048576000,1056964608,1065353216,1061158912,1065353216
396,1,0,0,1048576000,1055286886,1065353216,1061158912,1056964608
397,0,0,0,1061158912,1056964608,1065353216,1061158912,1065353216
398,0,0,0,1053609165,1056964608,1065353216,1061158912,1065353216
399,0,0,0,1056964608,1056964608,1065353216,1056964608,1065353216
400,0,0,0,1058642330,1056964608,1065353216,1061158912,1065353216
401,0,0,0,1058642330,1056964608,1065353216,1061158912,1065353216
402,0,1,0,1061158912,1056964608,1065353216,1061158912,1065353216
403,0,1,0,1061158912,1056964608,1065353216,1061158912,1065353216
404,1,5,0,1056964608,1056964608,1065353216,1061158912,1065353216
405,1,0,0,0,1056964608,1065353216,1061158912,1065353216
406,1,0,0,0,1056964608,1065353216,1061158912,1065353216
407,0,0,0,1059481190,1056964608,1065353216,1061158912,1065353216
408,0,0,0,1053609165,1056964608,1065353216,1061158912,1065353216
@ -406,7 +426,27 @@
425,0,0,0,1061158912,1056964608,1065353216,1061158912,1065353216
426,0,0,0,1065353216,1056964608,1065353216,1061158912,1065353216
427,1,0,0,0,1056964608,1065353216,1061158912,1065353216
428,0,0,0,1060320051,1056964608,1065353216,1061158912,1065353216
429,0,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
430,0,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
431,0,0,0,1060320051,1056964608,1065353216,1061158912,1065353216
432,0,0,0,1061158912,1056964608,1065353216,1061158912,1065353216
433,0,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
434,0,0,0,1058642330,1056964608,1065353216,1061158912,1065353216
435,0,0,0,1053609165,1056964608,1065353216,1061158912,1065353216
436,1,0,0,1056964608,1053609165,1065353216,1059481190,1065353216
437,0,0,0,1050253722,1056964608,1065353216,1061158912,1065353216
438,1,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
439,0,0,0,1050253722,1056964608,1065353216,1061158912,1065353216
440,0,0,0,1053609165,1056964608,1065353216,1061158912,1065353216
441,0,0,0,1053609165,1056964608,1065353216,1061158912,1065353216
442,1,0,0,1048576000,1056964608,1065353216,1061158912,1065353216
443,0,0,0,1058642330,1056964608,1065353216,1061158912,1065353216
444,0,0,0,1058642330,1056964608,1065353216,1061158912,1065353216
445,0,7,0,1053609165,1056964608,1065353216,1061158912,1065353216
446,0,7,0,1065353216,1056964608,1065353216,1061158912,1065353216
447,0,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
448,0,0,0,1061158912,1056964608,1065353216,1061158912,1065353216
449,0,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
450,0,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
451,0,0,0,1053609165,1056964608,1065353216,1061158912,1065353216
@ -417,6 +457,39 @@
456,0,0,0,1063675494,1056964608,1065353216,1061158912,1065353216
457,0,0,0,1058642330,1056964608,1065353216,1061158912,1065353216
458,0,0,0,1063675494,1056964608,1065353216,1061158912,1065353216
459,1,0,0,1048576000,1056964608,1065353216,1061158912,1065353216
460,0,0,0,1048576000,1056964608,1065353216,1055286886,1065353216
461,0,0,0,1053609165,1056964608,1065353216,1061158912,1065353216
462,0,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
463,0,0,0,1058642330,1056964608,1065353216,1061158912,1065353216
464,0,0,0,1062836634,1056964608,1065353216,1056964608,1065353216
465,0,0,0,1062836634,1056964608,1065353216,1056964608,1065353216
466,0,0,0,1048576000,1056964608,1065353216,1061158912,1065353216
467,1,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
468,1,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
469,0,0,0,1062836634,1056964608,1065353216,1061158912,1065353216
470,0,0,0,1061158912,1056964608,1065353216,1061158912,1065353216
471,0,0,0,1065353216,1056964608,1065353216,1061158912,1065353216
472,1,0,0,1062836634,1056964608,1065353216,1061158912,1065353216
473,0,0,0,1058642330,1056964608,1065353216,1061158912,1065353216
474,1,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
475,0,0,0,1062836634,1056964608,1065353216,1061158912,1065353216
476,0,0,0,1065353216,1056964608,1065353216,1061158912,1065353216
477,1,0,0,1050253722,1056964608,1065353216,1061158912,1065353216
478,0,0,0,1058642330,1056964608,1065353216,1061158912,1065353216
479,0,0,0,1065353216,1056964608,1065353216,1061158912,1065353216
480,0,0,0,1065353216,1056964608,1065353216,1061158912,1065353216
481,0,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
482,0,0,0,1059481190,1056964608,1065353216,1061158912,1065353216
483,1,0,0,1062836634,1056964608,1065353216,1061158912,1065353216
484,1,0,0,1058642330,1056964608,1065353216,1061158912,1065353216
485,1,0,0,1045220557,1056964608,1065353216,1061158912,1065353216
486,1,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
487,1,0,0,1056964608,1053609165,1065353216,1059481190,1065353216
488,1,0,0,1056964608,1053609165,1065353216,1059481190,1065353216
489,1,0,0,1056964608,1056964608,1065353216,1059481190,1065353216
490,0,0,0,1048576000,1056964608,1065353216,1061158912,1065353216
491,1,0,0,1048576000,1056964608,1065353216,1061158912,1056964608
492,0,0,0,1065353216,1056964608,1065353216,1061158912,1065353216
493,0,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
494,0,0,0,1062836634,1056964608,1065353216,1061158912,1065353216
@ -425,3 +498,32 @@
497,1,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
498,1,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
499,0,0,0,1062836634,1056964608,1065353216,1061158912,1065353216
500,1,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
501,1,0,0,1048576000,1055286886,1065353216,1061158912,1056964608
502,0,0,0,1048576000,1056964608,1065353216,1061158912,1065353216
503,1,0,0,1048576000,1056964608,1065353216,1061158912,1065353216
504,1,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
505,1,0,0,1056964608,1053609165,1065353216,1059481190,1065353216
506,0,0,0,1061158912,1051931443,1065353216,1061158912,1065353216
507,0,7,0,1053609165,1056964608,1065353216,1061158912,1065353216
508,0,7,0,1053609165,1056964608,1065353216,1061158912,1065353216
509,0,0,0,1065353216,1056964608,1065353216,1061158912,1065353216
510,1,0,0,1048576000,1055286886,1065353216,1061158912,1056964608
511,0,0,0,1053609165,1056964608,1065353216,1061158912,1065353216
512,0,7,0,1053609165,1056964608,1065353216,1061158912,1065353216
513,0,0,0,1062836634,1056964608,1065353216,1061158912,1065353216
514,0,0,0,1061158912,1056964608,1065353216,1061158912,1065353216
515,0,0,0,1061158912,1056964608,1065353216,1061158912,1065353216
516,0,0,0,1061158912,1056964608,1065353216,1061158912,1065353216
517,1,0,0,1048576000,1055286886,1065353216,1061158912,1056964608
518,0,0,0,1065353216,1056964608,1065353216,1061158912,1065353216
519,0,6,0,1053609165,1056964608,1065353216,1061158912,1065353216
521,0,3,0,1061997773,1056964608,1065353216,1061158912,1065353216
520,0,6,0,1065353216,1056964608,1065353216,1061158912,1065353216
522,0,2,0,1053609165,1056964608,1065353216,1061158912,1065353216
523,0,2,0,1065353216,1056964608,1065353216,1061158912,1065353216
524,0,0,0,1058642330,1056964608,1065353216,1061158912,1065353216
525,0,0,0,1065353216,1056964608,1065353216,1061158912,1065353216
526,0,0,0,1058642330,1056964608,1065353216,1061158912,1065353216
527,0,0,0,1058642330,1056964608,1065353216,1061158912,1065353216
528,0,0,0,1058642330,1056964608,1065353216,1061158912,1065353216

1 # fields=9
377 376,0,0,0,0,0,0,0,0
378 377,0,0,0,1053609165,1056964608,1065353216,1061158912,1065353216
379 378,0,0,0,1065353216,1056964608,1065353216,1061158912,1065353216
380 379,1,0,0,1048576000,1056964608,1065353216,1061158912,1065353216
381 380,0,0,0,1065353216,1056964608,1065353216,1061158912,1065353216
382 381,1,0,0,1048576000,1056964608,1065353216,1061158912,0
383 382,0,0,0,1060320051,1056964608,1065353216,1061158912,1065353216
384 383,0,0,0,1065353216,1056964608,1065353216,1061158912,1065353216
385 384,0,2,0,1053609165,1056964608,1065353216,1061158912,1065353216
386 385,0,0,0,1065353216,1056964608,1065353216,1061158912,1065353216
387 386,0,0,0,1058642330,1056964608,1065353216,1061158912,1065353216
388 387,0,0,0,1065353216,1056964608,1065353216,1061158912,1065353216
389 388,0,0,0,1061158912,1056964608,1065353216,1061158912,1065353216
390 389,0,0,0,1061158912,1056964608,1065353216,1061158912,1065353216
391 390,0,0,0,1061158912,1056964608,1065353216,1061158912,1065353216
393 392,1,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
394 393,0,0,0,1053609165,1056964608,1065353216,1061158912,1065353216
395 394,0,0,0,1053609165,1056964608,1065353216,1061158912,1065353216
396 395,1,0,0,1048576000,1056964608,1065353216,1061158912,1065353216
397 396,1,0,0,1048576000,1055286886,1065353216,1061158912,1056964608
398 397,0,0,0,1061158912,1056964608,1065353216,1061158912,1065353216
399 398,0,0,0,1053609165,1056964608,1065353216,1061158912,1065353216
400 399,0,0,0,1056964608,1056964608,1065353216,1056964608,1065353216
401 400,0,0,0,1058642330,1056964608,1065353216,1061158912,1065353216
402 401,0,0,0,1058642330,1056964608,1065353216,1061158912,1065353216
403 402,0,1,0,1061158912,1056964608,1065353216,1061158912,1065353216
404 403,0,1,0,1061158912,1056964608,1065353216,1061158912,1065353216
405 404,1,5,0,1056964608,1056964608,1065353216,1061158912,1065353216
406 405,1,0,0,0,1056964608,1065353216,1061158912,1065353216
407 406,1,0,0,0,1056964608,1065353216,1061158912,1065353216
408 407,0,0,0,1059481190,1056964608,1065353216,1061158912,1065353216
409 408,0,0,0,1053609165,1056964608,1065353216,1061158912,1065353216
426 425,0,0,0,1061158912,1056964608,1065353216,1061158912,1065353216
427 426,0,0,0,1065353216,1056964608,1065353216,1061158912,1065353216
428 427,1,0,0,0,1056964608,1065353216,1061158912,1065353216
429 428,0,0,0,1060320051,1056964608,1065353216,1061158912,1065353216
430 429,0,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
431 430,0,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
432 431,0,0,0,1060320051,1056964608,1065353216,1061158912,1065353216
433 432,0,0,0,1061158912,1056964608,1065353216,1061158912,1065353216
434 433,0,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
435 434,0,0,0,1058642330,1056964608,1065353216,1061158912,1065353216
436 435,0,0,0,1053609165,1056964608,1065353216,1061158912,1065353216
437 436,1,0,0,1056964608,1053609165,1065353216,1059481190,1065353216
438 437,0,0,0,1050253722,1056964608,1065353216,1061158912,1065353216
439 438,1,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
440 439,0,0,0,1050253722,1056964608,1065353216,1061158912,1065353216
441 440,0,0,0,1053609165,1056964608,1065353216,1061158912,1065353216
442 441,0,0,0,1053609165,1056964608,1065353216,1061158912,1065353216
443 442,1,0,0,1048576000,1056964608,1065353216,1061158912,1065353216
444 443,0,0,0,1058642330,1056964608,1065353216,1061158912,1065353216
445 444,0,0,0,1058642330,1056964608,1065353216,1061158912,1065353216
446 445,0,7,0,1053609165,1056964608,1065353216,1061158912,1065353216
447 446,0,7,0,1065353216,1056964608,1065353216,1061158912,1065353216
448 447,0,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
449 448,0,0,0,1061158912,1056964608,1065353216,1061158912,1065353216
450 449,0,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
451 450,0,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
452 451,0,0,0,1053609165,1056964608,1065353216,1061158912,1065353216
457 456,0,0,0,1063675494,1056964608,1065353216,1061158912,1065353216
458 457,0,0,0,1058642330,1056964608,1065353216,1061158912,1065353216
459 458,0,0,0,1063675494,1056964608,1065353216,1061158912,1065353216
460 459,1,0,0,1048576000,1056964608,1065353216,1061158912,1065353216
461 460,0,0,0,1048576000,1056964608,1065353216,1055286886,1065353216
462 461,0,0,0,1053609165,1056964608,1065353216,1061158912,1065353216
463 462,0,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
464 463,0,0,0,1058642330,1056964608,1065353216,1061158912,1065353216
465 464,0,0,0,1062836634,1056964608,1065353216,1056964608,1065353216
466 465,0,0,0,1062836634,1056964608,1065353216,1056964608,1065353216
467 466,0,0,0,1048576000,1056964608,1065353216,1061158912,1065353216
468 467,1,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
469 468,1,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
470 469,0,0,0,1062836634,1056964608,1065353216,1061158912,1065353216
471 470,0,0,0,1061158912,1056964608,1065353216,1061158912,1065353216
472 471,0,0,0,1065353216,1056964608,1065353216,1061158912,1065353216
473 472,1,0,0,1062836634,1056964608,1065353216,1061158912,1065353216
474 473,0,0,0,1058642330,1056964608,1065353216,1061158912,1065353216
475 474,1,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
476 475,0,0,0,1062836634,1056964608,1065353216,1061158912,1065353216
477 476,0,0,0,1065353216,1056964608,1065353216,1061158912,1065353216
478 477,1,0,0,1050253722,1056964608,1065353216,1061158912,1065353216
479 478,0,0,0,1058642330,1056964608,1065353216,1061158912,1065353216
480 479,0,0,0,1065353216,1056964608,1065353216,1061158912,1065353216
481 480,0,0,0,1065353216,1056964608,1065353216,1061158912,1065353216
482 481,0,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
483 482,0,0,0,1059481190,1056964608,1065353216,1061158912,1065353216
484 483,1,0,0,1062836634,1056964608,1065353216,1061158912,1065353216
485 484,1,0,0,1058642330,1056964608,1065353216,1061158912,1065353216
486 485,1,0,0,1045220557,1056964608,1065353216,1061158912,1065353216
487 486,1,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
488 487,1,0,0,1056964608,1053609165,1065353216,1059481190,1065353216
489 488,1,0,0,1056964608,1053609165,1065353216,1059481190,1065353216
490 489,1,0,0,1056964608,1056964608,1065353216,1059481190,1065353216
491 490,0,0,0,1048576000,1056964608,1065353216,1061158912,1065353216
492 491,1,0,0,1048576000,1056964608,1065353216,1061158912,1056964608
493 492,0,0,0,1065353216,1056964608,1065353216,1061158912,1065353216
494 493,0,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
495 494,0,0,0,1062836634,1056964608,1065353216,1061158912,1065353216
498 497,1,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
499 498,1,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
500 499,0,0,0,1062836634,1056964608,1065353216,1061158912,1065353216
501 500,1,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
502 501,1,0,0,1048576000,1055286886,1065353216,1061158912,1056964608
503 502,0,0,0,1048576000,1056964608,1065353216,1061158912,1065353216
504 503,1,0,0,1048576000,1056964608,1065353216,1061158912,1065353216
505 504,1,0,0,1056964608,1056964608,1065353216,1061158912,1065353216
506 505,1,0,0,1056964608,1053609165,1065353216,1059481190,1065353216
507 506,0,0,0,1061158912,1051931443,1065353216,1061158912,1065353216
508 507,0,7,0,1053609165,1056964608,1065353216,1061158912,1065353216
509 508,0,7,0,1053609165,1056964608,1065353216,1061158912,1065353216
510 509,0,0,0,1065353216,1056964608,1065353216,1061158912,1065353216
511 510,1,0,0,1048576000,1055286886,1065353216,1061158912,1056964608
512 511,0,0,0,1053609165,1056964608,1065353216,1061158912,1065353216
513 512,0,7,0,1053609165,1056964608,1065353216,1061158912,1065353216
514 513,0,0,0,1062836634,1056964608,1065353216,1061158912,1065353216
515 514,0,0,0,1061158912,1056964608,1065353216,1061158912,1065353216
516 515,0,0,0,1061158912,1056964608,1065353216,1061158912,1065353216
517 516,0,0,0,1061158912,1056964608,1065353216,1061158912,1065353216
518 517,1,0,0,1048576000,1055286886,1065353216,1061158912,1056964608
519 518,0,0,0,1065353216,1056964608,1065353216,1061158912,1065353216
520 519,0,6,0,1053609165,1056964608,1065353216,1061158912,1065353216
521 521,0,3,0,1061997773,1056964608,1065353216,1061158912,1065353216
522 520,0,6,0,1065353216,1056964608,1065353216,1061158912,1065353216
523 522,0,2,0,1053609165,1056964608,1065353216,1061158912,1065353216
524 523,0,2,0,1065353216,1056964608,1065353216,1061158912,1065353216
525 524,0,0,0,1058642330,1056964608,1065353216,1061158912,1065353216
526 525,0,0,0,1065353216,1056964608,1065353216,1061158912,1065353216
527 526,0,0,0,1058642330,1056964608,1065353216,1061158912,1065353216
528 527,0,0,0,1058642330,1056964608,1065353216,1061158912,1065353216
529 528,0,0,0,1058642330,1056964608,1065353216,1061158912,1065353216