mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-21 09:44:45 +01:00
--HG-- branch : trunk rename : contrib/libmpq/AUTHORS => dep/libmpq/AUTHORS rename : contrib/libmpq/COPYING => dep/libmpq/COPYING rename : contrib/libmpq/FAQ => dep/libmpq/FAQ rename : contrib/libmpq/Makefile.am => dep/libmpq/Makefile.am rename : contrib/libmpq/NEWS => dep/libmpq/NEWS rename : contrib/libmpq/README => dep/libmpq/README rename : contrib/libmpq/THANKS => dep/libmpq/THANKS rename : contrib/libmpq/TODO => dep/libmpq/TODO rename : contrib/libmpq/autogen.sh => dep/libmpq/autogen.sh rename : contrib/libmpq/bindings/Makefile.am => dep/libmpq/bindings/Makefile.am rename : contrib/libmpq/bindings/d/Makefile.am => dep/libmpq/bindings/d/Makefile.am rename : contrib/libmpq/bindings/d/dsss.conf => dep/libmpq/bindings/d/dsss.conf rename : contrib/libmpq/bindings/d/mpq.d => dep/libmpq/bindings/d/mpq.d rename : contrib/libmpq/bindings/python/Makefile.am => dep/libmpq/bindings/python/Makefile.am rename : contrib/libmpq/bindings/python/mpq-info => dep/libmpq/bindings/python/mpq-info rename : contrib/libmpq/bindings/python/mpq.py => dep/libmpq/bindings/python/mpq.py rename : contrib/libmpq/configure.ac => dep/libmpq/configure.ac rename : contrib/libmpq/debian/changelog => dep/libmpq/debian/changelog rename : contrib/libmpq/debian/compat => dep/libmpq/debian/compat rename : contrib/libmpq/debian/control => dep/libmpq/debian/control rename : contrib/libmpq/debian/copyright => dep/libmpq/debian/copyright rename : contrib/libmpq/debian/libmpq-dev.dirs => dep/libmpq/debian/libmpq-dev.dirs rename : contrib/libmpq/debian/libmpq-dev.install => dep/libmpq/debian/libmpq-dev.install rename : contrib/libmpq/debian/libmpq0.dirs => dep/libmpq/debian/libmpq0.dirs rename : contrib/libmpq/debian/libmpq0.docs => dep/libmpq/debian/libmpq0.docs rename : contrib/libmpq/debian/libmpq0.install => dep/libmpq/debian/libmpq0.install rename : contrib/libmpq/debian/python-mpq.install => dep/libmpq/debian/python-mpq.install rename : contrib/libmpq/debian/rules => dep/libmpq/debian/rules rename : contrib/libmpq/doc/Makefile.am => dep/libmpq/doc/Makefile.am rename : contrib/libmpq/doc/man1/Makefile.am => dep/libmpq/doc/man1/Makefile.am rename : contrib/libmpq/doc/man1/libmpq-config.1 => dep/libmpq/doc/man1/libmpq-config.1 rename : contrib/libmpq/doc/man3/Makefile.am => dep/libmpq/doc/man3/Makefile.am rename : contrib/libmpq/doc/man3/libmpq.3 => dep/libmpq/doc/man3/libmpq.3 rename : contrib/libmpq/doc/man3/libmpq__archive_close.3 => dep/libmpq/doc/man3/libmpq__archive_close.3 rename : contrib/libmpq/doc/man3/libmpq__archive_files.3 => dep/libmpq/doc/man3/libmpq__archive_files.3 rename : contrib/libmpq/doc/man3/libmpq__archive_offset.3 => dep/libmpq/doc/man3/libmpq__archive_offset.3 rename : contrib/libmpq/doc/man3/libmpq__archive_open.3 => dep/libmpq/doc/man3/libmpq__archive_open.3 rename : contrib/libmpq/doc/man3/libmpq__archive_packed_size.3 => dep/libmpq/doc/man3/libmpq__archive_packed_size.3 rename : contrib/libmpq/doc/man3/libmpq__archive_unpacked_size.3 => dep/libmpq/doc/man3/libmpq__archive_unpacked_size.3 rename : contrib/libmpq/doc/man3/libmpq__archive_version.3 => dep/libmpq/doc/man3/libmpq__archive_version.3 rename : contrib/libmpq/doc/man3/libmpq__block_close_offset.3 => dep/libmpq/doc/man3/libmpq__block_close_offset.3 rename : contrib/libmpq/doc/man3/libmpq__block_open_offset.3 => dep/libmpq/doc/man3/libmpq__block_open_offset.3 rename : contrib/libmpq/doc/man3/libmpq__block_read.3 => dep/libmpq/doc/man3/libmpq__block_read.3 rename : contrib/libmpq/doc/man3/libmpq__block_unpacked_size.3 => dep/libmpq/doc/man3/libmpq__block_unpacked_size.3 rename : contrib/libmpq/doc/man3/libmpq__file_blocks.3 => dep/libmpq/doc/man3/libmpq__file_blocks.3 rename : contrib/libmpq/doc/man3/libmpq__file_compressed.3 => dep/libmpq/doc/man3/libmpq__file_compressed.3 rename : contrib/libmpq/doc/man3/libmpq__file_encrypted.3 => dep/libmpq/doc/man3/libmpq__file_encrypted.3 rename : contrib/libmpq/doc/man3/libmpq__file_imploded.3 => dep/libmpq/doc/man3/libmpq__file_imploded.3 rename : contrib/libmpq/doc/man3/libmpq__file_number.3 => dep/libmpq/doc/man3/libmpq__file_number.3 rename : contrib/libmpq/doc/man3/libmpq__file_offset.3 => dep/libmpq/doc/man3/libmpq__file_offset.3 rename : contrib/libmpq/doc/man3/libmpq__file_packed_size.3 => dep/libmpq/doc/man3/libmpq__file_packed_size.3 rename : contrib/libmpq/doc/man3/libmpq__file_read.3 => dep/libmpq/doc/man3/libmpq__file_read.3 rename : contrib/libmpq/doc/man3/libmpq__file_unpacked_size.3 => dep/libmpq/doc/man3/libmpq__file_unpacked_size.3 rename : contrib/libmpq/doc/man3/libmpq__version.3 => dep/libmpq/doc/man3/libmpq__version.3 rename : contrib/libmpq/libmpq-config.in => dep/libmpq/libmpq-config.in rename : contrib/libmpq/libmpq.pc.in => dep/libmpq/libmpq.pc.in rename : contrib/libmpq/libmpq/Makefile.am => dep/libmpq/libmpq/Makefile.am rename : contrib/libmpq/libmpq/common.c => dep/libmpq/libmpq/common.c rename : contrib/libmpq/libmpq/common.h => dep/libmpq/libmpq/common.h rename : contrib/libmpq/libmpq/crypt_buf.h => dep/libmpq/libmpq/crypt_buf.h rename : contrib/libmpq/libmpq/explode.c => dep/libmpq/libmpq/explode.c rename : contrib/libmpq/libmpq/explode.h => dep/libmpq/libmpq/explode.h rename : contrib/libmpq/libmpq/extract.c => dep/libmpq/libmpq/extract.c rename : contrib/libmpq/libmpq/extract.h => dep/libmpq/libmpq/extract.h rename : contrib/libmpq/libmpq/huffman.c => dep/libmpq/libmpq/huffman.c rename : contrib/libmpq/libmpq/huffman.h => dep/libmpq/libmpq/huffman.h rename : contrib/libmpq/libmpq/mpq-internal.h => dep/libmpq/libmpq/mpq-internal.h rename : contrib/libmpq/libmpq/mpq.c => dep/libmpq/libmpq/mpq.c rename : contrib/libmpq/libmpq/mpq.h => dep/libmpq/libmpq/mpq.h rename : contrib/libmpq/libmpq/wave.c => dep/libmpq/libmpq/wave.c rename : contrib/libmpq/libmpq/wave.h => dep/libmpq/libmpq/wave.h rename : contrib/libmpq/tools/Makefile.am => dep/libmpq/tools/Makefile.am rename : contrib/libmpq/tools/crypt_buf_gen.c => dep/libmpq/tools/crypt_buf_gen.c rename : contrib/libmpq/win/VS100/libmpq.vcxproj => dep/libmpq/win/VS100/libmpq.vcxproj rename : contrib/libmpq/win/config.h => dep/libmpq/win/config.h rename : contrib/libmpq/win/libmpq_VC90.sln => dep/libmpq/win/libmpq_VC90.sln rename : contrib/libmpq/win/stdint.h => dep/libmpq/win/stdint.h
69 lines
2.1 KiB
Plaintext
69 lines
2.1 KiB
Plaintext
FAQ - Frequently Asked Questions
|
|
================================
|
|
|
|
Q: What is libmpq?
|
|
A: libmpq is a library for manipulating MoPaQ mpq archives mostly used
|
|
used by Blizzard in their games.
|
|
|
|
Q: What can i do with libmpq?
|
|
A: With libmpq you can write applications which can extract, create
|
|
and manipulate mpq archives.
|
|
|
|
Q: Is it legal?
|
|
A: Yes, i think so. I have no idea why it should not, all informations
|
|
about the fileformat are available.
|
|
|
|
Q: Is there a description of the functions?
|
|
A: Since version 0.4.0 libmpq comes with a API documentation for
|
|
developers. The documentation is written as manual pages.
|
|
|
|
Q: Can i help?
|
|
A: Yes, help is needed, not only with developing, also with testing.
|
|
A good point to start is using a recent SVN version of libmpq and
|
|
trying to use it with every mpq archive you could get :)
|
|
|
|
Q: Can you give a small example to demonstrate the usage?
|
|
A: Of course :) The example below takes first parameter as mpq archive
|
|
and extracts the first file to a buffer.
|
|
|
|
/*
|
|
* Compile with:
|
|
*
|
|
* x86_32:
|
|
*
|
|
* gcc \
|
|
* -D_FILE_OFFSET_BITS=64 \
|
|
* -D_LARGE_FILES=1 \
|
|
* -D_LARGEFILE_SOURCE=1 \
|
|
* mpq-example.c -o mpq-example -lmpq -lz -lbz2 -I/usr/local/include/libmpq
|
|
*
|
|
* x86_64:
|
|
*
|
|
* gcc \
|
|
* -D_LARGE_FILES=1 \
|
|
* mpq-example.c -o mpq-example -lmpq -lz -lbz2 -I/usr/local/include/libmpq
|
|
*/
|
|
|
|
#include <mpq.h>
|
|
#include <stdlib.h>
|
|
#include <limits.h>
|
|
|
|
int main(int argc, char **argv) {
|
|
mpq_archive_s *mpq_archive;
|
|
off_t out_size;
|
|
char *out_buf;
|
|
|
|
/* open the mpq archive given as first parameter. */
|
|
libmpq__archive_open(&mpq_archive, argv[1], -1);
|
|
|
|
/* get size of first file (0) and malloc output buffer. */
|
|
libmpq__file_unpacked_size(mpq_archive, 0, &out_size);
|
|
out_buf = malloc(out_size);
|
|
|
|
/* read, decrypt and unpack file to output buffer. */
|
|
libmpq__file_read(mpq_archive, 0, out_buf, out_size, NULL);
|
|
|
|
/* close the mpq archive. */
|
|
libmpq__archive_close(mpq_archive);
|
|
}
|