mirror of
https://github.com/PodeCaradox/GalaxyQuest-SteamFrame.git
synced 2026-10-24 07:01:54 +02:00
The sources of Petari (https://github.com/SMGCommunity/Petari), the Super Mario Galaxy decompilation by the SMGCommunity, at commit 0a5c6608dc3b4c44a9aa68c2535d1793dc565f02, unchanged but for LF line endings: LICENSE (as LICENSE-Petari.txt; CC0 1.0), include/, libs/ and src/. Left out: the game data Petari keeps from the original executable, the error message archive (include/Game/System/ ErrorArchive.hpp) and two tables (src/Game/System/GalaxyID.bcsv and StoryEvent.bcsv); GalaxyQuest's converter takes them from the player's own disc. The port's changes follow in the next commit, so `git diff petari-base -- decomp` shows them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
34 lines
770 B
C
34 lines
770 B
C
#include "file_struct.h"
|
|
|
|
void __prep_buffer(FILE *pFile) {
|
|
pFile->buffer_ptr = pFile->buffer;
|
|
pFile->buffer_len = pFile->buffer_size;
|
|
pFile->buffer_len -= pFile->pos & pFile->buffer_alignment;
|
|
pFile->buffer_pos = pFile->pos;
|
|
}
|
|
|
|
int __flush_buffer(FILE *pFile, size_t *pFlushed) {
|
|
size_t len;
|
|
int res;
|
|
|
|
len = pFile->buffer_ptr - pFile->buffer;
|
|
|
|
if (len != 0) {
|
|
pFile->buffer_len = len;
|
|
|
|
res = (*pFile->write_proc)(pFile->handle, pFile->buffer, (size_t*)&pFile->buffer_len, pFile->ref);
|
|
|
|
if (pFlushed != 0) {
|
|
*pFlushed = pFile->buffer_len;
|
|
}
|
|
|
|
if (res != 0) {
|
|
return res;
|
|
}
|
|
|
|
pFile->pos += pFile->buffer_len;
|
|
}
|
|
|
|
__prep_buffer(pFile);
|
|
return 0;
|
|
} |