? freesci/src/win32/.inslog2 ? freesci/src/win32/debug ? freesci/src/win32/freesci.ncb ? freesci/src/win32/freesci.sln ? freesci/src/win32/freesci.suo ? freesci/src/win32/fsci_dll.vcproj ? freesci/src/win32/fsci_dll_debug ? freesci/src/win32/sciunpack.vcproj ? freesci/src/win32/sciunpack_debug ? freesci/src/win32/sciv.vcproj ? freesci/src/win32/sciv_debug ? freesci/src/win32/tca.map Index: freesci/src/engine/kfile.c =================================================================== RCS file: /var/cvs/freesci/freesci/src/engine/kfile.c,v retrieving revision 1.52 diff -u -p -r1.52 kfile.c --- freesci/src/engine/kfile.c 25 Jan 2003 13:16:50 -0000 1.52 +++ freesci/src/engine/kfile.c 21 Sep 2003 22:43:46 -0000 @@ -540,6 +540,7 @@ kCheckFreeSpace(state_t *s, int funct_nr int failed = 0; int pathlen; + memset(buf, 0, sizeof(buf)); strcpy(testpath, path); strcat(testpath, "freesci.foo"); pathlen = strlen(testpath); @@ -1001,6 +1002,7 @@ kSaveGame(state_t *s, int funct_nr, int #ifdef _DREAMCAST if (dc_store_savegame(game_id, game_description, savedir_id) < 0) s->acc = 0; #endif + sci_free(savegame_dir); _chdir_restoredir(workdir); } Index: freesci/src/engine/kgraphics.c =================================================================== RCS file: /var/cvs/freesci/freesci/src/engine/kgraphics.c,v retrieving revision 1.172 diff -u -p -r1.172 kgraphics.c --- freesci/src/engine/kgraphics.c 9 May 2003 12:47:22 -0000 1.172 +++ freesci/src/engine/kgraphics.c 21 Sep 2003 22:43:47 -0000 @@ -931,6 +931,11 @@ kDrawPic(state_t *s, int funct_nr, int a gfxop_disable_dirty_frames(s->gfx_state); + + if (NULL != s->old_screen) { + gfxop_free_pixmap(s->gfx_state, s->old_screen); + } + s->old_screen = gfxop_grab_pixmap(s->gfx_state, gfx_rect(0, 10, 320, 190)); SCIkdebug(SCIkGRAPHICS,"Drawing pic.%03d\n", PARAM(0)); Index: freesci/src/engine/kmenu.c =================================================================== RCS file: /var/cvs/freesci/freesci/src/engine/kmenu.c,v retrieving revision 1.42 diff -u -p -r1.42 kmenu.c --- freesci/src/engine/kmenu.c 17 Jan 2003 21:56:09 -0000 1.42 +++ freesci/src/engine/kmenu.c 21 Sep 2003 22:43:47 -0000 @@ -72,10 +72,10 @@ kDrawStatus(state_t *s, int funct_nr, in s->status_bar_foreground=fgcolor; s->status_bar_background=bgcolor; - if (s->status_bar_text) - free(s->status_bar_text); - - s->status_bar_text = NULL; + if (NULL != s->status_bar_text) { + sci_free(s->status_bar_text); + s->status_bar_text = NULL; + } if (text) s->status_bar_text = sci_strdup((char *) s->heap + text); Index: freesci/src/engine/savegame.c =================================================================== RCS file: /var/cvs/freesci/freesci/src/engine/savegame.c,v retrieving revision 1.72 diff -u -p -r1.72 savegame.c --- freesci/src/engine/savegame.c 20 May 2003 22:58:08 -0000 1.72 +++ freesci/src/engine/savegame.c 21 Sep 2003 22:43:48 -0000 @@ -6625,6 +6625,7 @@ gamestate_restore(state_t *s, char *dirn retval->savegame_version = -1; _global_save_state = retval; retval->gfx_state = s->gfx_state; + retval->old_screen = s->old_screen; fh = fopen("state", "r" FO_TEXT); if (!fh) { Index: freesci/src/engine/savegame.cfsml =================================================================== RCS file: /var/cvs/freesci/freesci/src/engine/savegame.cfsml,v retrieving revision 1.53 diff -u -p -r1.53 savegame.cfsml --- freesci/src/engine/savegame.cfsml 13 Jan 2003 01:07:36 -0000 1.53 +++ freesci/src/engine/savegame.cfsml 21 Sep 2003 22:43:49 -0000 @@ -1134,6 +1134,7 @@ gamestate_restore(state_t *s, char *dirn retval->savegame_version = -1; _global_save_state = retval; retval->gfx_state = s->gfx_state; + retval->old_screen = NULL; fh = fopen("state", "r" FO_TEXT); if (!fh) { Index: freesci/src/gfx/menubar.c =================================================================== RCS file: /var/cvs/freesci/freesci/src/gfx/menubar.c,v retrieving revision 1.16 diff -u -p -r1.16 menubar.c --- freesci/src/gfx/menubar.c 6 Jan 2002 10:15:32 -0000 1.16 +++ freesci/src/gfx/menubar.c 21 Sep 2003 22:43:50 -0000 @@ -88,19 +88,19 @@ menubar_free(menubar_t *menubar) for (j = 0; j < menu->items_nr; j++) { if (menu->items[j].keytext) - free (menu->items[j].keytext); + sci_free (menu->items[j].keytext); if (menu->items[j].text) - free (menu->items[j].text); + sci_free (menu->items[j].text); } - free(menu->items); - free(menu->title); + sci_free(menu->items); + sci_free(menu->title); } if (menubar->menus_nr) - free (menubar->menus); + sci_free (menubar->menus); - free(menubar); + sci_free(menubar); } Index: freesci/src/gfx/operations.c =================================================================== RCS file: /var/cvs/freesci/freesci/src/gfx/operations.c,v retrieving revision 1.62 diff -u -p -r1.62 operations.c --- freesci/src/gfx/operations.c 6 Oct 2002 02:24:36 -0000 1.62 +++ freesci/src/gfx/operations.c 21 Sep 2003 22:43:51 -0000 @@ -2016,11 +2016,11 @@ gfxop_new_text(gfx_state_t *state, int f for (j = 0; j < i; j++) gfx_free_pixmap(state->driver, handle->text_pixmaps[j]); - free(handle->text_pixmaps); - free(handle->text); - free(handle->lines); - free(handle); + sci_free(handle->text_pixmaps); + sci_free(handle->text); + sci_free(handle->lines); GFXERROR("Failed to draw text pixmap for line %d/%d\n", i, handle->lines_nr); + sci_free(handle); return NULL; } } Index: freesci/src/sound/polled_ss_win32.c =================================================================== RCS file: /var/cvs/freesci/freesci/src/sound/polled_ss_win32.c,v retrieving revision 1.7 diff -u -p -r1.7 polled_ss_win32.c --- freesci/src/sound/polled_ss_win32.c 13 Jan 2002 14:39:21 -0000 1.7 +++ freesci/src/sound/polled_ss_win32.c 21 Sep 2003 22:43:51 -0000 @@ -200,6 +200,10 @@ sound_win32p_get_event(state_t *s) /* Get event from queue if there is one */ if (sound_eq_peek_event(&ev_queue)) event = sound_eq_retreive_event(&ev_queue); + else { + sci_sched_yield(); + } + } __finally { Index: freesci/src/sound/sound.c =================================================================== RCS file: /var/cvs/freesci/freesci/src/sound/sound.c,v retrieving revision 1.105 diff -u -p -r1.105 sound.c --- freesci/src/sound/sound.c 19 Jan 2003 22:33:03 -0000 1.105 +++ freesci/src/sound/sound.c 21 Sep 2003 22:43:51 -0000 @@ -404,6 +404,7 @@ _sonfree_chain(song_t *song) { if (song) { _sonfree_chain(song->next); + free(song->data); free(song); } } Index: freesci/src/tools/sciunpack.c =================================================================== RCS file: /var/cvs/freesci/freesci/src/tools/sciunpack.c,v retrieving revision 1.34 diff -u -p -r1.34 sciunpack.c --- freesci/src/tools/sciunpack.c 14 Nov 2002 20:07:14 -0000 1.34 +++ freesci/src/tools/sciunpack.c 21 Sep 2003 22:43:51 -0000 @@ -230,7 +230,7 @@ int main(int argc, char** argv) switch (c) { case 256: - printf("sciunpack ("PACKAGE") "VERSION"\n"); + printf("sciunpack"); printf("This program is copyright (C) 1999, 2000, 2001 Christoph Reichenbach,\n" " Lars Skovlund, Magnus Reftel\n" "It comes WITHOUT WARRANTY of any kind.\n" Index: freesci/src/win32/freesci.def =================================================================== RCS file: /var/cvs/freesci/freesci/src/win32/freesci.def,v retrieving revision 1.27 diff -u -p -r1.27 freesci.def --- freesci/src/win32/freesci.def 23 Jan 2003 12:25:04 -0000 1.27 +++ freesci/src/win32/freesci.def 21 Sep 2003 22:43:51 -0000 @@ -106,3 +106,4 @@ EXPORTS _SCI_STRDUP _SCI_FREE sci01_priority_table_flags + con_gfx_init