Game client codebase including: - CharacterActionControl: Character and creature management - GlobalScript: Network, items, skills, quests, utilities - RYLClient: Main client application with GUI and event handlers - Engine: 3D rendering engine (RYLGL) - MemoryManager: Custom memory allocation - Library: Third-party dependencies (DirectX, boost, etc.) - Tools: Development utilities 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
108 lines
3.4 KiB
C++
108 lines
3.4 KiB
C++
////////////////////////////////////////////////////////////////////////////////
|
|
// $Workfile: ZipCompatibility.h $
|
|
// $Archive: /ZipArchive/ZipCompatibility.h $
|
|
// $Date: 21-01-04 19:01 $ $Author: Tadeusz Dracz $
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// This source file is part of the ZipArchive library source distribution and
|
|
// is Copyright 2000-2004 by Tadeusz Dracz (http://www.artpol-software.com/)
|
|
//
|
|
// This program is free software; you can redistribute it and/or
|
|
// modify it under the terms of the GNU General Public License
|
|
// as published by the Free Software Foundation; either version 2
|
|
// of the License, or (at your option) any later version.
|
|
//
|
|
// For the licensing details see the file License.txt
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
/**
|
|
* \file ZipCompatibility.h
|
|
* ZipCompatibility namespace declaration.
|
|
*
|
|
*/
|
|
|
|
#if !defined(AFX_ZIPCOMPATIBILITY_H__8E8B9904_84C7_4B22_B364_A10ED0E7DAD6__INCLUDED_)
|
|
#define AFX_ZIPCOMPATIBILITY_H__8E8B9904_84C7_4B22_B364_A10ED0E7DAD6__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
class CZipAutoBuffer;
|
|
class CZipFileHeader;
|
|
|
|
/**
|
|
Functions that provides the proper conversion of attributes
|
|
and filename strings between different system platforms.
|
|
*/
|
|
namespace ZipCompatibility
|
|
{
|
|
/**
|
|
The codes of the compatibility of the file attribute information.
|
|
\see CZipArchive::GetSystemCompatibility
|
|
\see CZipFileHeader::GetSystemCompatibility
|
|
\see ZipPlatform::GetSystemID
|
|
*/
|
|
enum ZipPlatforms
|
|
{
|
|
zcDosFat, ///< MS-DOS and OS/2 (FAT / VFAT / FAT32 file systems)
|
|
zcAmiga, ///< Amiga
|
|
zcVaxVms, ///< VAX/VMS
|
|
zcUnix, ///< Unix / Linux
|
|
zcVmCms, ///< VM/CMS
|
|
zcAtari, ///< Atari ST
|
|
zcOs2Hpfs, ///< OS/2 H.P.F.S.
|
|
zcMacintosh, ///< Macintosh
|
|
zcZsystem, ///< Z-System
|
|
zcCpm, ///< CP/M
|
|
zcNtfs ///< Windows NTFS
|
|
};
|
|
|
|
/**
|
|
Check whether the system with the given code is supported by the ZipArchive library.
|
|
\param iCode
|
|
\link #ZipPlatforms the system code \endlink
|
|
\return \c true if supported
|
|
*/
|
|
bool IsPlatformSupported(int iCode);
|
|
|
|
|
|
/**
|
|
Convert the system attributes between different system platforms.
|
|
It calls one of the converting functions.
|
|
\param uAttr
|
|
attributes to convert
|
|
\param iFromSystem
|
|
system code to convert from
|
|
\param iToSystem
|
|
system code to convert to
|
|
\return the converted attributes
|
|
\note Throws exceptions.
|
|
\see ZipPlatforms
|
|
*/
|
|
DWORD ConvertToSystem(DWORD uAttr, int iFromSystem, int iToSystem);
|
|
|
|
/**
|
|
Convert the filename of the file inside archive.
|
|
This conversion may not change the size of the filename, otherwise an
|
|
error may occur in #ReadLocal while comparing the filename sizes.
|
|
\param header
|
|
the file header to have the filename converted
|
|
\param bFromZip
|
|
if \c true convert the path from the from it is stored in the archive
|
|
to the current system compatible form; otherwise vice-versa.
|
|
\see CZipCentralDir::ConvertFileName
|
|
*/ void FileNameUpdate(CZipFileHeader& header, bool bFromZip);
|
|
|
|
/**
|
|
Change the slash to backslash or vice-versa in \e buffer.
|
|
\param buffer
|
|
\param bReplaceSlash
|
|
if \c true, change slash to backslash
|
|
*/
|
|
void SlashBackslashChg(CZipAutoBuffer& buffer, bool bReplaceSlash);
|
|
|
|
};
|
|
|
|
#endif // !defined(AFX_ZIPCOMPATIBILITY_H__8E8B9904_84C7_4B22_B364_A10ED0E7DAD6__INCLUDED_)
|