aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/include
diff options
context:
space:
mode:
authorMax Horn2009-02-21 18:28:38 +0000
committerMax Horn2009-02-21 18:28:38 +0000
commit0d41ca8d38ce6c604a2a7c9c763b9bf92dd5a9c9 (patch)
tree2ff210eb071c2a9e2ba97c13adbab7261cbf5415 /engines/sci/include
parentb6c9b12e64426e57c24dc4742bed641546bbe395 (diff)
downloadscummvm-rg350-0d41ca8d38ce6c604a2a7c9c763b9bf92dd5a9c9.tar.gz
scummvm-rg350-0d41ca8d38ce6c604a2a7c9c763b9bf92dd5a9c9.tar.bz2
scummvm-rg350-0d41ca8d38ce6c604a2a7c9c763b9bf92dd5a9c9.zip
SCI: Moved scicore/tools.cpp to tools.cpp, and include/resource.h to tools.h
svn-id: r38720
Diffstat (limited to 'engines/sci/include')
-rw-r--r--engines/sci/include/console.h2
-rw-r--r--engines/sci/include/engine.h6
-rw-r--r--engines/sci/include/gfx_system.h2
-rw-r--r--engines/sci/include/heapmgr.h2
-rw-r--r--engines/sci/include/resource.h280
-rw-r--r--engines/sci/include/sci_memory.h3
-rw-r--r--engines/sci/include/sciresource.h2
7 files changed, 10 insertions, 287 deletions
diff --git a/engines/sci/include/console.h b/engines/sci/include/console.h
index a12cfcdf2a..7e0ad876c4 100644
--- a/engines/sci/include/console.h
+++ b/engines/sci/include/console.h
@@ -35,7 +35,7 @@
#include "common/scummsys.h"
#include "sci/include/sci_memory.h"
-#include "sci/include/resource.h"
+#include "sci/tools.h"
#include "sci/include/vm_types.h"
#define SCI_CONSOLE
diff --git a/engines/sci/include/engine.h b/engines/sci/include/engine.h
index b4fbc62817..aed9040ac5 100644
--- a/engines/sci/include/engine.h
+++ b/engines/sci/include/engine.h
@@ -36,14 +36,16 @@ namespace Common {
// FIXME. Remove after transiton to File class
#include <sys/stat.h>
-#include "sci/include/resource.h"
+// FIXME. Remove this eventually
+#include <time.h>
+
+#include "sci/tools.h"
#include "sci/include/sciresource.h"
#include "sci/include/script.h"
#include "sci/include/vocabulary.h"
#include "sci/include/console.h"
#include "sci/include/vm.h"
#include "sci/include/menubar.h"
-#include <time.h>
#include "sci/include/versions.h"
#include "sci/include/kernel.h"
#include "sci/include/gfx_state_internal.h"
diff --git a/engines/sci/include/gfx_system.h b/engines/sci/include/gfx_system.h
index d3f7397043..93cf00d5d5 100644
--- a/engines/sci/include/gfx_system.h
+++ b/engines/sci/include/gfx_system.h
@@ -29,7 +29,7 @@
#include "common/scummsys.h"
#include "common/rect.h"
#include "sci/include/sci_memory.h"
-#include "sci/include/resource.h"
+#include "sci/tools.h"
namespace Sci {
diff --git a/engines/sci/include/heapmgr.h b/engines/sci/include/heapmgr.h
index dff2e9fc12..918a6a07fa 100644
--- a/engines/sci/include/heapmgr.h
+++ b/engines/sci/include/heapmgr.h
@@ -28,7 +28,7 @@
#ifndef _FREESCI_HEAPMGR_H_
#define _FREESCI_HEAPMGR_H_
-#include "sci/include/resource.h"
+#include "sci/tools.h"
#include "sci/include/sci_memory.h"
namespace Sci {
diff --git a/engines/sci/include/resource.h b/engines/sci/include/resource.h
deleted file mode 100644
index 5972cf2553..0000000000
--- a/engines/sci/include/resource.h
+++ /dev/null
@@ -1,280 +0,0 @@
-/* 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 FREESCI_PRIMARY_RESOURCE_H_
-#define FREESCI_PRIMARY_RESOURCE_H_
-
-#include "common/scummsys.h"
-
-/** This header file defines (mostly) generic tools and utility functions.
- ** It also handles portability stuff, in cooperation with scitypes.h
- ** (which specializes in primitive data types).
- ** Most implementations of the functions found here are in
- ** $(SRCDIR)/src/scicore/tools.c
- **
- ** -- Christoph Reichenbach
- **/
-
-#define SCI_INVALID_FD -1
-#define IS_VALID_FD(a) ((a) != SCI_INVALID_FD) /* Tests validity of a file descriptor */
-
-#ifdef WIN32
-# ifndef _Win32
-# define _Win32
-/* Work around problem with some versions of flex */
-# endif
-#endif
-
-/*#define _SCI_RESOURCE_DEBUG */
-/*#define _SCI_DECOMPRESS_DEBUG*/
-
-//TODO: Remove these defines by replacing their functionality by their ScummVM counterparts
-#define HAVE_MEMCHR
-#define HAVE_FCNTL_H
-#ifndef _MSC_VER
-#define HAVE_UNISTD_H
-#define HAVE_SYS_TIME_H
-#define HAVE_GETTIMEOFDAY
-#endif
-#define VERSION "0.6.4"
-
-#include "sci/include/scitypes.h"
-
-// FIXME: Mostly for close() in lots of places. Get rid of this!
-#ifndef _MSC_VER
-#include <unistd.h>
-#endif
-
-// FIXME: Get rid of the following (needed for O_RDONLY etc.)
-#ifdef HAVE_FCNTL_H
-# include <fcntl.h>
-#endif
-
-#define GUINT16_SWAP_LE_BE_CONSTANT(val) ((((val) & 0x00ff) << 8) | (((val) & 0xff00) >> 8))
-
-#define GUINT32_SWAP_LE_BE_CONSTANT(val) ( \
- (((val) & 0xff000000) >> 24) \
- | (((val) & 0x00ff0000) >> 8) \
- | (((val) & 0x0000ff00) << 8) \
- | (((val) & 0x000000ff) << 24))
-
-#define SCI_MAX_RESOURCE_SIZE 0x0400000
-/* The maximum allowed size for a compressed or decompressed resource */
-
-
-
-#define MAX_HOMEDIR_SIZE 255
-
-#ifdef WIN32
-# define FO_BINARY "b"
-#else
-# define FO_BINARY ""
-#endif
-
-#ifdef WIN32
-# define FO_TEXT "t"
-#else
-# define FO_TEXT ""
-#endif
-
-#ifndef O_BINARY
-# define O_BINARY 0
-#endif
-
-namespace Sci {
-
-/**** FUNCTION DECLARATIONS ****/
-
-#ifdef WIN32
-# define scimkdir(arg1,arg2) mkdir(arg1)
-#else
-# define scimkdir(arg1,arg2) mkdir(arg1,arg2)
-#endif
-
-static inline gint16 getInt16(byte *d) {
- return (gint16)(*d | (d[1] << 8));
-}
-
-#define getUInt16(d) (guint16)(getInt16(d))
-
-/* Turns a little endian 16 bit value into a machine-dependant 16 bit value
-** Parameters: d: Pointer to the memory position from which to read
-** Returns : (gint16) The (possibly converted) 16 bit value
-** getUInt16 returns the int unsigned.
-*/
-
-static inline void putInt16(byte* dest, int src) {
- dest[0] = (byte)src & 0xff;
- dest[1] = (byte)(src >> 8) & 0xff;
-}
-/* Converse of getInt16()
-** Parameters: (byte *) dest: The position to write to
-** (int) src: value to write
-*/
-
-/* --- */
-
-void sci_gettime(long *seconds, long *useconds);
-/* Calculates the current time in seconds and microseconds
-** Parameters: (long *) seconds: Pointer to the variable the seconds part of the
-** current time will be stored in
-** (long *) useconds: Pointer to the variable the microseconds part
-** of the current time will be stored in
-** Returns : (void)
-** The resulting values must be relative to an arbitrary fixed point in time
-** (typically 01/01/1970 on *NIX systems).
-*/
-
-void sci_get_current_time(GTimeVal *val);
-/* GTimeVal version of sci_gettime()
-** Parameters: (GTimeVal *) val: Pointer to the structure the values will be stored in
-** Returns : (void)
-*/
-
-void sci_init_dir(sci_dir_t *dirent);
-/* Initializes an sci directory search structure
-** Parameters: (sci_dir_t *) dirent: The entity to initialize
-** Returns : (void)
-** The entity is initialized to "empty" values, meaning that it can be
-** used in subsequent sci_find_first/sci_find_next constructs. In no
-** event should this function be used upon a structure which has been
-** subjected to any of the other dirent calls.
-*/
-
-char *sci_find_first(sci_dir_t *dirent, const char *mask);
-/* Finds the first file matching the specified file mask
-** Parameters: (sci_dir_t *) dirent: Pointer to an unused dirent structure
-** (const char *) mask: File mask to apply
-** Returns : (char *) Name of the first matching file found, or NULL
-*/
-
-char *sci_find_next(sci_dir_t *dirent);
-/* Finds the next file specified by an sci_dir initialized by sci_find_first()
-** Parameters: (sci_dir_t *) dirent: Pointer to SCI dir entity
-** Returns : (char *) Name of the next matching file, or NULL
-*/
-
-void sci_finish_find(sci_dir_t *dirent);
-/* Completes an 'sci_find_first/next' procedure
-** Parameters: (sci_dir_t *) dirent: Pointer to the dirent used
-** Returns : (void)
-** In the operation sequences
-** sci_init_dir(x); sci_finish_find(x);
-** and
-** sci_finish_find(x); sci_finish_find(x);
-** the second operation is guaranteed to be a no-op.
-*/
-
-FILE *sci_fopen(const char *fname, const char *mode);
-/* Opens a FILE* case-insensitively
-** Parameters: (const char *) fname: Name of the file to open
-** (const char *) mode: Mode to open it with
-** Returns : (FILE *) A valid file handle, or NULL on failure
-** Always refers to the cwd, cannot address subdirectories
-*/
-
-int sci_open(const char *fname, int flags);
-/* Opens a file descriptor case-insensitively
-** Parameters: (const char *) fname: Name of the file to open
-** (int) flags: open(2) flags for the file
-** Returns : (int) a file descriptor of the open file,
-** or SCI_INVALID_FD on failure
-** Always refers to the cwd, cannot address subdirectories
-*/
-
-
-int sciprintf(const char *fmt, ...) GCC_PRINTF(1, 2);
-#define gfxprintf sciprintf
-/* Prints a string to the console stack
-** Parameters: fmt: a printf-style format string
-** ...: Additional parameters as defined in fmt
-** Returns : (int) 1
-** Implementation is in src/scicore/console.c
-*/
-
-char *sci_getcwd();
-/* Returns the current working directory, malloc'd.
-** Parameters: (void)
-** Returns : (char *) a malloc'd cwd, or NULL if it couldn't be determined.
-*/
-
-int sci_mkpath(const char *path);
-/* Asserts that the specified path is available
-** Parameters: (const char *) path: Path to verify/create
-** Returns : (int) 0 on success, <0 on error
-** This function will create any directories that couldn't be found
-*/
-
-int sci_fd_size(int fd);
-/* Returns the filesize of an open file
-** Parameters: (int) fd: File descriptor of open file
-** Returns : (int) filesize of file pointed to by fd, -1 on error
-*/
-
-int sci_file_size(const char *fname);
-/* Returns the filesize of a file
-** Parameters: (const char *) fname: Name of file to get filesize of
-** Returns : (int) filesize of the file, -1 on error
-*/
-
-/* Simple heuristic to work around array handling peculiarity in SQ4:
-It uses StrAt() to read the individual elements, so we must determine
-whether a string is really a string or an array. */
-int is_print_str(char *str);
-
-# define sci_unlink unlink
-# define sci_rmdir rmdir
-
-/** Find first set bit in bits and return its index. Returns 0 if bits is 0. */
-int sci_ffs(int bits);
-
-
-/* The following was originally based on glib.h code, which was
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- */
-#if defined (__GNUC__) && __GNUC__ >= 2
-# if defined (__i386__)
-# define BREAKPOINT() {__asm__ __volatile__ ("int $03"); }
-# elif defined(__alpha__)
-# define BREAKPOINT() {__asm__ __volatile__ ("call_pal 0x80"); }
-# endif /* !__i386__ && !__alpha__ */
-#elif defined (_MSC_VER)
-# if defined (_M_IX86)
-# define BREAKPOINT() { __asm { int 03 } }
-# elif defined(_M_ALPHA)
-# define BREAKPOINT() { __asm { bpt } }
-# endif /* !_M_IX86 && !_M_ALPHA */
-#elif defined (__DECC)
-# if defined(__alpha__)
-# define BREAKPOINT() {asm ("call_pal 0x80"); }
-# endif /* !__i386__ && !__alpha__ */
-#endif
-#ifndef BREAKPOINT
-# define BREAKPOINT() { fprintf(stderr, "Missed breakpoint in %s, line %d\n", __FILE__, __LINE__); *((int *) NULL) = 42; }
-#endif /* !BREAKPOINT() */
-
-} // End of namespace Sci
-
-#endif
diff --git a/engines/sci/include/sci_memory.h b/engines/sci/include/sci_memory.h
index ff09b4b1b6..c39b6c86fe 100644
--- a/engines/sci/include/sci_memory.h
+++ b/engines/sci/include/sci_memory.h
@@ -44,8 +44,9 @@
#define _SCI_MEMORY_H
#include "common/scummsys.h"
-#include "sci/include/resource.h"
+#include "sci/tools.h"
+// FIXME: Get rid of the following #include
#ifdef _MSC_VER
# include <direct.h> // for chdir, rmdir, _gecwd, getcwd, mkdir
#endif
diff --git a/engines/sci/include/sciresource.h b/engines/sci/include/sciresource.h
index aa280657ca..67205665b5 100644
--- a/engines/sci/include/sciresource.h
+++ b/engines/sci/include/sciresource.h
@@ -32,7 +32,7 @@
#include "common/stream.h"
#include "common/str.h"
-#include "sci/include/resource.h"
+#include "sci/tools.h"
#include "sci/include/versions.h"
namespace Sci {