Bundle libOpenMPT as a dynamic framework, which should be safe once again, now that there is only one version to bundle. Also, now it is using the versions of libvorbisfile and libmpg123 that are bundled with the player, instead of compiling minimp3 and stbvorbis. Signed-off-by: Christopher Snowhill <kode54@gmail.com>
45 lines
1.1 KiB
C++
45 lines
1.1 KiB
C++
/*
|
|
* Container.h
|
|
* -----------
|
|
* Purpose: General interface for MDO container and/or packers.
|
|
* Notes : (currently none)
|
|
* Authors: OpenMPT Devs
|
|
* The OpenMPT source code is released under the BSD license. Read LICENSE for more details.
|
|
*/
|
|
|
|
|
|
#pragma once
|
|
|
|
#include "openmpt/all/BuildSettings.hpp"
|
|
|
|
#include "../common/FileReader.h"
|
|
|
|
#include <vector>
|
|
|
|
OPENMPT_NAMESPACE_BEGIN
|
|
|
|
|
|
struct ContainerItem
|
|
{
|
|
mpt::ustring name;
|
|
FileReader file;
|
|
std::unique_ptr<std::vector<char> > data_cache; // may be empty
|
|
};
|
|
|
|
|
|
enum ContainerLoadingFlags
|
|
{
|
|
ContainerOnlyVerifyHeader = 0x00,
|
|
ContainerUnwrapData = 0x01,
|
|
};
|
|
|
|
|
|
#if !defined(MPT_WITH_ANCIENT)
|
|
bool UnpackXPK(std::vector<ContainerItem> &containerItems, FileReader &file, ContainerLoadingFlags loadFlags);
|
|
bool UnpackPP20(std::vector<ContainerItem> &containerItems, FileReader &file, ContainerLoadingFlags loadFlags);
|
|
bool UnpackMMCMP(std::vector<ContainerItem> &containerItems, FileReader &file, ContainerLoadingFlags loadFlags);
|
|
#endif // !MPT_WITH_ANCIENT
|
|
bool UnpackUMX(std::vector<ContainerItem> &containerItems, FileReader &file, ContainerLoadingFlags loadFlags);
|
|
|
|
|
|
OPENMPT_NAMESPACE_END
|