Files
bigmak94andClaude Opus 5.5 4b395efe5c Add the Petari decompilation (SMGCommunity/Petari@0a5c660)
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>
2026-10-01 01:59:38 +02:00

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;
}