#include "C4Include.h"
#include "c4group/C4Group.h"
#include "c4group/C4Components.h"
#include "lib/C4InputValidation.h"
#include <zlib.h>
Go to the source code of this file.
Classes | |
struct | C4Group::P |
Functions | |
void | C4Group_SetProcessCallback (bool(*callback)(const char *, int)) |
void | C4Group_SetSortList (const char **sort_list) |
void | C4Group_SetTempPath (const char *path) |
const char * | C4Group_GetTempPath () |
bool | C4Group_TestIgnore (const char *filename) |
bool | C4Group_IsGroup (const char *filename) |
bool | C4Group_CopyItem (const char *source, const char *target, bool no_sorting, bool reset_attributes) |
bool | C4Group_MoveItem (const char *source, const char *target, bool no_sorting) |
bool | C4Group_DeleteItem (const char *item_name, bool do_recycle) |
bool | C4Group_PackDirectoryTo (const char *filename, const char *to_filename) |
bool | C4Group_PackDirectory (const char *filename) |
bool | C4Group_UnpackDirectory (const char *filename) |
bool | C4Group_ExplodeDirectory (const char *filename) |
bool | C4Group_ReadFile (const char *filename, char **data, size_t *size) |
void | MemScramble (BYTE *buffer, int size) |
bool | C4Group_IsExcluded (const char *filename, const char *exclude_list) |
int | SortRank (const char *element, const char *sort_list) |
Variables | |
const char * | C4CFN_FLS [] |
char | C4Group_TempPath [_MAX_PATH_LEN] = "" |
char | C4Group_Ignore [_MAX_PATH_LEN] ="cvs;CVS;Thumbs.db;.orig;.svn" |
const char ** | C4Group_SortList = nullptr |
bool(* | C4Group_ProcessCallback )(const char *, int) = nullptr |
bool C4Group_CopyItem | ( | const char * | source, |
const char * | target, | ||
bool | no_sorting, | ||
bool | reset_attributes | ||
) |
Definition at line 115 of file C4Group.cpp.
References _MAX_PATH, _MAX_PATH_LEN, C4Group_TempPath, C4Group::Close(), CopyItem(), CreateItem(), DirectorySeparator, EraseItem(), C4Group::Extract(), GetFilename(), GetParentPath(), ItemExists(), ItemIdentical(), MakeTempFilename(), C4Group::Move(), C4Group::Open(), SAppend(), SCopy(), C4Group::SetNoSort(), and SLen().
Referenced by C4Network2Res::Derive(), C4MusicFile::ExtractFile(), C4Network2Res::GetStandalone(), C4Network2Res::OptimizeStandalone(), C4ControlJoinPlayer::PreRec(), C4MessageInput::ProcessCommand(), C4Network2::RetrieveScenario(), C4Player::Save(), C4PlayerList::Save(), C4Console::SaveScenario(), and C4Playback::StreamToRecord().
bool C4Group_DeleteItem | ( | const char * | item_name, |
bool | do_recycle | ||
) |
Definition at line 255 of file C4Group.cpp.
References _MAX_PATH_LEN, C4Group::Close(), C4Group::DeleteEntry(), EraseItem(), EraseItemSafe(), GetFilename(), GetParentPath(), ItemExists(), and C4Group::Open().
Referenced by C4StartupScenSelDlg::DeleteConfirm(), and C4StartupPlrSelDlg::OnDelBtnConfirm().
bool C4Group_ExplodeDirectory | ( | const char * | filename | ) |
Definition at line 470 of file C4Group.cpp.
References C4Group_TestIgnore(), C4Group_UnpackDirectory(), and ForEachFile().
Referenced by C4Group_ApplyUpdate(), and ProcessGroup().
const char* C4Group_GetTempPath | ( | ) |
Definition at line 87 of file C4Group.cpp.
References C4Group_TempPath.
Referenced by C4Surface::SavePNG().
bool C4Group_IsExcluded | ( | const char * | filename, |
const char * | exclude_list | ||
) |
Definition at line 1787 of file C4Group.cpp.
References _MAX_PATH_LEN, GetFilename(), SCharCount(), SCopySegment(), and WildcardMatch().
Referenced by C4Group::Extract().
bool C4Group_IsGroup | ( | const char * | filename | ) |
Definition at line 104 of file C4Group.cpp.
References C4Group::Close(), and C4Group::Open().
Referenced by C4MainMenu::ActivateSavegame(), C4Group_ApplyUpdate(), and C4ScenarioListLoader::Entry::RenameTo().
bool C4Group_MoveItem | ( | const char * | source, |
const char * | target, | ||
bool | no_sorting | ||
) |
Definition at line 182 of file C4Group.cpp.
References _MAX_PATH, _MAX_PATH_LEN, C4Group_TempPath, C4Group::Close(), CreateItem(), C4Group::DeleteEntry(), DirectorySeparator, EraseItem(), C4Group::Extract(), GetFilename(), GetParentPath(), ItemExists(), ItemIdentical(), MakeTempFilename(), C4Group::Move(), MoveItem(), C4Group::Open(), SAppend(), SCopy(), C4Group::SetNoSort(), and SLen().
Referenced by C4ScenarioListLoader::Entry::RenameTo(), and C4Player::Save().
bool C4Group_PackDirectory | ( | const char * | filename | ) |
Definition at line 371 of file C4Group.cpp.
References _MAX_PATH, _MAX_PATH_LEN, C4Group_PackDirectoryTo(), EraseDirectory(), MakeTempFilename(), RenameFile(), and SCopy().
Referenced by C4Network2Res::GetStandalone(), ProcessGroup(), and C4Record::Stop().
bool C4Group_PackDirectoryTo | ( | const char * | filename, |
const char * | to_filename | ||
) |
Definition at line 292 of file C4Group.cpp.
References _MAX_PATH, _MAX_PATH_LEN, C4Group::Add(), C4Group_ProcessCallback, C4Group_SortList, C4Group_TempPath, C4Group_TestIgnore(), C4Group::Close(), DirectoryExists(), EraseFile(), EraseItem(), FileExists(), GetFilename(), MakeTempFilename(), C4Group::Move(), C4Group::Open(), DirectoryIterator::Reset(), SAppend(), SCopy(), and C4Group::SortByList().
Referenced by C4ControlJoinPlayer::C4ControlJoinPlayer(), C4Group_PackDirectory(), C4Network2Res::GetStandalone(), ProcessGroup(), and C4Console::SaveScenario().
bool C4Group_ReadFile | ( | const char * | filename, |
char ** | data, | ||
size_t * | size | ||
) |
Definition at line 491 of file C4Group.cpp.
References _MAX_PATH_LEN, C4Group::AccessEntry(), C4Group::Close(), GetFilename(), GetParentPath(), C4Group::Open(), and C4Group::Read().
Referenced by C4MusicFileSDL::Play().
void C4Group_SetProcessCallback | ( | bool(*)(const char *, int) | callback | ) |
Definition at line 64 of file C4Group.cpp.
References C4Group_ProcessCallback.
Referenced by C4Application::DoInit().
void C4Group_SetSortList | ( | const char ** | sort_list | ) |
Definition at line 69 of file C4Group.cpp.
References C4Group_SortList.
Referenced by C4Application::DoInit(), main(), and ProcessGroup().
void C4Group_SetTempPath | ( | const char * | path | ) |
Definition at line 74 of file C4Group.cpp.
References _MAX_PATH, AppendBackslash(), C4Group_TempPath, and SCopy().
Referenced by C4Application::DoInit().
bool C4Group_TestIgnore | ( | const char * | filename | ) |
Definition at line 92 of file C4Group.cpp.
References C4Group_Ignore, GetFilename(), and SIsModule().
Referenced by C4Group_ExplodeDirectory(), C4Group_PackDirectoryTo(), DirContainsScenarios(), and C4ScenarioListLoader::RegularFolder::DoLoadContents().
bool C4Group_UnpackDirectory | ( | const char * | filename | ) |
Definition at line 401 of file C4Group.cpp.
References _MAX_PATH, _MAX_PATH_LEN, C4Group_ProcessCallback, C4Group::Close(), CreatePath(), DirectoryExists(), EraseItem(), C4Group::Extract(), FileExists(), GetParentPath(), MakeTempFilename(), C4Group::Open(), RenameFile(), and SCopy().
Referenced by C4Group_ExplodeDirectory(), C4UpdatePackage::Execute(), C4Language::Init(), ProcessGroup(), C4Network2::RetrieveScenario(), C4Record::Start(), and C4Playback::StreamToRecord().
void MemScramble | ( | BYTE * | buffer, |
int | size | ||
) |
Definition at line 534 of file C4Group.cpp.
Referenced by C4UpdatePackage::MakeUpdate(), C4Group::OpenAsChild(), and C4Group::Save().
int SortRank | ( | const char * | element, |
const char * | sort_list | ||
) |
Definition at line 2455 of file C4Group.cpp.
References _MAX_FNAME, _MAX_FNAME_LEN, SCharCount(), SCopySegment(), and WildcardMatch().
Referenced by C4Group::Sort().
const char* C4CFN_FLS[] |
Definition at line 32 of file C4Group.cpp.
Referenced by C4Application::DoInit(), and main().
char C4Group_Ignore[_MAX_PATH_LEN] ="cvs;CVS;Thumbs.db;.orig;.svn" |
Definition at line 60 of file C4Group.cpp.
Referenced by C4Group_TestIgnore().
bool(* C4Group_ProcessCallback) (const char *, int) | ( | const char * | , |
int | |||
) | = nullptr |
Definition at line 62 of file C4Group.cpp.
Referenced by C4Group_PackDirectoryTo(), C4Group_SetProcessCallback(), and C4Group_UnpackDirectory().
const char** C4Group_SortList = nullptr |
Definition at line 61 of file C4Group.cpp.
Referenced by C4Group_PackDirectoryTo(), C4Group_SetSortList(), C4Group::Close(), and C4UpdatePackage::MkUp().
char C4Group_TempPath[_MAX_PATH_LEN] = "" |
Definition at line 59 of file C4Group.cpp.
Referenced by C4Group_CopyItem(), C4Group_GetTempPath(), C4Group_MoveItem(), C4Group_PackDirectoryTo(), C4Group_SetTempPath(), C4UpdatePackage::MkUp(), and C4Group::Save().