88 lines
1.3 KiB
C
88 lines
1.3 KiB
C
|
/** @file frontend_helper.h
|
||
|
|
||
|
Helper file for generic PC frontends that can use the stdio library, to avoid
|
||
|
duplication of code.
|
||
|
*/
|
||
|
|
||
|
// TODO: quality presets?
|
||
|
|
||
|
#include <stdint.h>
|
||
|
#include <stdio.h>
|
||
|
|
||
|
#define DATA_FILE_NAME "data"
|
||
|
|
||
|
FILE *dataFile = 0;
|
||
|
|
||
|
char LCR_getNextDataFileChar(void)
|
||
|
{
|
||
|
#ifdef __EMSCRIPTEN__
|
||
|
return 0;
|
||
|
#else
|
||
|
if (!dataFile)
|
||
|
return 0;
|
||
|
|
||
|
int c = fgetc(dataFile);
|
||
|
|
||
|
if (c == EOF)
|
||
|
{
|
||
|
rewind(dataFile);
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
return c;
|
||
|
#endif
|
||
|
}
|
||
|
|
||
|
void LCR_appendDataStr(const char *str)
|
||
|
{
|
||
|
#ifndef __EMSCRIPTEN__
|
||
|
if (!dataFile)
|
||
|
return;
|
||
|
|
||
|
if (str == 0 || *str == 0)
|
||
|
rewind(dataFile);
|
||
|
else
|
||
|
{
|
||
|
#if LCR_SETTING_LOG_LEVEL > 1
|
||
|
printf("SDL: appending data \"%s\"\n",str);
|
||
|
#endif
|
||
|
|
||
|
fclose(dataFile);
|
||
|
|
||
|
dataFile = fopen(DATA_FILE_NAME,"a");
|
||
|
|
||
|
if (dataFile)
|
||
|
{
|
||
|
fprintf(dataFile,"%s",str);
|
||
|
fclose(dataFile);
|
||
|
dataFile = fopen(DATA_FILE_NAME,"r");
|
||
|
}
|
||
|
}
|
||
|
#else
|
||
|
printf("%s",str);
|
||
|
#endif
|
||
|
}
|
||
|
|
||
|
void LCR_log(const char *str)
|
||
|
{
|
||
|
printf("%s\n",str);
|
||
|
}
|
||
|
|
||
|
void openDataFile(void)
|
||
|
{
|
||
|
#ifndef __EMSCRIPTEN__
|
||
|
dataFile = fopen(DATA_FILE_NAME,"r");
|
||
|
|
||
|
if (!dataFile)
|
||
|
puts("WARNING: couldn't open data file");
|
||
|
#endif
|
||
|
}
|
||
|
|
||
|
void closeDataFile(void)
|
||
|
{
|
||
|
#ifndef __EMSCRIPTEN__
|
||
|
if (dataFile)
|
||
|
fclose(dataFile);
|
||
|
#endif
|
||
|
}
|