int loadExtendedSaveFile(Unit* ptChar, BYTE data[], DWORD maxSize)//WORKS { if (!ptChar || !PCPY || !data) return 0; log_msg("Load extended file\n"); DWORD curSize = 0; if (*(DWORD*)&data[curSize] != FILE_EXTENDED) { log_msg("loadExtendedSaveFile -> bad header\n"); return 9; } curSize += 4; if (*(WORD *)&data[curSize] != FILE_VERSION) { log_msg("loadExtendedSaveFile -> bad file version\n"); return 9; } curSize += 2; curSize += 4; int ret = loadStashList(ptChar, data, maxSize, &curSize, false); TCustomDll* currentDll = customDlls; while (!ret && currentDll) { ret = currentDll->loadExtendedSaveFile(ptChar, data, maxSize, &curSize); currentDll=currentDll->nextDll; } PCPY->selfStashIsOpened = true; return ret; }
int loadSharedSaveFile(Unit* ptChar, BYTE data[], DWORD maxSize) { if ( !ptChar || !data) return false; log_msg("Load shared file\n"); DWORD curSize = 0; if (*(DWORD*)&data[curSize] != FILE_SHAREDSTASH) { log_msg("loadSharedSaveFile -> bad header\n"); return 9; } curSize += 4; if (*(WORD *)&data[curSize] == 0x3130) {//"01" curSize += 2; PCPY->sharedGold = 0; } else if (*(WORD *)&data[curSize] == FILE_VERSION) { curSize += 2; PCPY->sharedGold = *(DWORD*)&data[curSize]; curSize += 4; } else { log_msg("loadSharedSaveFile -> bad file version : %04X\n", *(WORD *)&data[curSize]); return 9; } int ret = loadStashList(ptChar, data, maxSize, &curSize, true); TCustomDll* currentDll = customDlls; while (!ret && currentDll) { ret = currentDll->loadSharedSaveFile(ptChar, data, maxSize, &curSize); currentDll=currentDll->nextDll; } PCPY->sharedStashIsOpened = true; return ret; }