Mandingo, the authorPack Builder© 1.03 Mandingo, the author

Click on image to download Pack Builder©

Programmed by Mandingo

E' in opera la compilazione di un file di help, sebbene la semplicita' e l'ottima interfaccia non lo rendano affatto utile.

Opss, corcazzo, ho visto l'interfaccia e fa caca'.

 

Ecco una simpatica utility (o inutility a seconda dei punti di vista) che permette di comprimere un numero arbitrario di files in un unico packfile compresso.
L'unica compressione per ora supportata è la LRZW, in alternativa i files possono essere memorizzati "in chiaro".

Il programma provvederà a creare un file .DAT ed un .H con lo stesso nome. Quest'ultimo può essere utile ai programmatori che vogliono utilizzare le #defines in esso contenute per accedere agli elementi tramite le funzioni di decompressione.
Visto che le funzioni che gestiscono l'archivio prevedono una ricerca anche per "nome del file" il suddetto .H non è assolutamente necessario per riaccedere all'archivio (i più arguti avranno notato certamente che si tratta solo di un insieme di indici #definiti).
Per coloro che sono interessati ad usare questa inutility solo come compressore posso suggerire l'uso del WinZip o del WinRar che sono certamente più comodi e semplici da usare. L'unica differenza è che questa è completamente freeware.

Interfaccia:

Il programma presenta una schermata per lo svolgimento delle operazioni, ma visto che la definizione "user-friendly" e' un po'troppo esosa, veniamo ad esplicare i vari comandi:

Tramite il bottone "Open/Create Packfile" si può aprire un packfile esistente o crearne uno nuovo. I suoi elementi verranno mostrati nell'apposita finestrella.

Tramite il bottone "Close and Save Packfile" si salva il packfile su disco e si può iniziare a lavorare con un nuovo archivio.

Il pulsante "Add File" aggiunge un file all'archivio, posizionandolo in fondo. E'possibile specificare più di un file. Il limite in questa operazione è di circa duecento files, in questo caso il baco appartiene a mamma microsoft, e non ci si può fare granche'...
Se si fosse interessati a modificare la posizione di un file all'interno dell'archivio si possono utilizzare, dopo aver selezionato il file desiderato, i due comodi bottoni "Up" e "Dn" che permettono di spostarlo verso l'alto e verso il basso.

Il pulstante "Add String" permette di aggiungere una stringa al packfile. Questa funzione estremamente avanzata(?) permette di scrivere direttamente nel packfile (e quindi non in un file esterno) tutta una serie di informazioni che possono fare comodo. (Ad esempio si può gestire in qualche modo la localizzazione del vostro programma).

Il pulsante "Extract File" permette di estrarre un file dal packfile. Ovviamente serve se avete appena compresso tutti i vostri dati, li avete cancellati dal vostro disco fisso e li volete in qualche modo recuperare.

E'possibile cancellare un file dal packfile semplicemente premendo il tasto Canc. In tal caso non sarà più possibile recuperarlo, quindi fate molta attenzione. (Noooo!! La mia amatissima immagine frutto di un rendering di tre settimane se n'e' andata per sempre! Come ho potuto rispondere "Si" alla domanda "Sei sicuro?")

Ma veniamo a descrivere la lista dei files. Questa listbox tremendamente interattiva mostra tre informazioni essenziali:
1) Il tipo di file è descritto da un'apposita icona. Se il tipo di file non viene riconosciuto (ebbene si, non abbiamo compreso nella lista i vostri amatissimi .XQP) l'icona mostrata sarà una banalissima "ANY".
2) Il nome del file (comrensivo di path originale) viene mostrato accanto.
3) Il tipo di compressione utilizzato
4) La localizzazione
Facendo doppio-click sull'icona del tipo di file sarà possibile cambiarne la tipologia (verrà mostrata una schermata contenente tutte le possibilità), la compressione e la localizzazione.
Facendo doppio-click sul tipo di compressione si cambierà il tipo di compressione (incredibile...)
Facendo doppio-click sulla localizzazione si cambierà... indovinate un po'...

Il programma proporra' una compressione predefinita a seconda del tipo di file (ad esempio non cercherà di comprimere i .JPG, visto che la LZRW non farebbe altro che aggiungere qualche byte alla loro dimensione originale), in ogni caso sarà possibile cambiare questa scelta di default (facendo doppio click sull'icona della tipologia o sul tipo di compressione, come visto sopra).

Le prestazioni del compressore sono decisamente buone, e si arriva anche a dimezzare la dimensione dei dati nel caso di file di testo e similari.

Piccola nota:
Mentre si lavora su un packfile esistente, il programma ne scompatta il contenuto in una cartella di nome TMP. Per questo motivo, quando si apre un packfile esistente, verrà mostrato un path relativo ad essi, e non alla loro posizione "originale". In alcuni casi la suddetta cartella potrebbe non essere chiusa correttamente (il programma la elimina all'uscita). In tal caso la cartella può essere eliminata senza alcun problema.

Nota per i programmatori:
Il packfile supporta la ricerca (e lo scompattamento) per nome o per indice. Il .H serve proprio ad usare delle costanti al posto dei numeri, ma niente vi vieta di utilizzare gli indici, se li conoscete a memoria. L'idea dell'header era nata per permettere, in un eventuale gioco, di comprimere ogni livello in un pack e caricare con un unico header le astronavi, gli highscores, ecc.

Mi sembra di aver specificato praticamente tutto. Per qualsiasi chiarimento non esitate a scriverci a