void GScr_fexists(int entityIndex) { char* name = Scr_GetString(0); if(FILE *f = fopen(name, "r")) { fclose(f); Scr_AddBool(true); } else { Scr_AddBool(false); } }
void GScr_fwrite(int entityIndex) { char* text = Scr_GetString(0); FILE *f = (FILE*)(Scr_GetInt(1)); if(f == NULL) { Scr_AddBool(false); } else { Scr_AddBool(true); fprintf(f, text); } }
void GScr_FS_TestFile(){ int fileExists; if(Scr_GetNumParam() != 1) Scr_Error("Usage: FS_TestFile(<filename>)\n"); char* filename = Scr_GetString(0); fileExists = Scr_FileExists( filename ); Scr_AddBool(fileExists); }
void GScr_FS_WriteLine(){ int ret; char buffer[2048]; if(Scr_GetNumParam() != 2) Scr_Error("Usage: FS_WriteLine(<filehandle>, <data>)\n"); fileHandle_t fh = Scr_GetInt(0); char* data = Scr_GetString(1); Com_sprintf(buffer, sizeof(buffer), "%s\n", data); ret = Scr_FS_Write(buffer, strlen(buffer), fh); if(!ret) { Com_DPrintf("^2Scr_FS_WriteLine() failed\n"); Scr_AddBool(qfalse); }else{ Scr_AddBool(qtrue); } }
void GScr_FS_Remove(){ if(Scr_GetNumParam() != 1) Scr_Error("Usage: FS_Delete(<filename>)\n"); char* qpath = Scr_GetString(0); if(!Scr_FS_AlreadyOpened(qpath)) { Scr_Error("FS_Remove: Tried to delete an opened file!\n"); Scr_AddBool(qfalse); return; } if(FS_HomeRemove(qpath)) { Scr_AddBool(qtrue); }else{ Scr_AddBool(qfalse); } }