Browse Source

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

pull/5481/head
ssszcmawo 3 days ago
committed by GitHub
parent
commit
c256f146b4
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
1 changed files with 19 additions and 9 deletions
  1. +19
    -9
      src/rcore.c

+ 19
- 9
src/rcore.c 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()

Loading…
Cancel
Save