| 629 | return true; |
| 630 | } |
| 631 | bool bCFileWriteStreamClose(uint64_t hStream) |
| 632 | { |
| 633 | if (!Steam_Config::RemoteStorage) |
| 634 | return true; |
| 635 | |
| 636 | if (!hStream) |
| 637 | return false; |
| 638 | |
| 639 | auto StreamRequested = Streams.find(hStream); |
| 640 | if (StreamRequested == Streams.end()) { |
| 641 | return false; |
| 642 | } |
| 643 | if (!StreamRequested->second.Buffer) { |
| 644 | return false; |
| 645 | } |
| 646 | if (!StreamRequested->second.FileNameS) { |
| 647 | return false; |
| 648 | } |
| 649 | |
| 650 | // Save to our file |
| 651 | std::FILE* FileStream = std::fopen(ColdAPI_Storage::ConnectDirectoryToFile(StreamRequested->second.FileNameS), "wb"); |
| 652 | if (FileStream) |
| 653 | { |
| 654 | std::fwrite(StreamRequested->second.Buffer, StreamRequested->second.lastbuffersize, 1, FileStream); |
| 655 | std::fclose(FileStream); |
| 656 | } |
| 657 | |
| 658 | if (StreamRequested->second.Buffer) |
| 659 | VirtualFree(StreamRequested->second.Buffer, NULL, MEM_RELEASE); |
| 660 | if (StreamRequested->second.FileNameS) |
| 661 | VirtualFree(StreamRequested->second.FileNameS, NULL, MEM_RELEASE); |
| 662 | Streams.erase(StreamRequested); |
| 663 | return true; |
| 664 | } |
| 665 | bool bCFileWriteStreamCancel(uint64_t hStream) |
| 666 | { |
| 667 | if (!Steam_Config::RemoteStorage) |