feat(profile): add more filesystem API stuff

This commit is contained in:
phaneron 2025-03-16 03:25:07 -04:00
parent fb267a5683
commit 3cd843a220
20 changed files with 494 additions and 163 deletions

View file

@ -6,25 +6,39 @@ static import_data_types() {
apply_type(0x00401030, "void __stdcall func(void* ptr)");
apply_type(0x00408070, "void __stdcall func(float* minX, float* maxX, float* minY, float* maxY, float* minZ, float* maxZ)");
apply_type(0x00409670, "void __thiscall func(CGxDevice* this)");
apply_type(0x004271D0, "bool __stdcall func(char* name, Blizzard__File__Info* info)");
apply_type(0x00427250, "Blizzard__File__Info* __stdcall func(Blizzard__File__StreamRecord* file)");
apply_type(0x004271D0, "bool __stdcall func(char* name, Blizzard__File__FileInfo* info)");
apply_type(0x00427250, "Blizzard__File__FileInfo* __stdcall func(Blizzard__File__StreamRecord* file)");
apply_type(0x004272C0, "bool __stdcall func(Blizzard__File__StreamRecord* file, Blizzard__File__FileInfo* info)");
apply_type(0x00427560, "bool __stdcall func(char* src, char* dst)");
apply_type(0x004275B0, "bool __stdcall func(char* src, char* dst, bool overwrite)");
apply_type(0x00427660, "bool __stdcall func(char* name, void* param, Blizzard__File__ProcessDirCallback callback, bool flag)");
apply_type(0x00427720, "bool __stdcall func(Blizzard__File__StreamRecord* file, void* data, int64_t offset, uint32_t* count)");
apply_type(0x00427910, "bool __stdcall func(Blizzard__File__StreamRecord* file, int64_t offset, int32_t whence)");
apply_type(0x004279B0, "bool __stdcall func(Blizzard__File__StreamRecord* file, void *data, uint32_t* count)");
apply_type(0x00427CC0, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)");
apply_type(0x00427D10, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)");
apply_type(0x00428210, "bool __stdcall func(char* name, char* pattern)");
apply_type(0x00428500, "char* __stdcall func(char* str)");
apply_type(0x00428670, "int32_t __stdcall func(char* dst, const char* src, int32_t count)");
apply_type(0x004286C0, "int32_t __stdcall func(char* dst, char* src, int32_t count)");
apply_type(0x00428940, "int32_t __stdcall func(uint8_t* dst, uint32_t dstmaxchars, const uint16_t* src, uint32_t srcmaxchars, uint32_t* dstchars, uint32_t* srcchars)");
apply_type(0x00428B00, "int32_t __stdcall func(uint16_t* dst, uint32_t dstmaxchars, const uint8_t* src, uint32_t srcmaxchars, uint32_t* dstchars, uint32_t* srcchars)");
apply_type(0x00428F00, "Blizzard__Time__Timestamp __stdcall func(uint64_t fileTime)");
apply_type(0x0042A9B0, "void __stdcall func(char* src, char* dst, int32_t count)");
apply_type(0x0042AA00, "void __stdcall func(char* src, char* dst, int32_t count)");
apply_type(0x0042D440, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)");
apply_type(0x0042D620, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)");
apply_type(0x0042E4B0, "void __stdcall func(char* dst, int32_t count, char separator)");
apply_type(0x004325C0, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)");
apply_type(0x00433510, "void __stdcall func(char* a1, int32_t a2, char* a3, char* a4)");
apply_type(0x00433590, "void __stdcall func(uint8_t *buffer, uint32_t buffersize, const char *str)");
apply_type(0x00435580, "void __stdcall func(Blizzard__File__StreamRecord* file)");
apply_type(0x004356B0, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)");
apply_type(0x00435790, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)");
apply_type(0x00435890, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)");
apply_type(0x004359C0, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)");
apply_type(0x0044FA10, "bool __stdcall func(Blizzard__File__ProcessDirParms* dirwalkparms)");
apply_type(0x004549B0, "bool __stdcall func(uint32_t flags, DWORD* sharemode, DWORD* desiredaccess, DWORD* creationdisposition, DWORD* flagsandattributes)");
apply_type(0x00454A50, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)");
apply_type(0x00454AC0, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)");
apply_type(0x00454AE0, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)");
@ -45,6 +59,26 @@ static import_data_types() {
apply_type(0x00455BA0, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)");
apply_type(0x00455CA0, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)");
apply_type(0x00455D20, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)");
apply_type(0x00461B00, "void __stdcall func(HOSFILE fileHandle)");
apply_type(0x00461B10, "int32_t __stdcall func(char* path)");
apply_type(0x00461B30, "int32_t __stdcall func(char* dirName)");
apply_type(0x00461B50, "int32_t __stdcall func(HOSFILE fileHandle, void* buffer, uint32_t bytesToRead, uint32_t* bytesRead)");
apply_type(0x00461B90, "int32_t __stdcall func(HOSFILE fileHandle, void* buffer, uint32_t bytesToWrite, uint32_t* bytesWritten)");
apply_type(0x00461BD0, "void __stdcall func(HOSFILE fileHandle)");
apply_type(0x00461C00, "uint32_t __stdcall func(char* fileName)");
apply_type(0x00461C40, "int32_t __stdcall func(char* fileName, uint32_t attributes)");
apply_type(0x00461C70, "int32_t __stdcall func(char* existingFileName, char* newFileName)");
apply_type(0x00461CA0, "int32_t __stdcall func(char* existingFileName, char* newFileName, int32_t failIfExists)");
apply_type(0x00461CE0, "int32_t __stdcall func(char* fileName)");
apply_type(0x00461D10, "int32_t __stdcall func(char* pathName, int32_t recursive)");
apply_type(0x00461D40, "int32_t __stdcall func(char* pathName)");
apply_type(0x00461D70, "int32_t __stdcall func(char* pathName, uint32_t flags)");
apply_type(0x00461DB0, "int32_t __stdcall func(char* pathName)");
apply_type(0x00461DE0, "int32_t __stdcall func(uint32_t buffersize, char* buffer)");
apply_type(0x00461E10, "bool __stdcall func(Blizzard__File__ProcessDirParms* parms)");
apply_type(0x00461EF0, "Blizzard__File__Mode __stdcall func(uint32_t desiredAcccess, uint8_t shareMode, uint32_t createDisposition)");
apply_type(0x00461F70, "char* __stdcall func()");
apply_type(0x00461FA0, "HOSFILE __stdcall func(char* fileName, uint32_t desiredAccess, uint32_t shareMode, uint32_t createDisposition, uint32_t flagsAndAttributes, uint32_t extendedFileType)");
apply_type(0x0047B6F0, "int32_t __stdcall func(CMDOPT)");
apply_type(0x0047B700, "char* __stdcall func(CMDOPT)");
apply_type(0x0047B720, "int32_t __stdcall func()");
@ -97,6 +131,7 @@ static import_data_types() {
apply_type(0x00681790, "void __stdcall func(uint32_t maxFPSBk)");
apply_type(0x006817C0, "void __stdcall func()");
apply_type(0x006817E0, "int __stdcall func(char* format, ...)");
apply_type(0x00681950, "CGxFormat* __thiscall func(CGxFormat* this)");
apply_type(0x00681A60, "void __stdcall func()");
apply_type(0x00681AB0, "void __stdcall func(uint32_t indexCount, uint16_t* indices)");
apply_type(0x00681B00, "void __stdcall func(CGxBuf* buf, EGxVertexBufferFormat format)");
@ -473,6 +508,7 @@ static import_data_types() {
apply_type(0x009AD000, "void __thiscall func(DayNight__DNGlare* this, char* a1)");
apply_type(0x009E537C, "uint32_t[7]");
apply_type(0x009E5398, "uint8_t[256]");
apply_type(0x009E5630, "Blizzard__File__FileInfo");
apply_type(0x009E9EC8, "uint32_t[7]");
apply_type(0x00A2DDC0, "CGxDevice__vtable");
apply_type(0x00AB90AC, "Blizzard__File__Filesystem*");

View file

@ -8,10 +8,16 @@ static import_functions() {
set_func_cmt(0x004010D0, "CDataStore::IsRead() const", 0);
set_func_cmt(0x004010E0, "CDataStore::Reset()", 0);
set_func_cmt(0x00401130, "CDataStore::Finalize()", 0);
set_func_cmt(0x00401200, "int __cdecl PatchFiles::qsortpatchfiles(char **, char **)", 0);
set_func_cmt(0x004038A0, "CDataStore::~CDataStore()", 0);
set_func_cmt(0x00405A10, "int __cdecl PatchFiles::EnumPatchArchives(OS_FILE_DATA *fileData, PatchOnDemand__Cache *cbParam)", 0);
set_func_cmt(0x00405AB0, "int __thiscall PatchFiles::LoadArchives(PatchFiles *this, const char *localeCode, char a3)", 0);
set_func_cmt(0x00427130, "Blizzard::File::Delete(char const*)", 0);
set_func_cmt(0x00427500, "Blizzard::File::MakeAbsolutePath(char const*, char*, int, bool)", 0);
set_func_cmt(0x00427560, "Blizzard::File::Move(char const*, char const*)", 0);
set_func_cmt(0x00427720, "Blizzard::File::Read(Blizzard::File::StreamRecord*, void*, long long, int*, int)", 0);
set_func_cmt(0x00433510, "Blizzard::String::JoinPath(char*, int, char const*, char const*)", 0);
set_func_cmt(0x0044FA10, "Blizzard::File::RemoveDirectoryAndContents(char const*, bool)::Internal::Callback(Blizzard::File::ProcessDirParms const&)", 0);
set_func_cmt(0x0047ADE0, "CDataStore::GetBufferParams(void const**, unsigned int*, unsigned int*)", 0);
set_func_cmt(0x0047AE10, "CDataStore::DetachBuffer(void**, unsigned int*, unsigned int*)", 0);
set_func_cmt(0x0047AE50, "virtual void __thiscall CDataStore::InternalDestroy(unsigned char * &,unsigned int &,unsigned int &)", 0);
@ -33,6 +39,7 @@ static import_functions() {
set_func_cmt(0x0047B480, "CDataStore::GetString(char*, unsigned int)", 0);
set_func_cmt(0x0047B560, "CDataStore::GetArray(unsigned char*, unsigned int)", 0);
set_func_cmt(0x0047B6B0, "CDataStore::GetDataInSitu(void*&, unsigned int)", 0);
set_func_cmt(0x0047B800, "void __cdecl quicksort(unsigned int, unsigned int, int, int (__cdecl *)(unsigned int, unsigned int, int), int)", 0);
set_func_cmt(0x0047F230, "IEvtSchedulerProcess as an independent function appears to be optimized out", 0);
set_func_cmt(0x004A2780, "_CBackdropGenerator::LoadXML(linkObject*, CStatus*)", 0);
set_func_cmt(0x004A81B0, "FrameScript_GetObjectThis(lua_State*, int)", 0);

View file

@ -8,9 +8,12 @@ static import_symbols() {
set_name(0x004010D0, "CDataStore__IsRead");
set_name(0x004010E0, "CDataStore__Reset");
set_name(0x00401130, "CDataStore__Finalize");
set_name(0x00401200, "PatchFiles__qsortpatchfiles");
set_name(0x00402B20, "SetPaths");
set_name(0x004033B0, "ClientKillTimer");
set_name(0x004038A0, "CDataStore__destructor");
set_name(0x00405A10, "PatchFiles__EnumPatchArchives");
set_name(0x00405AB0, "PatchFiles__LoadArchives");
set_name(0x004067F0, "InitializeGlobal");
set_name(0x00406B70, "DestroyGlobal");
set_name(0x00406C70, "CommonMain");
@ -42,6 +45,7 @@ static import_symbols() {
set_name(0x00424F80, "SFile__Open");
set_name(0x004270F0, "Blizzard__File__Close");
set_name(0x00427130, "Blizzard__File__Delete");
set_name(0x00427170, "Blizzard__File__Exists");
set_name(0x004271D0, "Blizzard__File__GetFileInfo");
set_name(0x00427250, "Blizzard__File__GetFileInfo@2");
set_name(0x004272C0, "Blizzard__File__GetFileInfo@3");
@ -53,22 +57,40 @@ static import_symbols() {
set_name(0x00427560, "Blizzard__File__Move");
set_name(0x004275B0, "Blizzard__File__Copy");
set_name(0x00427600, "Blizzard__File__Open");
set_name(0x00427660, "Blizzard__File__ProcessDirFast");
set_name(0x004276C0, "Blizzard__File__Read");
set_name(0x00427720, "Blizzard__File__Read@2");
set_name(0x00427800, "Blizzard__File__RemoveDirectory");
set_name(0x00427850, "Blizzard__File__SetAttributes");
set_name(0x00427910, "Blizzard__File__SetPos");
set_name(0x00427970, "Blizzard__File__SetWorkingDirectory");
set_name(0x004279B0, "Blizzard__File__Write");
set_name(0x00427C20, "System_File__ToNativeAttributes");
set_name(0x00427C70, "System_File__FromNativeAttributes");
set_name(0x00427CC0, "System_File__ReadP");
set_name(0x00427D10, "System_File__WriteP");
set_name(0x004281D0, "Blizzard__File__IsDirectory");
set_name(0x004281F0, "Blizzard__File__IsFile");
set_name(0x00428210, "Blizzard__File__SimpleGlob");
set_name(0x00428500, "Blizzard__String__FindFilename");
set_name(0x00428640, "Blizzard__String__FirstPathSeparator");
set_name(0x00428670, "Blizzard__String__Copy");
set_name(0x004286C0, "Blizzard__String__Append");
set_name(0x00428940, "Blizzard__Unicode__ConvertUTF16to8");
set_name(0x00428B00, "Blizzard__Unicode__ConvertUTF8to16");
set_name(0x00428F00, "Blizzard__Time__FromFileTime");
set_name(0x0042A9B0, "Blizzard__String__MakeUnivPath");
set_name(0x0042AA00, "Blizzard__String__MakeBackslashPath");
set_name(0x0042CEA0, "Blizzard__File__CreateDirectory");
set_name(0x0042CFB0, "HoistAll");
set_name(0x0042D440, "System_File__Stacked__file_init");
set_name(0x0042D620, "System_File__Close");
set_name(0x0042E420, "Blizzard__String__MakeConsistentPath");
set_name(0x0042E4B0, "Blizzard__File__ForceTrailingSeparator");
set_name(0x0042E630, "Blizzard__String__FindPathSeparatorReverse");
set_name(0x0042E670, "Blizzard__String__Format");
set_name(0x004325C0, "System_File__GetRootChars");
set_name(0x00433510, "Blizzard__String__JoinPath");
set_name(0x00433590, "System_File__FromNativeName");
set_name(0x00433650, "Blizzard__String__QuickNativePath_300__QuickNativePath");
set_name(0x00435580, "System_File__GetFileInfoByFile");
@ -76,8 +98,11 @@ static import_symbols() {
set_name(0x00435790, "System_File__MakeAbsolutePath");
set_name(0x00435890, "System_File__Move");
set_name(0x004359C0, "System_File__Delete");
set_name(0x0044FA10, "Blizzard__File__RemoveDirectoryAndContents__Internal__Callback");
set_name(0x004518C0, "Blizzard__File__RemoveDirectoryAndContents");
set_name(0x00454870, "System_File__read_overlapped");
set_name(0x00454910, "System_File__write_overlapped");
set_name(0x004549B0, "System_File__ToCreateFlags");
set_name(0x00454A50, "System_File__SetWorkingDirectory");
set_name(0x00454AC0, "System_File__Create");
set_name(0x00454AE0, "System_File__GetWorkingDirectory");
@ -102,11 +127,26 @@ static import_symbols() {
set_name(0x00457910, "System_File__write_locked");
set_name(0x00459910, "System_File__detect_io_mode");
set_name(0x00461B00, "OsCloseFile");
set_name(0x00461B10, "OsFileExists");
set_name(0x00461B30, "OsDirectoryExists");
set_name(0x00461B50, "OsReadFile");
set_name(0x00461B90, "OsWriteFile");
set_name(0x00461BD0, "OsGetFileSize");
set_name(0x00461C00, "OsGetFileAttributes");
set_name(0x00461C40, "OsSetFileAttributes");
set_name(0x00461C70, "OsMoveFile");
set_name(0x00461CA0, "OsCopyFile");
set_name(0x00461CE0, "OsDeleteFile");
set_name(0x00461D10, "OsCreateDirectory");
set_name(0x00461D40, "OsRemoveDirectory");
set_name(0x00461D70, "OsRemoveDirectoryRecurse");
set_name(0x00461DB0, "OsSetCurrentDirectory");
set_name(0x00461DE0, "OsGetCurrentDirectory");
set_name(0x00461E10, "OsFileList__Internal__Callback");
set_name(0x00461EF0, "OsCreateFileMode");
set_name(0x00461F70, "OsFileGetDownloadFolder");
set_name(0x00461FA0, "OsCreateFile");
set_name(0x00462000, "OsFileList");
set_name(0x0047ADD0, "nullsub_2");
set_name(0x0047ADE0, "CDataStore__GetBufferParams");
set_name(0x0047AE10, "CDataStore__DetachBuffer");
@ -133,6 +173,7 @@ static import_symbols() {
set_name(0x0047B700, "CmdLineGetString");
set_name(0x0047B720, "CmdLineProcess");
set_name(0x0047B760, "j_nullsub_3");
set_name(0x0047B800, "quicksort");
set_name(0x0047B9E0, "ConvertUTF16toUTF8");
set_name(0x0047BF30, "HandleClose");
set_name(0x0047BF50, "HandleCreate");
@ -2204,6 +2245,7 @@ static import_symbols() {
set_name(0x00681790, "GxSetMaxFPSBk");
set_name(0x006817C0, "GxLogOpen");
set_name(0x006817E0, "GxLog");
set_name(0x00681950, "CGxFormat__CGxFormat");
set_name(0x00681A60, "GxDrawLockedElements");
set_name(0x00681AB0, "GxPrimIndexPtr");
set_name(0x00681B00, "GxPrimVertexPtr");
@ -3015,6 +3057,7 @@ static import_symbols() {
set_name(0x009DE1D0, "nullsub_150");
set_name(0x009E537C, "firstByteMark");
set_name(0x009E5398, "bytesFromUTF8");
set_name(0x009E5630, "s_noinfo");
set_name(0x009E9EC8, "firstByteMark@2");
set_name(0x009F1074, "s_pixelFormatToMipBitsCache");
set_name(0x00A2DDC0, "CGxDevice__vtable");
@ -3287,6 +3330,7 @@ static import_symbols() {
set_name(0x00AF4A28, "g_lightDB");
set_name(0x00B38A5C, "System_File__s_read_init");
set_name(0x00B38A64, "System_File__s_write_init");
set_name(0x00B38A88, "OsFileGetDownloadFolder__s_downloadfolder");
set_name(0x00B417C8, "s_mainThread");
set_name(0x00B417D0, "s_interactiveCount");
set_name(0x00B41850, "s_messageRecycler");