Blizzard Entertainment:BlizzardCore: Difference between revisions

No edit summary
No edit summary
 
(5 intermediate revisions by the same user not shown)
Line 9: Line 9:


BlizzardCore was/is an internal standard library used by Blizzard. It is believed to have a similar role to [[Blizzard Entertainment:Storm|Storm]], except that its API more fully utilizes C++ features such as references and namespaces.
BlizzardCore was/is an internal standard library used by Blizzard. It is believed to have a similar role to [[Blizzard Entertainment:Storm|Storm]], except that its API more fully utilizes C++ features such as references and namespaces.
At some point, BlizzardCore seems to have taken several responsibilities over from Storm, such as memory allocation (thought it uses the same name as Storm's memory allocation functions) and Mopaq asset compression.


== Features ==
== Features ==


* File: provides a uniform filesystem API across platforms.
* File: provides a uniform filesystem API across platforms.
 
* Mopaq: provides access to [[Blizzard Entertainment:Mopaq|Mopaq]] compressed files.
 
It is believed that BlizzardCore had a more


== Datamining ==
== Datamining ==
Line 44: Line 44:
At the time of 3.3.5a, BlizzardCore's API used the <code>Blizzard</code> namespace. Internal systems were typically placed in a namespace corresponding to the feature, such as <code>System_File, System_SFile</code>
At the time of 3.3.5a, BlizzardCore's API used the <code>Blizzard</code> namespace. Internal systems were typically placed in a namespace corresponding to the feature, such as <code>System_File, System_SFile</code>


What follows is a list of symbols believed to be part of BlizzardCore, obtained from the 4.1.0 client. ''Differences from 3.3.5a are known and confirmed'', so don't assume they are the same version of BlizzardCore.
What follows is a list of symbols believed to be part of BlizzardCore, obtained from the 4.1.0 client.
'''Differences from 3.3.5a are known and confirmed, so don't assume these are the same version of BlizzardCore.'''


<pre>
<pre>
D .objc_class_name_BlizzardCore_URLCache
Blizzard::DistributedTask::~DistributedTask()
D .objc_class_name_BlizzardCoreURLConnectionDelegate
Blizzard::DistributedTaskPool::DistributedTaskPool()
T DecompressOgg(void*, unsigned int, Blizzard::Util::Buffer<4194304ul, unsigned char>*)
Blizzard::DistributedTaskPool::~DistributedTaskPool()
T PurgeCacheFile(Blizzard::Mopaq::HSFILERecord*)
Blizzard::Log::Flush(int)
T GetUniqueBuffers(GLBatch const&, Blizzard::STL::HashSet<GLBuffer*, Blizzard::STL::HashFn<GLBuffer*>, Blizzard::STL::EqualFn<GLBuffer*>, Blizzard::STL::LessFn<GLBuffer*>, std::allocator<GLBuffer*>>*)
Blizzard::Log::Expand(int, char const*, char*, int, bool)
T GetUniqueBuffers(std::vector<GLBatch, std::allocator<GLBatch>> const&, Blizzard::STL::HashSet<GLBuffer*, Blizzard::STL::HashFn<GLBuffer*>, Blizzard::STL::EqualFn<GLBuffer*>, Blizzard::STL::LessFn<GLBuffer*>, std::allocator<GLBuffer*>>*)
Blizzard::Log::Printf(int, char const*, char const*, ...)
T GetUniqueShaders(GLBatch const&, Blizzard::STL::HashSet<GLShader*, Blizzard::STL::HashFn<GLShader*>, Blizzard::STL::EqualFn<GLShader*>, Blizzard::STL::LessFn<GLShader*>, std::allocator<GLShader*>>*)
Blizzard::Log::SetPref(int, int, Blizzard::Log::PrefValue)
T ReleaseDeltaData(Blizzard::Mopaq::MpqHandleRecord*, System_SFile::ArchivePtr&)
Blizzard::URL::DownloadURL(char const*, Blizzard::URL::DownloadCallback*)
T GetFileBlockEntry(Blizzard::Mopaq::HSARCHIVE__*, char const*, Blizzard::Util::Digest<16> const&, unsigned int, Blizzard::Mopaq::HSARCHIVE__**, System_SFile::ARCHIVEREC**, unsigned int*, char*)
Blizzard::URL::DownloadCallback::GetTimeout()
T GetUniqueTextures(GLBatch const&, Blizzard::STL::HashSet<GLTexture*, Blizzard::STL::HashFn<GLTexture*>, Blizzard::STL::EqualFn<GLTexture*>, Blizzard::STL::LessFn<GLTexture*>, std::allocator<GLTexture*>>*)
Blizzard::URL::DownloadCallback::ConnectedOK()
T GetUniqueTextures(std::vector<GLBatch, std::allocator<GLBatch>> const&, Blizzard::STL::HashSet<GLTexture*, Blizzard::STL::HashFn<GLTexture*>, Blizzard::STL::EqualFn<GLTexture*>, Blizzard::STL::LessFn<GLTexture*>, std::allocator<GLTexture*>>*)
Blizzard::URL::DownloadCallback::GetPostData()
T DidReceiveResponse(NSURLResponse*, Blizzard::URL::DownloadCallback*)
Blizzard::URL::DownloadCallback::ShouldBlock()
T InitializeDeltaData(Blizzard::Mopaq::MpqHandleRecord*, System_Mopaq::MpqDeltaMetadata*)
Blizzard::URL::DownloadCallback::GetByteRange()
T GetFilenameWithPrefix(std::basic_string<char, std::char_traits<char>, Blizzard::Memory::AllocSTL<char>>&, char const*, char*, int)
Blizzard::URL::DownloadCallback::GetLastModified(char const*)
T SpellVisualsBlizzardStop(BlizzardObject*)
Blizzard::URL::DownloadCallback::GetContentLength(long long)
T OpenMD5VerificationHandle(System_SFile::BLOCKENTRY*, int, unsigned int, Blizzard::Mopaq::MpqHandleRecord**)
Blizzard::URL::DownloadCallback::GetHTTPStatusCode(int)
T SpellVisualsBlizzardCreate(C3Vector const&, float, int, int, float)
Blizzard::URL::DownloadCallback::GetPostContentType()
T PrepareHandleForMD5Verification(Blizzard::Mopaq::MpqHandleRecord*, int, unsigned int)
Blizzard::URL::DownloadCallback::WantIfModifiedSince()
T SpellVisualsBlizzardSetDeletedCallback(BlizzardObject*, void (*)(BlizzardObject*, void*), void*)
Blizzard::URL::DownloadCallback::Stop()
T SpellVisualsBlizzardSetFrameOfReference(BlizzardObject*, C44Matrix const*)
Blizzard::URL::DownloadCallback::WantData()
T System_File::IsReadOnly(Blizzard::File::Filesystem*, System_File::Stacked::FileParms*)
Blizzard::URL::DownloadCallback::GetCookie()
T System_File::GetFileInfo(Blizzard::File::Filesystem*, System_File::Stacked::FileParms*)
Blizzard::URL::DownloadCallback::~DownloadCallback()
T System_File::GetFreeSpace(Blizzard::File::Filesystem*, System_File::Stacked::FileParms*)
Blizzard::URL::DownloadCallback::~DownloadCallback()
T System_File::GetRootChars(Blizzard::File::Filesystem*, System_File::Stacked::FileParms*)
Blizzard::File::SimpleGlob(char const*, char const*)
T System_File::SetCacheMode(Blizzard::File::Filesystem*, System_File::Stacked::FileParms*)
Blizzard::File::GetFileInfo(char const*, Blizzard::File::FileInfo*)
T System_File::SetAttributes(Blizzard::File::Filesystem*, System_File::Stacked::FileParms*)
Blizzard::File::GetFileInfo(Blizzard::File::StreamRecord*)
T System_File::IsAbsolutePath(Blizzard::File::Filesystem*, System_File::Stacked::FileParms*)
Blizzard::File::GetFileInfo(Blizzard::File::StreamRecord*, Blizzard::File::FileInfo*)
T System_File::ProcessDirFast(Blizzard::File::Filesystem*, System_File::Stacked::FileParms*)
Blizzard::File::IsDirectory(char const*)
T System_File::CreateDirectory(Blizzard::File::Filesystem*, System_File::Stacked::FileParms*)
Blizzard::File::GetFreeSpace(char const*)
T System_File::RemoveDirectory(Blizzard::File::Filesystem*, System_File::Stacked::FileParms*)
Blizzard::File::SetLastError(int)
T System_File::MakeAbsolutePath(Blizzard::File::Filesystem*, System_File::Stacked::FileParms*)
Blizzard::File::SetAttributes(char const*, int)
T System_File::GetWorkingDirectory(Blizzard::File::Filesystem*, System_File::Stacked::FileParms*)
Blizzard::File::ProcessDirFast(char const*, void*, bool (*)(Blizzard::File::ProcessDirParms const&), bool)
T System_File::SetWorkingDirectory(Blizzard::File::Filesystem*, System_File::Stacked::FileParms*)
Blizzard::File::CreateDirectory(char const*, bool)
T System_File::Copy(Blizzard::File::Filesystem*, System_File::Stacked::FileParms*)
Blizzard::File::RemoveDirectory(char const*)
T System_File::Move(Blizzard::File::Filesystem*, System_File::Stacked::FileParms*)
Blizzard::File::MakeAbsolutePath(char const*, char*, int, bool)
T System_File:
Blizzard::File::GetLastErrorStack()
Blizzard::File::SetLastErrorStack(Blizzard::Debug::ErrorStackRecord*)
Blizzard::File::AddToLastErrorStack(int, char const*, int)
Blizzard::File::GetWorkingDirectory(char*, int)
Blizzard::File::SetWorkingDirectory(char const*)
Blizzard::File::RemoveDirectoryAndContents(char const*, bool)
Blizzard::File::Copy(char const*, char const*, bool)
Blizzard::File::Move(char const*, char const*)
Blizzard::File::Open(char const*, int, Blizzard::File::StreamRecord*&)
Blizzard::File::Read(Blizzard::File::StreamRecord*, void*, int*)
Blizzard::File::Read(Blizzard::File::StreamRecord*, void*, long long, int*, int)
Blizzard::File::Close(Blizzard::File::StreamRecord*)
Blizzard::File::Write(Blizzard::File::StreamRecord*, void const*, int)
Blizzard::File::Write(Blizzard::File::StreamRecord*, void const*, int*)
Blizzard::File::Delete(char const*)
Blizzard::File::Exists(char const*)
Blizzard::File::IsFile(char const*)
Blizzard::Jobs::RefCounted<Blizzard::Jobs::Job>::~RefCounted()
Blizzard::Jobs::RefCounted<Blizzard::Jobs::Job>::~RefCounted()
Blizzard::Jobs::WorkerPool::RunOnThread(unsigned int (*)(void*), void*)
Blizzard::Jobs::WorkerPool::GetCompletedJob()
Blizzard::Jobs::WorkerPool::Pump()
Blizzard::Jobs::WorkerPool::RunJob(Blizzard::Jobs::RefPtr<Blizzard::Jobs::Job>)
Blizzard::Jobs::WorkerPool::QueueJob(Blizzard::Jobs:
</pre>
</pre>