diff options
author | Max Horn | 2009-02-21 18:39:53 +0000 |
---|---|---|
committer | Max Horn | 2009-02-21 18:39:53 +0000 |
commit | 9f2c0dcc6f5c278fa06be8d0fdfaf69c27b40282 (patch) | |
tree | de775932246061d6548a790d9f2cb5bc6fd46dd9 /engines/sci | |
parent | 0d41ca8d38ce6c604a2a7c9c763b9bf92dd5a9c9 (diff) | |
download | scummvm-rg350-9f2c0dcc6f5c278fa06be8d0fdfaf69c27b40282.tar.gz scummvm-rg350-9f2c0dcc6f5c278fa06be8d0fdfaf69c27b40282.tar.bz2 scummvm-rg350-9f2c0dcc6f5c278fa06be8d0fdfaf69c27b40282.zip |
SCI: Tons of cleanup
svn-id: r38721
Diffstat (limited to 'engines/sci')
-rw-r--r-- | engines/sci/engine/game.cpp | 2 | ||||
-rw-r--r-- | engines/sci/engine/kernel.cpp | 3 | ||||
-rw-r--r-- | engines/sci/engine/savegame.cfsml | 1 | ||||
-rw-r--r-- | engines/sci/engine/savegame.cpp | 71 | ||||
-rw-r--r-- | engines/sci/include/engine.h | 8 | ||||
-rw-r--r-- | engines/sci/include/gfx_resmgr.h | 4 | ||||
-rw-r--r-- | engines/sci/include/sciresource.h | 18 | ||||
-rw-r--r-- | engines/sci/module.mk | 2 | ||||
-rw-r--r-- | engines/sci/tools.cpp | 36 | ||||
-rw-r--r-- | engines/sci/tools.h | 48 |
10 files changed, 55 insertions, 138 deletions
diff --git a/engines/sci/engine/game.cpp b/engines/sci/engine/game.cpp index 768e307bd9..9be70390ce 100644 --- a/engines/sci/engine/game.cpp +++ b/engines/sci/engine/game.cpp @@ -634,7 +634,7 @@ int game_init(EngineState *s) { s->debug_mode = 0x0; // Disable all debugging s->onscreen_console = 0; // No onscreen console unless explicitly requested - srand(time(NULL)); // Initialize random number generator + srand(g_system->getMillis()); // Initialize random number generator // script_dissect(0, s->selector_names, s->selector_names_nr); game_obj = script_lookup_export(s, 0, 0); diff --git a/engines/sci/engine/kernel.cpp b/engines/sci/engine/kernel.cpp index ef730824bd..54ff61dab7 100644 --- a/engines/sci/engine/kernel.cpp +++ b/engines/sci/engine/kernel.cpp @@ -29,6 +29,9 @@ # undef ARRAYSIZE #endif + +#include <time.h> // FIXME: For struct tm + #include "common/system.h" #include "sci/sci.h" diff --git a/engines/sci/engine/savegame.cfsml b/engines/sci/engine/savegame.cfsml index 6eb2385785..97083e5625 100644 --- a/engines/sci/engine/savegame.cfsml +++ b/engines/sci/engine/savegame.cfsml @@ -30,6 +30,7 @@ */ #include <stdarg.h> +#include <time.h> // FIXME: For struct tm #include "sci/include/sci_memory.h" #include "sci/include/gfx_operations.h" #include "sci/include/sfx_engine.h" diff --git a/engines/sci/engine/savegame.cpp b/engines/sci/engine/savegame.cpp index cc7cc4ea63..bc77dfb9d9 100644 --- a/engines/sci/engine/savegame.cpp +++ b/engines/sci/engine/savegame.cpp @@ -30,6 +30,7 @@ */ #include <stdarg.h> +#include <time.h> // FIXME: For struct tm #include "sci/include/sci_memory.h" #include "sci/include/gfx_operations.h" #include "sci/include/sfx_engine.h" @@ -3991,7 +3992,7 @@ _cfsml_read_script_t(Common::SeekableReadStream *fh, script_t* save_struc, const // Auto-generated CFSML declaration and function block ends here // Auto-generation performed by cfsml.pl 0.8.2 -#line 446 "engines/sci/engine/savegame.cfsml" +#line 447 "engines/sci/engine/savegame.cfsml" void write_songlib_t(Common::WriteStream *fh, songlib_t *songlib) { song_t *seeker = *(songlib->lib); @@ -4008,7 +4009,7 @@ void write_songlib_t(Common::WriteStream *fh, songlib_t *songlib) { _cfsml_write_song_t(fh, seeker); WSprintf(fh, "\n"); // End of auto-generated CFSML data writer code -#line 458 "engines/sci/engine/savegame.cfsml" +#line 459 "engines/sci/engine/savegame.cfsml" seeker = seeker->next; } WSprintf(fh, "]\n"); @@ -4054,7 +4055,7 @@ int read_songlib_t(Common::SeekableReadStream *fh, songlib_t *songlib, const cha } } // End of auto-generated CFSML data reader code -#line 482 "engines/sci/engine/savegame.cfsml" +#line 483 "engines/sci/engine/savegame.cfsml" song_lib_add(*songlib, newsong); } l = fh->readLine(); // "]" @@ -4095,7 +4096,7 @@ void write_int_hash_map_tp(Common::WriteStream *fh, int_hash_map_t **foo) { _cfsml_write_int_hash_map_t(fh, *foo); WSprintf(fh, "\n"); // End of auto-generated CFSML data writer code -#line 518 "engines/sci/engine/savegame.cfsml" +#line 519 "engines/sci/engine/savegame.cfsml" } void write_song_tp(Common::WriteStream *fh, song_t **foo) { @@ -4104,7 +4105,7 @@ void write_song_tp(Common::WriteStream *fh, song_t **foo) { _cfsml_write_song_t(fh, *foo); WSprintf(fh, "\n"); // End of auto-generated CFSML data writer code -#line 522 "engines/sci/engine/savegame.cfsml" +#line 523 "engines/sci/engine/savegame.cfsml" } song_iterator_t *build_iterator(EngineState *s, int song_nr, int type, songit_id_t id); @@ -4136,7 +4137,7 @@ int read_song_tp(Common::SeekableReadStream *fh, song_t **foo, const char *lastv } } // End of auto-generated CFSML data reader code -#line 532 "engines/sci/engine/savegame.cfsml" +#line 533 "engines/sci/engine/savegame.cfsml" (*foo)->delay = 0; (*foo)->it = NULL; (*foo)->next_playing = (*foo)->next_stopping = (*foo)->next = NULL; @@ -4167,7 +4168,7 @@ int read_int_hash_map_tp(Common::SeekableReadStream *fh, int_hash_map_t **foo, c } } // End of auto-generated CFSML data reader code -#line 541 "engines/sci/engine/savegame.cfsml" +#line 542 "engines/sci/engine/savegame.cfsml" (*foo)->holes = NULL; return 0; } @@ -4183,7 +4184,7 @@ void write_int_hash_map_node_tp(Common::WriteStream *fh, int_hash_map_t::node_t write_int_hash_map_node_tp(fh, &((*foo)->next)); WSprintf(fh, "\n"); // End of auto-generated CFSML data writer code -#line 552 "engines/sci/engine/savegame.cfsml" +#line 553 "engines/sci/engine/savegame.cfsml" } else WSprintf(fh, "L"); WSprintf(fh, "]"); @@ -4233,7 +4234,7 @@ void write_menubar_tp(Common::WriteStream *fh, menubar_t **foo) { _cfsml_write_menubar_t(fh, (*foo)); WSprintf(fh, "\n"); // End of auto-generated CFSML data writer code -#line 597 "engines/sci/engine/savegame.cfsml" +#line 598 "engines/sci/engine/savegame.cfsml" } else { // Nothing to write WSprintf(fh, "\\null\\"); } @@ -4267,7 +4268,7 @@ int read_menubar_tp(Common::SeekableReadStream *fh, menubar_t **foo, const char } } // End of auto-generated CFSML data reader code -#line 609 "engines/sci/engine/savegame.cfsml" +#line 610 "engines/sci/engine/savegame.cfsml" } return *hiteof; } @@ -4279,7 +4280,7 @@ void write_mem_obj_t(Common::WriteStream *fh, mem_obj_t *foo) { _cfsml_write_int(fh, &foo->segmgr_id); WSprintf(fh, "\n"); // End of auto-generated CFSML data writer code -#line 616 "engines/sci/engine/savegame.cfsml" +#line 617 "engines/sci/engine/savegame.cfsml" switch (foo->type) { case MEM_OBJ_SCRIPT: #line 814 "engines/sci/engine/savegame.cfsml" @@ -4287,7 +4288,7 @@ void write_mem_obj_t(Common::WriteStream *fh, mem_obj_t *foo) { _cfsml_write_script_t(fh, &foo->data.script); WSprintf(fh, "\n"); // End of auto-generated CFSML data writer code -#line 619 "engines/sci/engine/savegame.cfsml" +#line 620 "engines/sci/engine/savegame.cfsml" break; case MEM_OBJ_CLONES: #line 814 "engines/sci/engine/savegame.cfsml" @@ -4295,7 +4296,7 @@ void write_mem_obj_t(Common::WriteStream *fh, mem_obj_t *foo) { _cfsml_write_clone_table_t(fh, &foo->data.clones); WSprintf(fh, "\n"); // End of auto-generated CFSML data writer code -#line 622 "engines/sci/engine/savegame.cfsml" +#line 623 "engines/sci/engine/savegame.cfsml" break; case MEM_OBJ_LOCALS: #line 814 "engines/sci/engine/savegame.cfsml" @@ -4303,7 +4304,7 @@ void write_mem_obj_t(Common::WriteStream *fh, mem_obj_t *foo) { _cfsml_write_local_variables_t(fh, &foo->data.locals); WSprintf(fh, "\n"); // End of auto-generated CFSML data writer code -#line 625 "engines/sci/engine/savegame.cfsml" +#line 626 "engines/sci/engine/savegame.cfsml" break; case MEM_OBJ_SYS_STRINGS: #line 814 "engines/sci/engine/savegame.cfsml" @@ -4311,7 +4312,7 @@ void write_mem_obj_t(Common::WriteStream *fh, mem_obj_t *foo) { _cfsml_write_sys_strings_t(fh, &foo->data.sys_strings); WSprintf(fh, "\n"); // End of auto-generated CFSML data writer code -#line 628 "engines/sci/engine/savegame.cfsml" +#line 629 "engines/sci/engine/savegame.cfsml" break; case MEM_OBJ_STACK: #line 814 "engines/sci/engine/savegame.cfsml" @@ -4319,7 +4320,7 @@ void write_mem_obj_t(Common::WriteStream *fh, mem_obj_t *foo) { _cfsml_write_int(fh, &foo->data.stack.nr); WSprintf(fh, "\n"); // End of auto-generated CFSML data writer code -#line 631 "engines/sci/engine/savegame.cfsml" +#line 632 "engines/sci/engine/savegame.cfsml" break; case MEM_OBJ_HUNK: break; @@ -4329,7 +4330,7 @@ void write_mem_obj_t(Common::WriteStream *fh, mem_obj_t *foo) { _cfsml_write_list_table_t(fh, &foo->data.lists); WSprintf(fh, "\n"); // End of auto-generated CFSML data writer code -#line 636 "engines/sci/engine/savegame.cfsml" +#line 637 "engines/sci/engine/savegame.cfsml" break; case MEM_OBJ_NODES: #line 814 "engines/sci/engine/savegame.cfsml" @@ -4337,7 +4338,7 @@ void write_mem_obj_t(Common::WriteStream *fh, mem_obj_t *foo) { _cfsml_write_node_table_t(fh, &foo->data.nodes); WSprintf(fh, "\n"); // End of auto-generated CFSML data writer code -#line 639 "engines/sci/engine/savegame.cfsml" +#line 640 "engines/sci/engine/savegame.cfsml" break; case MEM_OBJ_DYNMEM: #line 814 "engines/sci/engine/savegame.cfsml" @@ -4345,7 +4346,7 @@ void write_mem_obj_t(Common::WriteStream *fh, mem_obj_t *foo) { _cfsml_write_dynmem_t(fh, &foo->data.dynmem); WSprintf(fh, "\n"); // End of auto-generated CFSML data writer code -#line 642 "engines/sci/engine/savegame.cfsml" +#line 643 "engines/sci/engine/savegame.cfsml" break; } } @@ -4380,7 +4381,7 @@ int read_mem_obj_t(Common::SeekableReadStream *fh, mem_obj_t *foo, const char *l } } // End of auto-generated CFSML data reader code -#line 654 "engines/sci/engine/savegame.cfsml" +#line 655 "engines/sci/engine/savegame.cfsml" switch (foo->type) { case MEM_OBJ_SCRIPT: // Auto-generated CFSML data reader code @@ -4406,7 +4407,7 @@ int read_mem_obj_t(Common::SeekableReadStream *fh, mem_obj_t *foo, const char *l } } // End of auto-generated CFSML data reader code -#line 657 "engines/sci/engine/savegame.cfsml" +#line 658 "engines/sci/engine/savegame.cfsml" break; case MEM_OBJ_CLONES: // Auto-generated CFSML data reader code @@ -4432,7 +4433,7 @@ int read_mem_obj_t(Common::SeekableReadStream *fh, mem_obj_t *foo, const char *l } } // End of auto-generated CFSML data reader code -#line 660 "engines/sci/engine/savegame.cfsml" +#line 661 "engines/sci/engine/savegame.cfsml" break; case MEM_OBJ_LOCALS: // Auto-generated CFSML data reader code @@ -4458,7 +4459,7 @@ int read_mem_obj_t(Common::SeekableReadStream *fh, mem_obj_t *foo, const char *l } } // End of auto-generated CFSML data reader code -#line 663 "engines/sci/engine/savegame.cfsml" +#line 664 "engines/sci/engine/savegame.cfsml" break; case MEM_OBJ_SYS_STRINGS: // Auto-generated CFSML data reader code @@ -4484,7 +4485,7 @@ int read_mem_obj_t(Common::SeekableReadStream *fh, mem_obj_t *foo, const char *l } } // End of auto-generated CFSML data reader code -#line 666 "engines/sci/engine/savegame.cfsml" +#line 667 "engines/sci/engine/savegame.cfsml" break; case MEM_OBJ_LISTS: // Auto-generated CFSML data reader code @@ -4510,7 +4511,7 @@ int read_mem_obj_t(Common::SeekableReadStream *fh, mem_obj_t *foo, const char *l } } // End of auto-generated CFSML data reader code -#line 669 "engines/sci/engine/savegame.cfsml" +#line 670 "engines/sci/engine/savegame.cfsml" break; case MEM_OBJ_NODES: // Auto-generated CFSML data reader code @@ -4536,7 +4537,7 @@ int read_mem_obj_t(Common::SeekableReadStream *fh, mem_obj_t *foo, const char *l } } // End of auto-generated CFSML data reader code -#line 672 "engines/sci/engine/savegame.cfsml" +#line 673 "engines/sci/engine/savegame.cfsml" break; case MEM_OBJ_STACK: // Auto-generated CFSML data reader code @@ -4562,7 +4563,7 @@ int read_mem_obj_t(Common::SeekableReadStream *fh, mem_obj_t *foo, const char *l } } // End of auto-generated CFSML data reader code -#line 675 "engines/sci/engine/savegame.cfsml" +#line 676 "engines/sci/engine/savegame.cfsml" foo->data.stack.entries = (reg_t *)sci_calloc(foo->data.stack.nr, sizeof(reg_t)); break; case MEM_OBJ_HUNK: @@ -4592,7 +4593,7 @@ int read_mem_obj_t(Common::SeekableReadStream *fh, mem_obj_t *foo, const char *l } } // End of auto-generated CFSML data reader code -#line 682 "engines/sci/engine/savegame.cfsml" +#line 683 "engines/sci/engine/savegame.cfsml" break; } @@ -4606,7 +4607,7 @@ void write_mem_obj_tp(Common::WriteStream *fh, mem_obj_t **foo) { write_mem_obj_t(fh, (*foo)); WSprintf(fh, "\n"); // End of auto-generated CFSML data writer code -#line 691 "engines/sci/engine/savegame.cfsml" +#line 692 "engines/sci/engine/savegame.cfsml" } else { // Nothing to write WSprintf(fh, "\\null\\"); } @@ -4639,7 +4640,7 @@ int read_mem_obj_tp(Common::SeekableReadStream *fh, mem_obj_t **foo, const char } } // End of auto-generated CFSML data reader code -#line 702 "engines/sci/engine/savegame.cfsml" +#line 703 "engines/sci/engine/savegame.cfsml" return *hiteof; } return 0; @@ -4693,13 +4694,13 @@ int gamestate_save(EngineState *s, Common::WriteStream *fh, const char* savename _cfsml_write_SavegameMetadata(fh, meta); WSprintf(fh, "\n"); // End of auto-generated CFSML data writer code -#line 751 "engines/sci/engine/savegame.cfsml" +#line 752 "engines/sci/engine/savegame.cfsml" #line 814 "engines/sci/engine/savegame.cfsml" // Auto-generated CFSML data writer code _cfsml_write_EngineState(fh, s); WSprintf(fh, "\n"); // End of auto-generated CFSML data writer code -#line 752 "engines/sci/engine/savegame.cfsml" +#line 753 "engines/sci/engine/savegame.cfsml" delete meta; @@ -5002,7 +5003,7 @@ EngineState *gamestate_restore(EngineState *s, Common::SeekableReadStream *fh) { } } // End of auto-generated CFSML data reader code -#line 1026 "engines/sci/engine/savegame.cfsml" +#line 1027 "engines/sci/engine/savegame.cfsml" if ((meta->savegame_version < FREESCI_MINIMUM_SAVEGAME_VERSION) || (meta->savegame_version > FREESCI_CURRENT_SAVEGAME_VERSION)) { if (meta->savegame_version < FREESCI_MINIMUM_SAVEGAME_VERSION) @@ -5054,7 +5055,7 @@ EngineState *gamestate_restore(EngineState *s, Common::SeekableReadStream *fh) { } } // End of auto-generated CFSML data reader code -#line 1049 "engines/sci/engine/savegame.cfsml" +#line 1050 "engines/sci/engine/savegame.cfsml" sfx_exit(&s->sound); _gamestate_unfrob(retval); @@ -5178,7 +5179,7 @@ bool get_savegame_metadata(Common::SeekableReadStream* stream, SavegameMetadata* } } // End of auto-generated CFSML data reader code -#line 1144 "engines/sci/engine/savegame.cfsml" +#line 1145 "engines/sci/engine/savegame.cfsml" if (read_eof) return false; diff --git a/engines/sci/include/engine.h b/engines/sci/include/engine.h index aed9040ac5..2abcf2f4da 100644 --- a/engines/sci/include/engine.h +++ b/engines/sci/include/engine.h @@ -33,12 +33,6 @@ namespace Common { class WriteStream; } -// FIXME. Remove after transiton to File class -#include <sys/stat.h> - -// FIXME. Remove this eventually -#include <time.h> - #include "sci/tools.h" #include "sci/include/sciresource.h" #include "sci/include/script.h" @@ -76,7 +70,7 @@ namespace Sci { #define MAX_GAMEDIR_SIZE 32 /* Used for subdirectory inside of "~/.freesci/" */ #define MAX_SAVEGAME_NR 20 /* Maximum number of savegames */ -#define MAX_SAVE_DIR_SIZE MAX_HOMEDIR_SIZE + STRLEN_FREESCI_GAMEDIR + MAX_GAMEDIR_SIZE + 4 +#define MAX_SAVE_DIR_SIZE MAXPATHLEN + STRLEN_FREESCI_GAMEDIR + MAX_GAMEDIR_SIZE + 4 /* +4 for the three slashes and trailing \0 */ /* values for EngineState.restarting_flag */ diff --git a/engines/sci/include/gfx_resmgr.h b/engines/sci/include/gfx_resmgr.h index 7794800db8..6ba34b8815 100644 --- a/engines/sci/include/gfx_resmgr.h +++ b/engines/sci/include/gfx_resmgr.h @@ -53,7 +53,7 @@ typedef enum { #define GFXR_RES_NR(id) (id & 0xffff) -typedef struct gfx_resource_struct { +struct gfx_resource_t { int ID; /* Resource ID */ int lock_sequence_nr; /* See description of lock_counter in gfx_resstate_t */ int mode; /* A mode type hash */ @@ -72,7 +72,7 @@ typedef struct gfx_resource_struct { gfxr_pic_t *pic; } unscaled_data; -} gfx_resource_t; +}; struct _gfx_options; diff --git a/engines/sci/include/sciresource.h b/engines/sci/include/sciresource.h index 67205665b5..74b6d33a2b 100644 --- a/engines/sci/include/sciresource.h +++ b/engines/sci/include/sciresource.h @@ -40,15 +40,6 @@ namespace Sci { #define SCI_MAX_RESOURCE_SIZE 0x0400000 /* The maximum allowed size for a compressed or decompressed resource */ -#ifdef WIN32 -# define DIR_SEPARATOR_STR "\\" -# define PATH_SEPARATOR_STR ";" -#else -# define DIR_SEPARATOR_STR "/" -# define PATH_SEPARATOR_STR ":" -#endif - - /*** RESOURCE STATUS TYPES ***/ #define SCI_STATUS_NOMALLOC 0 #define SCI_STATUS_ALLOCATED 1 @@ -146,7 +137,8 @@ struct resource_altsource_t { }; -typedef struct _resource_struct { +/** Struct for storing resources in memory */ +struct resource_t { unsigned char *data; unsigned short number; @@ -161,11 +153,11 @@ typedef struct _resource_struct { unsigned char status; unsigned short lockers; /* Number of places where this resource was locked */ - struct _resource_struct *next; /* Position marker for the LRU queue */ - struct _resource_struct *prev; + resource_t *next; /* Position marker for the LRU queue */ + resource_t *prev; resource_altsource_t *alt_sources; /* SLL of alternative resource data sources */ -} resource_t; /* for storing resources in memory */ +}; struct ResourceManager { diff --git a/engines/sci/module.mk b/engines/sci/module.mk index 75293d6d7d..be8d7374a4 100644 --- a/engines/sci/module.mk +++ b/engines/sci/module.mk @@ -88,7 +88,7 @@ MODULE_OBJS = \ # Generate savegame.cpp $(srcdir)/engines/sci/engine/savegame.cpp: $(srcdir)/engines/sci/engine/savegame.cfsml $(srcdir)/tools/cfsml.pl - cat $< | perl $(srcdir)/tools/cfsml.pl -f $(<) > $@ + cat $< | perl $(srcdir)/tools/cfsml.pl -f engines/sci/engine/savegame.cfsml > $@ # This module can be built as a plugin ifeq ($(ENABLE_SCI), DYNAMIC_PLUGIN) diff --git a/engines/sci/tools.cpp b/engines/sci/tools.cpp index b1d0829bd6..95b5dd1275 100644 --- a/engines/sci/tools.cpp +++ b/engines/sci/tools.cpp @@ -37,6 +37,7 @@ #ifdef UNIX #include <fnmatch.h> +#include <sys/stat.h> #endif #include "common/archive.h" @@ -315,41 +316,6 @@ void sci_finish_find(sci_dir_t *dir) { #endif -int sci_mkpath(const char *path) { - const char *path_position = path; - char *next_separator = NULL; - - if (chdir(G_DIR_SEPARATOR_S)) { // Go to root - sciprintf("Error: Could not change to root directory '%s'", G_DIR_SEPARATOR_S); - return -1; - } - - do { - if (next_separator) - *next_separator = G_DIR_SEPARATOR_S[0]; - next_separator = (char *)strchr(path_position, G_DIR_SEPARATOR_S[0]); - - if (next_separator) - *next_separator = 0; - - if (*path_position) { // Unless we're at the first slash... - if (chdir(path_position)) { - if (scimkdir(path_position, 0700) || chdir(path_position)) { - sciprintf("Error: Could not create subdirectory '%s' in", path_position); - if (next_separator) - *next_separator = G_DIR_SEPARATOR_S[0]; - sciprintf(" '%s'!\n", path); - return -2; - } - } - } - path_position = next_separator + 1; - - } while (next_separator); - - return 0; -} - /* Returns the case-sensitive filename of a file. ** Expects *dir to be uninitialized and the caller to free it afterwards. diff --git a/engines/sci/tools.h b/engines/sci/tools.h index 9f84ee8cd1..478e79f5e2 100644 --- a/engines/sci/tools.h +++ b/engines/sci/tools.h @@ -27,6 +27,7 @@ #define SCI_TOOLS_H #include "common/scummsys.h" +#include "common/endian.h" /** This header file defines (mostly) generic tools and utility functions. ** It also handles portability stuff, in cooperation with scitypes.h @@ -40,13 +41,6 @@ #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*/ @@ -85,8 +79,6 @@ -#define MAX_HOMEDIR_SIZE 255 - #ifdef WIN32 # define FO_BINARY "b" #else @@ -107,32 +99,10 @@ 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. -*/ +#define getInt16 (int16)READ_UINT16 +#define getUInt16 READ_UINT16 +#define putInt16 WRITE_UINT16 -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 -*/ /* --- */ @@ -220,13 +190,6 @@ char *sci_getcwd(); ** 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 @@ -244,9 +207,6 @@ 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); |