From 6a282e87e44efc10f61ae523bf6ff19c37d8ab76 Mon Sep 17 00:00:00 2001 From: Aleteoryx Date: Sun, 14 Jun 2026 21:53:46 -0400 Subject: [PATCH] extractor --- extract.tcl | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 extract.tcl diff --git a/extract.tcl b/extract.tcl new file mode 100644 index 0000000000000000000000000000000000000000..c3017bd5ed075f94ef7c82805759fa6af799a0ce --- /dev/null +++ b/extract.tcl @@ -0,0 +1,27 @@ +set fp [open CARDPVR.PAC rb] +binary scan [read $fp 0xc] {iii} magic numents hdrlen + +if {$magic != 0x00434150} { + return -code error "unknown magic: $magic" +} else { + puts "magic = $magic, OK" +} +puts "header length: $hdrlen ($numents entries)" + +puts "reading end table..." +set endhdr [read $fp [expr {$numents * 4}]] +binary scan $endhdr "i$numents" endtab +puts $endtab + +file mkdir records + +set pos $hdrlen +foreach endpt $endtab { + set length [expr {$endpt - $pos}] + set data [read $fp $length] + set fp2 [open records/[format %08x $endpt].bin wb] + puts $fp2 $data + close $fp2 + + set pos $endpt +}