added saving to memory buffer and SaveFileData for binary files (#5476)

This commit is contained in:
ssszcmawo
2026-01-07 22:32:58 +01:00
committed by GitHub
parent 23bc037c37
commit c256f146b4

View File

@ -3230,15 +3230,25 @@ bool ExportAutomationEventList(AutomationEventList list, const char *fileName)
#if defined(SUPPORT_AUTOMATION_EVENTS)
// Export events as binary file
// TODO: Save to memory buffer and SaveFileData()
/*
unsigned char fileId[4] = "rAE ";
FILE *raeFile = fopen(fileName, "wb");
fwrite(fileId, sizeof(unsigned char), 4, raeFile);
fwrite(&eventCount, sizeof(int), 1, raeFile);
fwrite(events, sizeof(AutomationEvent), eventCount, raeFile);
fclose(raeFile);
*/
// Binary buffer size = header (file id + count) + events data
int binarySize = 4 + sizeof(int) + sizeof(AutomationEvent)*list.count;
unsigned char *binBuffer = (unsigned char* )RL_MALLOC(binarySize);
if(!binBuffer) return false;
int offset = 0;
memcpy(binBuffer + offset, "rAE ", 4); offset += 4;
memcpy(binBuffer + offset, &list.count, sizeof(int)); offset += sizeof(int);
if(list.count > 0)
{
memcpy(binBuffer + offset, list.events,sizeof(AutomationEvent)*list.count);
offset += sizeof(AutomationEvent)*list.count;
}
success = SaveFileData(TextFormat("%s.rae",fileName), binBuffer, binarySize);
RL_FREE(binBuffer);
// Export events as text
// NOTE: Save to memory buffer and SaveFileText()