ScummVM API documentation
file.h
1 /* ScummVM - Graphic Adventure Engine
2  *
3  * ScummVM is the legal property of its developers, whose names
4  * are too numerous to list here. Please refer to the COPYRIGHT
5  * file distributed with this source distribution.
6  *
7  * This program is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation, either version 3 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program. If not, see <http://www.gnu.org/licenses/>.
19  *
20  */
21 
22 //=============================================================================
23 //
24 // Script File API implementation.
25 //
26 //=============================================================================
27 
28 #ifndef AGS_ENGINE_AC_FILE_H
29 #define AGS_ENGINE_AC_FILE_H
30 
31 #include "ags/engine/ac/dynobj/script_file.h"
32 #include "ags/engine/ac/runtime_defines.h"
33 
34 namespace AGS3 {
35 
36 using AGS::Shared::Stream;
37 
38 int File_Exists(const char *fnmm);
39 int File_Delete(const char *fnmm);
40 void *sc_OpenFile(const char *fnmm, int mode);
41 void File_Close(sc_File *fil);
42 void File_WriteString(sc_File *fil, const char *towrite);
43 void File_WriteInt(sc_File *fil, int towrite);
44 void File_WriteRawChar(sc_File *fil, int towrite);
45 void File_WriteRawInt(sc_File *fil, int towrite);
46 void File_WriteRawLine(sc_File *fil, const char *towrite);
47 void File_ReadRawLine(sc_File *fil, char *buffer);
48 const char *File_ReadRawLineBack(sc_File *fil);
49 void File_ReadString(sc_File *fil, char *toread);
50 const char *File_ReadStringBack(sc_File *fil);
51 int File_ReadInt(sc_File *fil);
52 int File_ReadRawChar(sc_File *fil);
53 int File_ReadRawInt(sc_File *fil);
54 int File_Seek(sc_File *fil, int offset, int origin);
55 int File_GetEOF(sc_File *fil);
56 int File_GetError(sc_File *fil);
57 int File_GetPosition(sc_File *fil);
58 
60  Stream *stream;
61  int32_t handle;
62 };
63 extern ScriptFileHandle valid_handles[MAX_OPEN_SCRIPT_FILES + 1];
64 extern int num_open_script_files;
65 
66 ScriptFileHandle *check_valid_file_handle_ptr(Stream *stream_ptr, const char *operation_name);
67 ScriptFileHandle *check_valid_file_handle_int32(int32_t handle, const char *operation_name);
68 Stream *get_valid_file_stream_from_handle(int32_t handle, const char *operation_name);
69 
70 } // namespace AGS3
71 
72 #endif
Definition: file.h:59
Definition: stream.h:52
Definition: ags.h:40