diff options
author | Max Horn | 2009-02-21 18:28:38 +0000 |
---|---|---|
committer | Max Horn | 2009-02-21 18:28:38 +0000 |
commit | 0d41ca8d38ce6c604a2a7c9c763b9bf92dd5a9c9 (patch) | |
tree | 2ff210eb071c2a9e2ba97c13adbab7261cbf5415 /engines/sci/include | |
parent | b6c9b12e64426e57c24dc4742bed641546bbe395 (diff) | |
download | scummvm-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.h | 2 | ||||
-rw-r--r-- | engines/sci/include/engine.h | 6 | ||||
-rw-r--r-- | engines/sci/include/gfx_system.h | 2 | ||||
-rw-r--r-- | engines/sci/include/heapmgr.h | 2 | ||||
-rw-r--r-- | engines/sci/include/resource.h | 280 | ||||
-rw-r--r-- | engines/sci/include/sci_memory.h | 3 | ||||
-rw-r--r-- | engines/sci/include/sciresource.h | 2 |
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 { |