Parcourir la source

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

pull/5481/head
ssszcmawo il y a 3 semaines
committed by GitHub
Parent
révision
c256f146b4
Aucune clé connue n'a été trouvée dans la base pour cette signature ID de la clé GPG: B5690EEEBB952194
1 fichiers modifiés avec 19 ajouts et 9 suppressions
  1. +19
    -9
      src/rcore.c

+ 19
- 9
src/rcore.c Voir le fichier

@ -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()

Chargement…
Annuler
Enregistrer