aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/scicore/exe_dec.h
diff options
context:
space:
mode:
authorFilippos Karapetis2009-02-18 22:20:28 +0000
committerFilippos Karapetis2009-02-18 22:20:28 +0000
commit7e5dba8940166dc737e90d7570749813e1c2f802 (patch)
tree0beb50609be569cc29af347b0f3e92876124d2b1 /engines/sci/scicore/exe_dec.h
parent7d73e8ccc4d014a582c72f9877a95d8005fc7c20 (diff)
downloadscummvm-rg350-7e5dba8940166dc737e90d7570749813e1c2f802.tar.gz
scummvm-rg350-7e5dba8940166dc737e90d7570749813e1c2f802.tar.bz2
scummvm-rg350-7e5dba8940166dc737e90d7570749813e1c2f802.zip
Readded the code which reads the version from the original executable to the fallback detector (still very hackish...). This is probably the only known way currently to determine the version used by each game variant and add appropriate game flags
svn-id: r38509
Diffstat (limited to 'engines/sci/scicore/exe_dec.h')
-rw-r--r--engines/sci/scicore/exe_dec.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/engines/sci/scicore/exe_dec.h b/engines/sci/scicore/exe_dec.h
new file mode 100644
index 0000000000..45c1f58382
--- /dev/null
+++ b/engines/sci/scicore/exe_dec.h
@@ -0,0 +1,64 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * $URL$
+ * $Id$
+ *
+ */
+
+#ifndef _SCI_EXE_DEC_H_
+#define _SCI_EXE_DEC_H_
+
+typedef struct _exe_handle exe_handle_t;
+
+typedef struct _exe_decompressor {
+ const char *name; /* Decompressor name. Unique identifier, should consist
+ ** of lower-case (where applicable) alphanumerics
+ */
+
+ exe_handle_t * (*open)(const char *filename);
+ /* Opens an executable file
+ ** Parameters: (const char *) filename: Filename of executable to open.
+ ** Returns : (exe_handle_t *) Decompressor file handle, or NULL on
+ ** error.
+ ** This function will verify that the file can be handled by the
+ ** decompressor. If this is not the case the function will fail.
+ */
+
+ int (*read)(exe_handle_t *handle, void *buf, int count);
+ /* Reads from executable file
+ ** Parameters: (exe_handle_t *) handle: Decompressor file handle.
+ ** (void *) buf: Buffer to store decompressed data.
+ ** (int) count: Size of decompressed data requested, in
+ ** bytes.
+ ** Returns : (int) Number of bytes of decompressed data that was
+ ** stored in buf. If this value is less than count
+ ** an error has occured, or end-of-file was
+ ** reached.
+ */
+
+ void (*close)(exe_handle_t *handle);
+ /* Closes a decompressor file handle.
+ ** Parameters: (exe_handle_t *) handle: Decompressor file handle.
+ ** Returns : (void)
+ */
+} exe_decompressor_t;
+
+#endif /* !_SCI_EXE_DEC_H_ */