2002-01-04  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/operations.c (_gfxop_full_pointer_refresh): Update pointer
	position even if no pointer is visible to the operational layer

	* src/engine/kgraphics.c (draw_to_control_map): Fixed OB+1/+1 in
	adding picviews/dropped dynviews to the control map

2002-01-02  Alexander R Angas  <wgd@internode.on.net>

	* src/gfx/drivers/sdl_driver.c: Fixed calling Sleep() twice under
	Win32.
	
	* src/include/engine.h: Explicitly declared millisecond sleep
	resolution for Win32 (sleep).
	
	* src/include/resource.h:
	* src/sound/midiout_win32mci.c:
	* src/sound/polled_ss_sdl.c:
	* src/scicore/tools.c: Altered sleep code to match above.
	
	* src/sound/event_ss.c: Clean-ups and warnings fixes.
	
	* src/sound/polled_ss.c: Included missed fixes to match 1 Nov polled
	ss.
	
	* src/win32/fsci_dll.dsp:
	* src/win32/sciv.dsp: Proper debugger support under Debug build, 
	fixes to Purify build, warnings removals.

2002-01-02  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/include/resource.h (BREAKPOINT): Changed Alpha 'bpt' to
	'call_pal bpt'.

2001-12-30  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/main.c (parse_arguments): Changed no_argument to
	required_argument for --scale-y and --color-depth

	* src/gfx/resource/sci_pic_0.c (_gfxr_plot_aux_pattern): Kicked out
	some complete and utter crap that made the code look like I was drunk
	when I wrote it (OK, some people drink intentionally to dumb down for
	coding, but this doesn't belong into a ChangeLog)

2001-12-29  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (nsrect_clip): Clipping nsRect: Use priority
	band start +1

	* src/engine/kmovement.c (kDoBresen): Improved finish condition

2001-12-28  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kfile.c (kSaveGame): Correctly search for unused
	savegame slots when instructed to store the game state

	* src/engine/scriptdebug.c (c_sci_version): Added sci_version command
	to debugger

	* src/scicore/resource_patch.c (sci0_read_resource_patches): After
	creating additional entry for patch file, write to the entry, and not
	right behind it

	* src/gfx/widgets.c (gfxw_new_text): Use text flags for calculating
	text size

	* src/include/gfx_operations.h:
	* src/gfx/operations.c (gfxop_draw_cel_static_clipped): Added function
	to allow clipped drawing for static views

	* src/gfx/widgets.c (_gfxwop_pic_view_draw): Use
	gfxop_draw_cel_static_clipped() to draw picviews clipped against the
	current port

	* src/engine/savegame.cfsml (gamestate_restore): Fixed support for
	pre-save_dir_copy_buf savegames by testing for this case and allocating
	the memory automagically

2001-12-27  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/include/kernel.h: Priority band algorithms now support 14 (rather
	than 13) bands
	* src/engine/kgraphics.c (kDrawPic): priority_last now 190
	Net result: The algorithm actually matches observations from Sierra SCI

2001-12-26  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (_k_update_signals_in_view_list): Delete stop-
	updatification flag upon position change

2001-12-26  Alexander R Angas  <wgd@internode.on.net>

	* src/sound/event_ss.c: Minor (potential) bug fixes.

	* src/sound/polled_ss.c:
	* src/sound/soundserver.c: Revised polled sound server to match
	behaviour from 1 November. Minor bug fixes. #define OUTPUT_SONG_CHANGES
	for debugging info (and #undef DEBUG_SOUND_SERVER).

2001-12-23  Alexander R Angas  <wgd@internode.on.net>

	* src/sound/event_ss.c:
	* src/sound/polled_ss.c: Suspends sound on song decoding error (so can
	play Hoyle).

	* src/sound/soundserver.c (restore_sound_state): Now overrides master
	volume with 100 if it restores as 0.

	* src/win32/freesci.def: Added script_set_gamestate_save_dir.

2001-12-23  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/sound/polled_ss.c (sci0_polled_ss): Re-implemented end-of song
	handling (Reference: CVS from 2 months ago)

2001-12-22  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/include/vm.h: Renamed del back to delete; don't
	add it if compiling with __cplusplus and assume that
	it's not really needed there

2001-12-20  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (kCanBeHere): Collision checks: Only check
	up to brRight-1 and brBottom-1 (-> Bob Heitman).
	(kCanBeHere): Only collide against the brRect of the target views
	(_k_prepare_view_list): Now add the clipped nsRects of stop-updated
	views to the control map

2001-12-22  Alexander R Angas  <wgd@internode.on.net>

	* src/sound/event_ss.c:
	* src/sound/polled_ss.c:
	* src/sound/soundserver.c:
	* src/include/soundserver.h: Added save_sound_state() and
	restore_sound_state().
	
	* src/sound/event_ss_win32.c: Clean up.
	
	* src/sound/midi_device.c: Fixed tabulation.

2001-12-21  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/sound/polled_ss_unix.c (_sound_server_suspension_handler):
	Added signal handler to handle SIGTSTP and SIGCONT in order not to kill
	the sound server upon ^Z

	* src/main.c (main): Set the save_dir to the CWD _after_ changing into
	the game-specific subdirectory

	* src/engine/savegame.cfsml (gamestate_restore): Current interpreter
	version now overrides savegame interpreter version
	(gamestate_restore): Take the current save path from the current
	one when restoring

	* src/include/kernel.h:
	* src/engine/kgraphics.c (_k_prepare_view_list): Introduced
	internal FREESCI_STOPUPD flag to keep track of views that were stop-
	updated.
	(kCanBeHere): Test against stop-updated dynviews

2001-12-21  Christoph Reichenbach  <jameson@rei>

	* src/engine/kgraphics.c (kCanBeHere): Always collide against brRect
	(_k_prepare_view_list): Draw pics with STOP_UPDATE set to the control
	map
	(kCanBeHere): No longer check against the dynviews, all views we should
	check against are passed as parameters explicitly.

>>>>>>> 1.455
2001-12-20  Alexander R Angas  <wgd@internode.on.net>

	* src/sound/event_ss.c:
	* src/sound/polled_ss.c:
	* src/sound/sfx_save.c:
	* src/sound/sfx_save.cfsml:
	* src/sound/sound.c:
	* src/sound/soundserver.c:
	* src/include/sound.h:
	* src/include/soundserver.h: Very minor fixes. Removed
	add_note_playing(). Added more debugging information when
	DEBUG_SOUND_SERVER is defined.

2001-12-18  Alexander R Angas  <wgd@internode.on.net>

	* src/sound/event_ss.c: Fixed end of track problems.

	* src/sound/polled_ss.c: Now uses stop_all() from soundserver.c.

2001-12-17  Alexander R Angas  <wgd@internode.on.net>

	* src/sound/event_ss.c:
	* src/sound/event_ss_win32.c: Removed excess mallocs.

	* src/fsci_dll.dsp:
	* src/sciv.dsp: Fixed to work properly under Quantify.

2001-12-16  Alexander R Angas  <wgd@internode.on.net>

	* src/sound/event_ss.c:
	* src/sound/event_ss_win32.c: Added sound save and restore.

	* src/sound/sfx_save.c:
	* src/sound/sfx_save.cfsml: New save game version that works on both
	types of sound servers. Still reads old saved games. No crashes yet.
	Problems when restoring on occasions.

	* src/sound/sound.c: Added song_lib_count().

	* src/sound/soundserver.c: Clean ups, rearrangements, minor bug fixes.

	* src/include/soundserver.h: Fixed some variable types and added some
	function declarations.

	* src/sound/polled_ss.c: Now uses functions defined in soundserver.c
	for most sound commands.

	* src/sound/polled_ss_win32.c: Minor synchronisation fixes.

	* src/sound/oldmidi.c (map_MIDI_instruments): Commented out creation of
	freesci_instr log file which does nothing.

	* src/scicore/tools.c (sci_find_first): Commented out ENOENT error
	except on debug builds.

	* src/include/resource.h: Fixed type conversion warning.

	* src/config.c:
	* src/config.l: Added SATISFY_PURIFY to fix UMC.

	* src/win32/fsci_dll.dsp:
	* src/win32/sciv.dsp: Added 'Purify' configuration. Removed HAVE_DDRAW
	from Release builds.

	* src/scicore/sci_memory.c: Fixed error that occurred with new Purify
	configuration.

	* ./README.Win32: Added info on above configuration and sound problems.

2001-12-15  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/sound/polled_ss_unix.c (_sound_server_oops_handler): Print to
	stderr on error

2001-12-13  Alexander R Angas  <wgd@internode.on.net>

	* src/include/gfx_options.h:
	* src/include/sci_conf.h: Fixed types and added note. Fixes crash with
	reverse_stereo in config file.

	* src/config.l:
	* src/config.c: Recreated with correct filename specified in #line
	for easier debugging.

2001-12-12  Alexander R Angas  <wgd@internode.on.net>

	* src/include/sci_memory.h:
	* src/scicore/sci_memory.c: Now checks for invalid pointers on memdup,
	strdup, strndup, and free.

	* src/main.c: Added a bit of commenting.

2001-12-12  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/main.c (main): Made 'free' conditional, could be NULL

	* src/include/soundserver.h: signified sound_cue to fix warnings

2001-12-12  Alexander R Angas  <wgd@internode.on.net>

	* src/sound/polled_ss.c: Fixed wrong MIDI patches being used on
	restore.

	* ./README:
	* ./README.Unix:
	* ./README.Win32: Moved platform-specific stuff to corresponding
	README file.

2001-12-11  Alexander R Angas  <wgd@internode.on.net>

	* src/engine/cfsml.pl: Added more error messages.

	* src/include/resource.h:
	* src/engine/savegame.cfsml:
	* src/engine/savegame.c:
	* src/sound/sfx_save.cfsml:
	* src/sound/sfx_save.c: Now processes text files in text mode.

	* src/sound/polled_ss.c:
	* src/sound/soundserver.c:
	* src/include/soundserver.h: Made polled sound server use sound server
	state struct. soundsrv_save_state() and soundsrv_restore_state() now
	take this struct as a parameter.

	* src/win32/fsci_dll.dsp: Added resource_patch.c to project.

2001-12-10  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/scicore/resource_patch.c: Added support for resource patches

2001-12-09  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/sound/sound.c (song_new): Made the memset() dependant on
	SATISFY_PURIFY to provoke warnings on reads on uninitialized members.

	* THANKS
	* src/engine/kmenu.c: Added Robey Pointer

2001-12-08  Alexander R Angas  <wgd@internode.on.net>

	* src/main.c (main): Fixed various memory leaks occurring with command
	line option selection.

	* src/include/engine.h:
	* src/engine/game.c: Added other_libs_exit() so libraries can clean up
	at the end of the program (for want of a better place to put it).

	* src/sound/polled_ss.c:
	* src/include/soundserver.h: Uses MIDI_CHANNELS #define with
	playing_notes. Improved error messages.

	* src/sound/sound.c (song_new): Made SATISFY_PURIFY permanent code.

	* src/sound/soundserver.c: Improved error messages. Fixed
	change_song(NULL) crash.

	* src/sound/event_ss.c: Dumps song if reaches end of song prematurely.

	* src/sound/event_ss_win32.c: Improved error messages.

	* src/win32/freesci.def: Added other_libs_exit.

	* src/win32/sciv.dsp:
	* src/win32/fsci_dll.dsp: Generates map file on debug builds for
	Purify.

2001-12-07  Alexander R Angas  <wgd@internode.on.net>

	* src/sound/sound.c:
	* src/include/sound.h: Numbered #defines correctly.

	* src/sound/event_ss.c:
	* src/include/win32/messages.h: Added SOUND_COMMAND_DO_SOUND for time
	keeping and SOUND_COMMAND_REVERSE_STEREO messages.

	* src/sound/event_ss_win32.c: Now uses callback functions for timer
	by default. (Define NO_CALLBACKS for previous method.) Adds support
	for reverse stereo.

	* ./README.Win32: Added note regarding MIDI device selection.

	* src/win32/fsci_dll.dsp: Added polled_ss_unix.c.

2001-12-03  Alexander R Angas  <wgd@internode.on.net>

	* src/main.c (main): Removed call to register_sound_messages().

	* src/engine/ksound.c (process_sound_events): Changed if/else -> case.

	* src/include/sound.h: Changed sound events back to #defines. Moved
	SCI MIDI command #defines here.

	* src/include/soundserver.h: Removed SCI MIDI #defines as above.

	* src/include/win32/messages.h: Removed macros for declaring messages.

	* src/sound/polled_ss.c:
	* src/sound/event_ss.c: Added song position to MIDI commands for
	better debugging. Changed if/else -> case.

	* src/sound/sound.c: Changed if/else -> case. Removed
	register_sound_messages().

	* src/sound/soundserver.c: Fixed suspend_all() and resume_all().

	* src/sound/event_ss_win32.cpp: Renamed to event_ss_win32.c. Fixed race
	condition with main thread when sound thread starts. Added mapping
	between Windows messages and #defined sound events.

	* src/win32/fsci_dll.dsp: Fixed for file change above.

	* src/win32/freesci.def: Removed reference to register_sound_messages.

	* src/win32/event_ss_win32_qp.c: Deleted.

2001-12-02  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (_find_view_priority): Support priority map
	OB1 in older SCI versions

	* src/sound/sound.c (sound_command_default): Swapped meanings of
	SOUNDSERVER_FLAG_PIPED (prob'ly intended that way)

	* src/engine/kgraphics.c (kCanBeHere): Added is_object() check to work
	around PQ2 game bug.

2001-11-30  Alexander R Angas  <wgd@internode.on.net>

	* src/sound/event_ss.c (do_sound):
	* src/sound/polled_ss.c (sci0_polled_ss):
	* src/include/sound.h: More MIDI #defines.

	* src/sound/polled_ss_unix.c:
	* src/sound/sound.c:
	* src/include/soundserver.h: Added #define for a piped (UNIX) sound
	driver.

	* src/include/win32/messages.h: Removed #includes.

	* src/sound/event_ss_win32.cpp: Dumped all DirectX stuff for 1ms
	resolution timeSetEvent().

	* src/win32/fsci_dll.dsp: Removed event_ss_win32_qp references.

2001-11-28  Alexander R Angas  <wgd@internode.on.net>

	* src/sound/event_ss_win32.cpp: Fixed race condition for creation of
	semaphore. Attempt to add use of faster clock.

2001-11-26  Alexander R Angas  <wgd@internode.on.net>

	* src/include/engine.h: Made sound_volume and sound_mute unsigned.

	* src/include/sound.h: Removed SOUND_DATA 'command'.

	* src/include/soundserver.h: Added more commenting.

	* src/sound/event_ss.c (sci0_event_ss): Altered way to call
	do_sound(). Fixed memory leak on shutdown.

	* src/sound/event_ss_win32.cpp: Added more checks for returned values
	everywhere. Fixed crash on shutdown. Improved way of checking if data
	is waiting by using event and fixed synchronisation for data_queue.
	Adjusted to match new way to call do_sound() (above).

	* src/sound/event_ss_win32_qp.c: Currently broken.

	* src/sound/sound.c (sound_command_default): Reversed last change made
	by Christoph (temporarily). Added MUTE_ON / MUTE_OFF constants where
	appropriate.
	Removed print_message_map().

	* src/sound/midiout_win32mci.c (midiout_win32mci_open): Fixed Cygwin
	compilation.

2001-11-24  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/sound/sound.c (sound_command_default): Transfer command _before_ data
	when initializing handle

	* src/sound/polled_ss.c (sci0_polled_ss): Fixed master volume guint8 -> int

	* acinclude.m4 (alsa part): Updated for latest libasound

2001-11-23  Alexander R Angas  <wgd@internode.on.net>

	* src/include/win32/messages.h: Removed SOUND_DATA message.

	* src/sound/soundserver.h:
	* src/sound/sound.c: Added MUTE_ON and MUTE_OFF constants.

	* src/sound/polled_ss.c: Improved commenting (slightly).

	* src/sound/event_ss.c (do_sound): Cleaned up code that checks for
	running	status. Fixed SOUND_COMMAND_TEST.

	* src/win32/fsci_dll.dsp:
	* src/sound/event_ss_win32_qp.c: Added fast event ss Win32 sound
	driver (buggy).

	* src/sound/event_ss_win32.c (sci0_event_ss): Fixed memory leak.

	* src/sound/midiout_win32.c (midiout_win32mci_open): Fixed MIDI device
	selection to no longer be arbitrary when a device is not specified in
	the config file (see source for details on device preferences).

2001-11-21  Alexander R Angas  <wgd@internode.on.net>

	* src/engine/grammar.c:
	* src/engine/kgraphics.c:
	* src/engine/kstring.c:
	* src/engine/scriptdebug.c:
	* src/include/vm.h:
	* src/include/vocabulary.h:
	* src/scicore/console.c:
	* src/scicore/script.c:
	* src/scicore/vocab.c: Changed C++ reserved words:
	delete -> del, class -> w_class.

	* src/include/sound.h:
	* src/include/soundserver.h:
	* src/include/win32/messages.h:
	* src/sound/sound.c:
	* src/sound/soundserver.c:
	* src/sound/polled_ss.c:
	* src/sound/polled_ss_win32.c: Updates to allow for event sound
	server.

	* src/sound/event_ss.c:
	* src/sound/event_ss_win32.c: Event sound server with Win32 driver.

	* src/win32/fsci_dll.dsp: Increased warning level for sound server
	files.

	* src/main.c: Added FIXME note for memory that is not being freed.

2001-11-18  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/sound/sound.c (get_msg_value): Fixed strcmpi() -> strcasecmp()

2001-11-17  Alexander R Angas  <wgd@internode.on.net>

	* src/sound/polled_ss.c: Fixed warnings.

	* src/sound/polled_ss_sdl.c:
	* src/sound/polled_ss_unix.c:
	* src/sound/polled_ss_win32.c:
	* src/sound/soundserver.h:
	* src/sound/soundserver.c: Renames of sound_command() to
	sound_command_default(). Slightly different data types for
	queue_event() and queue_command() routines to allow for Windows
	messages. Warnings fixes.

	* src/engine/scriptdebug.c: Rename of calls to sound_command().

	* src/include/sound.h:
	* src/sound/sound.c: Added facility to use Windows messages. Warnings
	fixes.

	* src/include/win32/messages.h: New file.

	* src/engine/ksound.c: Forced to change case statement to if/else.

	* src/main.c: SOUND_COMMAND_TEST gets correct message value.

	* src/win32/freesci.def: Added register_sound_messages and
	get_msg_value that need to be exported.

	* src/win32/fsci_dll.dsp:
	* src/win32/sciv.dsp: Added a couple of header files.

	* src/include/scitypes.h: Changed #if defined(WIN32) to _WIN32.

2001-11-14  Alexander R Angas  <wgd@internode.on.net>

	* src/sound/polled_ss.c: Fixed mute_channel array not being
	initialised properly.

2001-11-13  Alexander R Angas  <wgd@internode.on.net>

	* src/sound/polled_ss.c: New home for sci0_soundserver(), not known as
	sci0_polled_ss().

	* src/sound/soundserver.c: Insert of event sound server functions that
	could be used by polled sound server. Minor cleanups.

	* src/include/soundserver.h: Changes as above. Minor cleanups.

	* src/sound/polled_ss_sdl.c:
	* src/sound/polled_ss_unix.c:
	* src/sound/polled_ss_win32.c: Basically a rename from their
	soundserver_xxx.c equivalents.

	* src/sound/soundserver_sdl.c:
	* src/sound/soundserver_unix.c:
	* src/sound/soundserver_win32.c: Removed.

	* src/sound/Makefile.am:
	* src/win32/fsci_dll.dsp: Fixes for new filenames.

2001-11-12  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/scicore/decompress1.c (decompress1):
	* src/scicore/decompress01.c (decompress01): Removed breakage on
	SATISFY_PURIFY

2001-11-02  Alexander R Angas  <wgd@internode.on.net>

	* src/sound/sound.c:
	* src/sound/soundserver.c:
	* src/sound/soundserver_sdl.c:
	* src/sound/soundserver_unix.c:
	* src/sound/soundserver_win32.c:
	* src/sound/soundserver.h: Code clean up and provision for storage of
	sound server state.

	* src/scicore/tools.c (sci_find_first): More debugging info for ENOENT
	case.

2001-10-30  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/scicore/console.c (c_list_words): Return 0 on success, 1 on error
	(same for list_suffices)

2001-10-29  Christoph Reichenbach  <jameson@linuxgames.com>

	* doc/sci.sgml: Added the missing funcselector offset, fixing a major
	documentation bug

2001-10-24  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/include/kernel.h (SCI0_VIEW_PRIORITY): Augmented by one to test
	a theory

2001-10-23  Christoph Reichenbach  <jameson@linuxgames.com>

	* doc/sci.sgml (temp): Added docs for the font resource

2001-10-16  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/widgets.c (_gfxwop_pic_view_draw): Update the real bounds,
	not the 'draw bounds'

2001-10-15  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/widgets.c (_gfxwop_container_draw_contents): Do not do
	modify area offsets for containers (which have absolute coordinates).

2001-10-14  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/scicore/resource.c (_scir_add_altsource): Fixed a bug in the
	alternative source list

	* doc/sci.sgml: Updated docs to list word types in big endian order
	(as used in FreeSCI), since this appears to make more sense

	* src/include/vocabulary.h (VOCAB_CLASS_NUMBER): Changed vocab class
	for numbers to 1, which seems to be correct after recent doc changes

	* TODO: Removed entries for SCI01 gfx and parser word type swapping

	* src/scicore/console.c (c_list_words): Merged syscall and selector
	listings into the 'list' function. Added 'list words' and 'list
	suffices'.

2001-10-10  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (kDrawPic): Added support for priority table

	* src/gfx/resource/sci_pic_0.c (gfxr_draw_pic0) and operational layer:
	pics now have 'internal' information that can be retreived from the
	interpreter with gfxop_get_pic_metainfo().

	* Improved passing of 'payload' (interpreter gfx config) info to the
	interpreter gfx functions

2001-10-09  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/sound/midi_mt32.c (midi_mt32_sysex_delay): Fixed to use
	usleep()

	* src/engine/kgraphics.c (kCanBeHere): Check against dynviews
	iff (illegal_bits & 0x8000). Because this is how dynviews are
	marked in Sierra SCI.

2001-10-08  Alexander R Angas  <wgd@internode.on.net>

        * src/win32/sciv.dsp, fsci_dll.dsp: Corrected to use the same run-time
        library.

2001-10-06  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/sound/sfx_save.cfsml (soundsrv_restore_state): Fixed memory
	leak when reading erroneous savegames

	* src/scicore/resource.c (scir_new_resource_manager): Improved
	resource detection to handle KQ1

	* src/gfx/widgets.c (_gfxwop_container_draw_contents): Contained
	widgets have relative coordinates, dirty rectangles have absolute
	ones. Changed the function to reflect this.

2001-09-30  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/drivers/xlib_driver.c (xlib_init_specific): Now
	detects screen resolution and uses 1x1 mode if resolution
	is too low

	* src/engine/scriptdebug.c (c_gfx_propagate_rect): Added
	gfx_propagate rect.
	Improved redraw_screen.

	* src/gfx/resmgr.c (gfxr_add_to_pic): Added picadd
	usage of endianness adjustments

2001-09-29  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/resource/sci_pic_0.c: Added two alternative palettes,
	Amiga/AGI and grayscale
	(_gfxr_draw_pattern): Patterns near the right edge of the screen
	are now moved to the left correctly

	* src/engine/game.c (_reset_graphics_input): Got rid of the EGA
	palette copy, used that of the gfx resources instead

2001-09-26  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/sound/midiout_win32mci.c: Stripped ^Ms, ifdef'd for Win32

2001-09-25  Christoph Reichenbach  <jameson@linuxgames.com>

	* Applied Claudio's CYGWIN patch

2001-09-24  Christoph Reichenbach  <jameson@linuxgames.com>

	* configure.in: Use savegame.c line numbers when building with dmalloc
	Guess type sizes by processor type on some target CPUs when
	cross-compiling

	* src/include/sci_memory.h (sci_strndup): Disabled SCI memory stuff
	on UNIX with dmalloc

	* src/scicore/vocab.c (vocab_get_suffices): Suffix vocabulary is now
	locked in the resource manager during the entire game

	* src/main.c (main): Removed a number of (void *) typecast on non-
	MSVC++ systems

	* configure.in: Added AC_CANONICAL_SYSTEM

2001-09-23  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/said.y: Undid fix for SQ3 problem

	* src/scicore/resource.c (_scir_free_altsources): Fixed memory leak

	* src/config.l: Added new options scale, scale_x, scale_y, color_depth

	* src/include/sci_memory.h: Added DISABLE_SCI_MEMORY flag

	* src/gfx/drivers/sdl_driver.c (sdl_init_specific): Only disable mouse
	movement events if we're not emulating the pointer (Thanks, Matt)
	Fall back to emulation on BeOS

	* Applied BeOS patches from Claudio Matsuoka

2001-09-22  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/drivers/sdl_driver.c (sdl_create_cursor_data): SDL pointer
	is now set to transparent 1x1 pixel image when doing pointer
	emulation

2001-09-22  Matt Hargett  <matt@use.net>

	* main.c (main): Eliminate VC++ warnings by explicity casting
	function pointers as (void *).

	* game.c: Fix signed/unsigned comparison warnings.

	* kgraphics.c: Ditto.

	* script.c: Ditto.

	* vocab.c: Ditto.

	* vocab_debug.c: Ditto.

	* old_objects.c: Ditto. Minor reformatting.

	* midi_mt32.c: Explicitly define function arguments as void to
	eliminate VC++ warnings.

	* midi_mt32gm.c: Ditto.

	* midiout.c: Ditto.

	* midiout_win32mci.c: Ditto. Fix build for default VC++ 6.0
	install. Default to MIDI Mapper as device, if available.

2001-09-21  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/said.y: Updated grammar to support nested brackets

	* src/engine/kgraphics.c (_k_dirloop): DirLoop() now doesn't write back
	unless the object's view has exactly four loops

	* src/engine/kfile.c (_chdir_savedir): Now creates the savedir if it's
	no longer existing

	* src/engine/game.c (script_init_engine): Added the sci_mkpath()
	utility function

2001-09-20  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (kEditControl):
	* src/engine/kgraphics.c (_k_draw_control):
	* src/engine/include/engine.h:
	* src/engine/kstring.c: Due to a number of utterly evil hacks, SCI
	games now support string lengths greater than the length displayed for
	the savegame directory.

	* src/sound/midi_mt32gm.c (midi_mt32gm_event): Fixed sound volume (broken
	by invalid typecast), as reported by Matt

2001-09-19  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/resource/sci_pic_0.c (_gfxr_fill_recursive): Fixed write over
	right border of picture
	Fixed treatment of lines dithered with white to permit filling over
	(_gfxr_plot_aux_pattern): Box patterns are drawn one pixel wider than
	specified, as in Sierra SCI

2001-09-17  Alex Angas  <wgd@internode.on.net>

        * src/sound/soundserver_win32.c: Changed use of mutexes to use of
        Win32 CRITICAL_SECTIONs.

2001-09-17  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/drivers/sdl_driver.c (sdl_init_specific): Disabled mouse pointer
	on fullscreen

	* src/engine/kfile.c: Saved and restored the cwd to and from the savegame
	dir in savegame kfunctions

2001-09-16  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/include/resource.h (FO_BINARY): Introduced FO_BINARY, which is "b"
	on Win32 and "" everywhere else

	* Changed Matt's last updates to use it instead of "b" everywhere

2001-09-16  Matt Hargett  <matt@use.net>

        * savegame.cfsml: Add ifdef for WIN32 to workaround creat()
        only using "translation" (ASCII) mode. Specify "b" flag
        to fopen() and "O_BINARY" flag to open().

        * kfile.c: Specify "b" flag to fopen().

2001-09-15  Matt Hargett  <matt@use.net>

        * main.c: Fix compiler warning(s).

        * heap.c: Ditto.

        * kgraphics.c: Ditto.

        * kmath.c: Ditto.

        * kstring.c: Ditto.

        * scriptdebug.c: Ditto.

        * vm.c: Ditto.

        * console.c: Ditto.

        * decompress01.c: Ditto.

        * midi_mt32gm.c: Ditto.

        * decompress0.c: Ditto. Remove misapplied SATISFY_PURIFY ifdef.

        * gfx_crossblit.c: Change VC++ optimization pragmas to
        be active ifndef SATISFY_PURIFY.

        * sciunpack.c: Ditto.

        * gfx_pixmap_scale.c: Ditto.

        * gfx_tools.c: Ditto.

        * sci_memory.c: Ditto.

        * kmovement.c: Readability improvements.

        * oldmidi.c: Ditto.

        * resource_map.c: Open resource map as binary.

        * freesci.def: Fix compilation on VC++.

        * fsci_dll.dsp: Add new file. Define SATISFY_PURIFY by default.

        * sciunpack.dsp: Fix compilation.

        * freesci.dsw: Add sciunpack.dsp to workspace.

2001-09-15  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kmovement.c (initialize_bresen): No longer initializes
	b_movCnt
	(kDoBresen): No longer set mover's coordinates to the client's
	coordinates if finishing by collision

	* src/scicore/resource_map.c (sci0_read_resource_map):
	Set O_BINARY for reading file, for Win32

	* src/engine/kmath.c (get_angle): No longer returns negative
	angles.

2001-09-14  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (kNewWindow): Creating a new window
	now sets "pic_is_new" to inform Animate() that it should
	abort building the dynview list and restart completely.

	* src/engine/game.c (script_init_engine): Savegame directory is
	now preserved during restart.
	(script_init_engine): Locked vocab.996 while using it and allocating
	scripts

	* src/gfx/operations.c (_gfxop_draw_pointer): Fixed parameter to
	correctly grab pixmap on the visual (rather than priority) map,
	fixes emulated mouse pointers

	* Adjusted all files to use new LRU resource manager

	* Adjusted all files for removal of old global variables

	* Adjusted all files for the array name changes

	* src/scicore/resource.c: resource manager theoretically
	functional

2001-09-13  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/include/sciresource.h: array name cleanups

	* src/scicore/resource.c (_scir_free_resources): Resource manager
	updates

	* src/gfx/operations.c (_gfxop_scan_one_bitmask): Bitmask
	scan now compensates for higher-resolution pixmaps

2001-08-29  Matt Hargett  <matt@use.net>

        * README.Win32: Update to reflect current sources.

        * game.c (_reset_graphics_input):  Fixed purify warnings.

        * kgraphics.c (_k_graph_rebuild_port_with_color): Ditto.

        * (draw_to_control_map): Ditto.

        * (kNewWindow): Ditto.

        * vm.c (run_vm): Ditto.

        * (script_detect_early_versions): Ditto.

        * font.c (gfxr_draw_font): Ditto.

        * gfx_tools.c (gfx_new_mode): Ditto.

        * (gfx_new_pixmap): Ditto.

        * (gfx_pixmap_alloc_index_data): Ditto.

        * operations.c (gfxop_set_color): Ditto.

        * (gfxop_free_color): Ditto.

        * (gfxop_draw_box): Ditto.

        * (_gfxop_full_pointer_refresh): Ditto.

        * (gfxop_usleep): Ditto.

        * sci_widgets.c (sciw_new_window): Ditto.

        * (_sciw_add_text_to_list): Ditto.

        * (sciw_new_edit_control): Ditto.

        * sci_pal_1.c (gfxr_read_pal1): Ditto.

        * decompress0.c (decompress0): Ditto.

        * decompress01.c (decompress0): Ditto.

        * decompress1.c (decompress1): Ditto.

        * resource.c (_addResource): Ditto.

        * soundserver.c (sci0_soundserver): Ditto.

        * widgets.c: Ditto. Eliminate signed/unsigned compiler warnings.
        Eliminate redefinition of inline.

        * console.h: Eliminate signed/unsigned compiler warning.

        * console.c : Ditto.

        * sdl_driver.c: Comment out VC++ pragmas for now.

        * sci_view_0.c: Ditto.

        * kstring.c (kFormat): Initialize arguments to prevent
        uninitialized memory read.

        * cfsml.pl: Try to declare variables only if they're going
        to be used. (Eliminates a hundred warnings in VC++.)

        * midiout_win32mci.c: Add include for sci_memory.h.

2001-09-10  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/sound/sfx_save.cfsml: Fixed song_t structure definitions
	to take care of invalid pointer typecasts

2001-09-08  Alex Angas  <wgd@internode.on.net>

	* ./DEBUGGING.Win32: Removed.

	* ./README.Win32: Updated.

	* ./THANKS: Updated to include the old Sierra employees I'm aware of
	that gave us leads or tried to otherwise help.

	* src/sound/soundserver_win32.c: Fixed CreateThread() problem under
	Win9x. Added GetLastError() output on Win32 function failures.

	* src/sound/midiout.c: Moved the null sound driver to be the least
	likely used.

2001-09-06  Alex Angas  <wgd@internode.on.net>

	* src/sound/soundserver.c: Did some very initial commenting.

	* src/include/midiout.h: Added #include <sci_memory.h>.

	* src/win32/sciv.dsp, src/win32/fsci_dll.dsp: Changed SDL directory to
	generic name.

	* src/engine/kernel.c (kGetTime): Added check of return value for
	timeEndPeriod().

	* src/scicore/tools.c (sci_gettime): Removed extra timeBeginPeriod
	call and added check of return value for timeEndPeriod().

	* src/engine/kernel.c; src/gfx/operations.c;
	src/gfx/drivers/xlib_driver.c, sdl_driver.c, dd_driver.cpp,
	ggi_driver.c; src/include/sci_conf.h, resource.h, gfx_operations.h,
	gfx_driver.h, engine.h, soundserver.h; src/scicore/tools.c;
	src/sound/soundserver.c, sound.c, sfx_save.c, sfx_save.cfsml: Made all
	types used for timers consistent (changed from ints to longs).
	Reformatted with indenting.

2001-09-03  Alex Angas  <wgd@internode.on.net>

	* src/sound/soundserver_win32.c: New Win32 sound server.

	* src/sound/sound.c: Added support for Win32 sound server.

	* src/sound/soundserver_sdl.c: Fixed some minor errors with locking
	and unlocking mutices.

2001-08-25  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/include/sci_memory.h: Fixed for C99 inline semantics

2001-08-24  Alex Angas  <wgd@internode.on.net>

	* src/*.c* *.l *.y *.pl *.h: Global search and replace as follows:
	malloc -> sci_malloc, calloc -> sci_calloc, realloc -> sci_realloc,
	free -> sci_free, memdup -> sci_memdup, strdup -> sci_strdup,
	strndup -> sci_strndup.

2001-08-22  Alex Angas  <wgd@internode.on.net>

	* ./acinclude.m4, ./configure.in: Fixed configure script so it actually
	sets #defines now, and added --with-E to give pre-processor output.

	* src/include/kernel.h (INV_SEL): Fixed compiler warnings.

	* src/include/util.h (FLEXARRAY_PANIC): Fixed compiler warnings.

2001-08-19  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/include/sciresource.h: LRU resmanager initial API definition

2001-08-18  Alex Angas  <wgd@internode.on.net>

        * src/scicore/sci_memory.c, src/include/sci_memory.h: Minor
        rearrangement, decent support for configure script.

        * ./acinclude.m4, ./configure.in: Changed support for #defines in
        sci_memory library in the configure script.

2001-08-18  Lars Skovlund  <lskovlun@image.dk>

	* src/gfx/drivers/xlib_driver.c: Now sets the name of the window class.

2001-08-18  Christoph Reichenbach  <jameson@linuxgames.com>

	* configure.in: Added --with-alloc option to set SCI_ALLOC

2001-08-15  Alex Angas  <wgd@adelaide.on.net>

	* src/scicore/sci_memory.c, src/include/sci_memory.h: Library for safe
	allocation of memory and accurate reporting of where calls fail.
	Includes: sci_malloc(), sci_calloc(), sci_realloc(), sci_free(),
	sci_memdup(), sci_strdup(), sci_strndup().

	* src/scicore/tools.c, src/gfx/gfx_test.c, src/scicore/console.c,
	src/include/resource.h, src/scicore/resource.c,	src/include/menubar.h:
	Generally removed various parts and merged into the sci_memory library.

	* src/gfx/menubar.c, src/engine/cfsml.pl, src/engine/savegame.cfsml,
	src/include/console.h, src/gfx/menubar.c, src/sound/sfx_save.cfsml,
	src/sound/sound.c, src/include/sound.h, src/sound/soundserver_sdl.c,
	src/sound/soundserver_unix.c, src/sound/tools.c:
	Removed	redundant code, merged some parts into sci_memory. These files
	were changed to use the sci_memory library.

	* src/scicore/Makefile.am: Now compiling sci_memory.c.

	* src/win32/fsci_dll.dsp, src/win32/sciv.dsp: Now compiling
	sci_memory.c.

	* ./acinclude.m4, ./aclocal.m4: Corrected Web address for dmalloc
	library.

	* src/include/kernel.h (get_nsrect), src/include/sound.h: Fixed Win32
	linkage problem.

	* ./portable_howto.txt: Added message about not using #warning.

2001-08-13  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/drivers/xlib_driver.c (xlib_init): Added listing of
	X11 visuals if initialization fails

	* src/engine/scriptdebug.c (c_vmvars): Fixed vmvars fix

2001-08-11  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/operations.c (gfxdr_add_dirty): Patched visualization bug
	(badly)

	* src/engine/scriptdebug.c (c_gfx_debuglog): Added gfx_debuglog
	function

2001-08-06  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (collides_with): OB1 fix
	(collides_with): No longer clip outside of screen

	* src/engine/kmovement.c (kDoBresen): No longer set completed flag

2001-08-04  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/sound/soundserver.c (sci0_soundserver): Reversed stereo,
	if requested

	* src/include/gfx_system.h (gfx_rects_overlap): fixed
	(function always returned true)

	* src/config.l: Added reverse_stereo option

	* src/gfx/operations.c (_gfxop_remove_pointer): Removing the
	pointer now updates the operational layer's pointer position

	* src/sound/midi_adlib.c: Now includes sys/time.h for
	struct timeval

2001-08-04  Alex Angas  <wgd@adelaide.on.net>

	* src/win32_profiler.bat: _Remove._ (already present in win32 dir).

	* src/win32/fsci_dll.dsp: Changed to point to SDL 1.2.2.
	Added kmovement.c to project source node.

	* src/win32/sciv.dsp: Changed to point to SDL 1.2.2.

	* src/gfx/gfx_crossblit.c: Added optimization pragmas that
	improve performance under Win32.

	* src/gfx/gfx_pixmap_scale.c: As for gfx_crossblit.c.

	* src/gfx/gfx_tools.c: As for gfx_crossblit.c.

	* src/gfx/resource/sci_view_0.c: As for gfx_crossblit.c.

	* src/gfx/drivers/sdl_driver.c: As for gfx_crossblit.c.

	* src/sound/soundserver.c (sci0_soundserver): Fixed memory leak where
	songs were never freed.

	* src/main.c (parse_arguments): Changed text 'sciv' to 'freesci'.

	* src/main.c (main): Fixed text wrapping and output of FreeSCI
	version number which did not work on Win32 (and maybe other platforms).

2001-08-04  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/scicore/tools.c (sci_fopen): Fixed usage of sci_fopen() to work
	with "w" if destination file is not present

	* src/gfx/operations.c: Line clipping now compensates for scaling

2001-08-03  Christoph Reichenbach  <jameson@linuxgames.com>

	* acinclude.m4 (no_alsa): Fixed some libtool dependancies

2001-08-01  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/sound/midiout_ossopl3.c: Ifdef'd ossopl3 usage dependant on
	sys/soundcard.h

2001-07-29  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/scicore/resource.c (resourceLoader): Resource files
	are now read case-insensitively

	* src/include/resource.h: Made sci_open() and sci_fopen()
	global toolkit functionality

2001-07-28  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (_k_view_list_dispose_loop): Test objectity of
	view lists before trying to dispose of them

	* src/engine/vm.c (script_instantiate): Older scripts with size zero
	localvar blocks now don't get those allocated

	* configure.in: Got rid of modules

2001-07-27  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/drivers/sdl_driver.c (sdl_draw_line): Fixed bounds

	* src/gfx/operations.c (_gfxop_get_pointer_bounds): Fixed return value
	for !pxm case

	* src/include/gfx_driver.h: Added FINE_LINE capability flag, changed
	and clarified draw_line semantice for non-fine lines

2001-07-26  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/operations.c (line_check_bar): Clipped against size+1

	* src/engine/kgraphics.c (_k_draw_control): Text controls now derive
	their alignment from their 'mode' selector

2001-07-25  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kmovement.c (kDoAvoider): Fixed angle calculation

	* src/engine/kmovement.c (kDoAvoider): Initial DoAvoider()
	implementation

2001-07-23  Matt Hargett  <matt@use.net>

	* kernel.c (kGetTime): Check return value of
        timeBeginPeriod/timeEndPeriod. Properly wrap all time
        calls.

	* tools.c (sci_gettime): Ditto.

	* dd_driver.cpp: Remove Win32_usleep. Call Sleep instead.

	* graphics_ddraw.c: Ditto.

	* sdl_driver.c: Removed winsock2.h include.

	* soundserver_sdl.c (sounds_sdl_get_command): Change Sleep(0)
        to Sleep(1).

	* freesci.def: Get rid of deprecated functions.

2001-07-22  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/resource/sci_pic_0.c (_gfxr_plot_aux_pattern): When drawing
	boxes, we now draw (size << 1) + 1 instead of +2, to avoid segfault

	* src/sound/midi_adlib.c (midi_adlib_open): Silenced a few warnings

	* src/gfx/sci_widgets.c (sciw_new_button_control): Fixed inverse button
	display for good

2001-07-22  Solomon Peachy <pizza@shaftnet.org>

	* src/gfx/drivers/sdl_driver.c:  Finally fixed the line
        clipping code.
	* src/sound/midiout_ossopl3.c:  Patch path is now configuragle.

2001-07-22  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/operations.c (gfxop_get_event): Implemented event queue

2001-07-22  Alex Angas  <wgd@adelaide.on.net>

	* src/win32_profiler.bat: Now profiles fsci.dll (and DLLs in general).
	(NOTE:	RESUBMISSION.)

	* src/sound/sound.c: Added NO_SOUND compiler directive to disable
	sound server. (NOTE: RESUBMISSION.)

	* src/engine/kernel.c (kRestartGame): Fixed crash when sound server
	is disabled.

	* src/engine/scriptdebug.c: Fixed compilation problem on Win32 (Sleep
	define).

	* src/win32/sciv.dsp: Turned debug info back on in release builds.
	Generating map file for profiling in release builds.

	* src/win32/fsci_dll.dsp: As for sciv.dsp.

	* src/win32/freesci.dsw: Removed SDL_gfxPrimitives from compilation
	files.

2001-07-21  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (kShakeScreen): Fixed ShakeScreen default
	parameter

2001-07-18  Solomon Peachy <pizza@shaftnet.org>
	* src/gfx/driver/sdl_driver.c:  Restored the old sdl linedraw
        code.  Got rid of sdl_gfxPrimitives which was pretty broken,
        and added a bounds check on line draws.

	* src/gfx/gfx_test.c:  compilation fixes.

2001-07-17  Alex Angas  <wgd@adelaide.on.net>

        * src/win32/fsci_dll.dsp: Changed optimizations in release build back
        to 'Minimize Size'.
        Fixed up file list so everything can be found and compiled.

        * src/win32/sciv.dsp: As for fsci_dll.dsp.

2001-07-15  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/sound/midi_adlib.c: Patched to cooperate with Rune's patch

	* src/engine/cfsml.pl: Added several command-line options

2001-07-15  Rune Orsval  <u951663@daimi.au.dk>

	* src/sound/midiout_ossopl3.c: Added

2001-07-14  Solomon Peachy <pizza@shaftnet.org>
        * src/gfx/driver/sdl_driver.c, SDL_gfxPrimitives.c,
          SDL_gfxPrimitives.h, SDL_gfxPrimitives_font.h:  Ripped out the
        sdl line drawing code formerly ripped from the gfxPrimitives
        library, and instead incorporated a much newer version of the
        library into the build.

	* src/sound/midi_adlib.c, src/sound/midi_device.c,
          src/include/midi_device.h:  Many updates to the adlib driver.
          Also it is no longer built when oss is not present.

2001-07-14  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/scicore/vocab.c (vocab_lookup_word): Dashes in words are now
	skipped when looking up the word

	* src/include/vocabulary.h (VOCAB_MAGIC_NUMBER_GROUP): Changed to 0xffd

	* src/gfx/drivers/Makefile.am Silenced some libtool warnings

2001-07-14  Solomon Peachy <pizza@shaftnet.org>

	* src/sound/midi_adlib.c, src/include/midi_device.h,
          src/sound_midi_device.c, src/sound/Makefile.am:  Initial work
          on an adlib (/dev/sequencer for now) sound target.

2001-07-13  Alex Angas  <wgd@adelaide.on.net>

	* src/win32/win32_profiler.bat: Added this file.
        See file for instructions on how to use.

2001-07-13  Christoph Reichenbach  <creichen@rbg.informatik.tu-darmstadt.de>

	* configure.in: Added check for 'inline'

	* src/main.c (init_directories):
	* src/scicore/tools.c (sci_get_homedir): Now assumes that any non-Win32
	is UNIX, to fix builds on some non-gcc UNIX compilers

2001-07-12  Christoph Reichenbach  <jameson@linuxgames.com>

	* configure.in: libreadline is now only checked for if libcurses was
	found

	* acinclude.m4 (CURSHEADER): Fixed (n)curses header file detection

	* src/: Added sciv wrapper script to mark depreciation

	* doc/sci.sgml: Updated sound docs to match Ravi's V9 documentation

2001-07-06  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/main.c (main): Optionalized console file initialization

2001-07-03  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (reparentize_primary_widget_lists): Better
	checking for cases where s->dyn_views isn't initialized

2001-07-02  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/Makefile.am (freesci_LDFLAGS): Renamed sciv to freesci

2001-07-01  Christoph Reichenbach  <jameson@linuxgames.com>

	* doc/sci.sgml: Updates to NewNode() and ShakeScreen()

	* src/engine/klists.c (kNewNode): Reversed node/value pairs, as in
	Sierra SCI

	* src/engine/kgraphics.c (kShakeScreen): Screen shaking now supports
	horizontal and vertical shaking; also, it no longer shakes upwards
	(same as Sierra SCI).

2001-06-26  Lars Skovlund  <lskovlun@image.dk>

	* src/engine/vm.c (run_vm): Re-fixed an old bug in callk wrt old scripts
	* src/engine/kscripts.c (kScriptID): The second parameter was treated as
	mandatory. Fixed.
	* src/config.l: Fixed "unrecognized keyword" error.

2001-06-24  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/ksound.c (process_sound_events): songs' loop selector is no
	longer written to

	* src/engine/kernel.c (kRestartGame): Sound is now turned off when the
	game is restarted

2001-06-14  Christoph Reichenbach  <jameson@linuxgames.com>

	* conf/freesci-config: Added

	* AUTHORS: Added Rune

	* acinclude.m4 (_ac_curses_libnames): Curses check now tests for
	noecho() rather than initscr() to work around problem on IRIX.

2001-06-13  Sam Neely  <sam@sam.net>

        * tools.c (sci_find_first): Fix savegame listing bug by
	skipping over . and .. directory entries.

2001-06-13  Matt Hargett  <matt@use.net>

        * main.c (main): Remove Sleep that didn't fix anything.

        * kfile.c (fcaseopen): Initialize pointers to NULL.

        * (fcaseopen): Initialize pointers to NULL.
        Add check for Win32 directory separator.

	*(caseopen): Ditto.

        * tools.c (sci_gettime): Add calls to increase timer resolution to
        1ms. This may help with sound problems.

        * (sci_find_first): Add error output for errno values of
        _findfirst.

        * freesci.def: Add definition for sci_sched_yield.

2001-06-06  Matt Hargett  <matt@use.net>

        * Add checks for return values of all SDL calls.
        * Initialize some pointers to NULL upon declaration.

2001-06-05  Lars Skovlund  <lskovlun@image.dk>

	* src/engine/klists.c (kNodeValue): Worked around a bug in
	Codename: Iceman.
	* src/engine/vm.c (run_vm): Disabled warning on excessive
	hunk allocations.
	* BUGS-IN-GAMES: New file.

2001-06-03  Christoph Reichenbach  <jameson@linuxgames.com>

	* configure.in (RPM_VERSION): Replaced '-' with '_' in version numbers
	when generating freesci.spec

2001-06-02  Lars Skovlund  <lskovlun@image.dk>

	* src/engine/savegame.cfsml: Added saving of synonym data

2001-05-31  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/sci_widgets.c (sciw_new_window): Fixed OB1 buglet in
	transparent shadows (shadow overdraw)

	* src/include/gfx_resource.h: Re-arranged data structure for 8 byte
	alignment to avoid unaligned traps on Alpha

	* src/sound/soundserver_sdl.c: Renamed to ev_queue to avoid name
	confusion with sound server

2001-05-30  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/main.c (main): Added Threading workaround for Win32

2001-05-29  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/main.c (main): Added sound server sync by checking polyphony
	before starting vm

	* src/gfx/drivers/gfx_drivers.c (gfx_find_driver): Added support for
	systems without dlopen()/with explicit --without-modules

	* configure.in:
	* src/gfx/drivers/Makefile.am: Added --without-modules option

2001-05-28  Christoph Reichenbach  <jameson@linuxgames.com>

	* doc/sci.sgml: Added documentation for scripts

2001-05-27  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/drivers/xlib_driver.c (xlib_draw_filled_rect_RENDER): Added
	support for translucent windows on X11 (if the RENDER extension is
	present). Right now, we're using Keith Packard's hack to work around
	some XFree86 4.0.3 bugs.

	* src/include/resource.h:
	* src/engine/cfsml.pl (create_string_functions): Fixed several
	places where chars were used instead of ints

2001-05-24  Lars Skovlund  <lskovlun@image.dk>

	* src/engine/vm.c: Squashed a localvar allocation bug in
	the handling code for old interpreter versions.

2001-05-22  Christoph Reichenbach  <jameson@linuxgames.com>

	* ltconfig: Added bogus ltconfig file

	* src/main.c (main): Fixed several config entry references

2001-05-21  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/main.c (lookup_driver): Better error message if no default
	driver was found.

2001-05-20  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/tools/sciunpack.c: added support for gcc-3.0

	* src/scicore/decompress0.c (decrypt1): Fixed bug

	* src/scicore/modules.c: Generic fixes

2001-05-19  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/scicore/modules.c: Added file

	* src/config.l:
	* src/main.c: More sophisticated module and path handling

	* src/sound/*.c: Removed several ^Ms

	* src/gfx/drivers/Makefile.am: Fixed build/installation for
	gfx driver modules

2001-05-19  Matt Hargett  <matt@use.net>

        * sci.sgml: Add some documentation for DoBresen.

        * widgets.c(_gfxw_debug_remove_widget): Change memcpy to memmove.

        * midi_mt32.c(midi_mt32_write_block): Check return value of
        midiout_write_block.

        * (midi_mt32_patch001_type): Add NULL check for song parameter.

        * midi_mt32gm.c(midi_mt32gm_open): Print an error if
        midiout_open() fails.

        * (midi_mt32gm_print_instrument): Add NULL check for file
        parameter.

        * (midi_mt32gm_event): Change volume from long to unsigned long to
        eliminate warnings.

        * midiout_win32mci.c: Change win32mci_lastwrote to unsigned int
        to eliminate warnings.

        * (midiout_win32mci_flush): Add Sleep to try and fix reported
        SysEx loading bugs.

        * (midiout_win32mci_write): Correct usage of count. Get rid of
        unnecessary Sleep.

        * sound.c(_sound_expect_answer): Put length of text into variable
        "count" for clarity. Check return value of sound_send_data().

        * (sound_command): Check return value of sound_send_data().

        * (song_new): Change i to unsigned int to eliminate warnings.

        * (song_lib_add): Initialize pointers to NULL upon delcaration.
        Add NULL pointer check for song parameter.

        * soundserver.c: Minor reformatting.

        * soundserver_sdl.c(sound_sdl_get_data): Minor reformatting.

2001-05-19  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/drivers/gfx_drivers.c (gfx_try_open_module): Added
	tracer bullet dlopen() support

2001-05-17  Matt Hargett <matt@use.net>

        * Fixed usage of "count".

        * Removed Sleep() accidentally left in.

2001-05-17  Christoph Reichenbach  <creichen@rbg.informatik.tu-darmstadt.de>

	* src/gfx/resource/sci_pic_0.c (_gfxr_plot_aux_pattern): Bug fix
	for segfault

2001-05-15  Solomon Peachy <pizza@shaftnet.org>

	* src/gfx/drivers/sdl_driver.c:  renamed ERROR to SDLERROR
	                                 changed sdl_sleep heuristics.

2001-05-15  Matt Hargett  <matt@use.net>

        * kgraphics.c: Get rid of unused variables.

        * vm.c: Ditto.

        * antialias.c: Ditto.

        * gfx_pixmap_scale.c: Ditto.

        * widgets.c: Ditto.

        * sdl_driver.c: Ditto.

        * midi_mt32gm.c: Ditto.

        * soundserver.c: Ditto.

        * tools.c: Add include for windows.h.

        * midi_mt32.c: Add prototype for midi_mt32_all_stop().

        * sciv.dsp: Fix debug build. VERSION is now __TIMESTAMP__.

        * freesci.dsp: Ditto. Build changed to multi-threaded DLL.

2001-05-14  Solomon Peachy <pizza@shaftnet.org>
	* src/config.l:  added a plugin_dir option

	* src/include/sci_conf.h: added a plugin_dir option

	* src/sound/soundserver_sdl.c:  change wait semantics for commands

	* src/scicore/tools.c:  change sched_yield to a usleep(0) on
             non-win32 platforms.  seems to solve SDL speed problems

2001-05-13  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/sound/soundserver_sdl.c: Use more sophisticated (but badly
	granularized) functions for waiting for signals
	(sound_sdl_get_command): Some cleanups (slow down everything)

	* src/main.c: Applied Matt's anti-warning patch

2001-05-12  Matt Hargett  <matt@use.net>

        * main.c: Cleanup to eliminate "unused variable" warnings on
        VC++.

        * sciv.dsp: Update VERSION.

        * freesci.dsp: Update VERSION.

        * soundserver_sdl.c: Another try to fix CPU usage. This time
        using SDL_CondWaitTimeout().

2001-05-12  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/resource/sci_pic_0.c (gfxr_draw_pic0): Now yields to scheduler
	after a certain amount of Fill operations

	* src/engine/kgraphics.c (kDoBresen): Bresenham now counts down b-movCnt

	* src/sound/sound.c (sci_midi_command): We now issue implicit note-offs
	for sounds that have been playing too long.

	* src/scicore/tools.c
	* src/include/resource.h: Added sci_malloc(), sci_calloc(),
	sci_realloc(), sci_free() global API functions

	* src/scicore/tools.c: Added sci_sched_yield() function

	* configure.in: Added --without-sdl and --without-ggi options

	* src/scicore/decompress0.c (decrypt1): Applied Nikita's patch to
	strengthen error detection

2001-05-11  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/drivers/ggi_driver.c (ggi_init): GGI driver now supports
	arbitrary resolutions if it can't get the one it wants

2001-05-10  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/resource/sci_pic_0.c (gfxr_dither_pic0): Fixed dither16 to
	dither "the other way 'round", to match Sierra SCI.

2001-05-09  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/sound/sound.c (sci_midi_command): Muted the 0xd1 command

	* src/engine/vm.c (send_selector): Now allows sends to varselectors
	with more than one parameter, unless STRICT_SEND is defined

2001-05-08  Christoph Reichenbach  <jameson@linuxgames.com>

	* debian/Makefile.am: Added debian/ subdir

	* src/include/resource.h: Define __unix__ on OpenBSD and NetBSD, unless
	defined already

2001-05-07  Christoph Reichenbach  <jameson@theta.darmstadt.gmd.de>

	* src/win32/Makefile.am (EXTRA_DIST): Added various Win32 files to
	this directory's EXTRA_DIST

	* src/sound/midiout_alsaraw.c
	* src/sound/midiout_ossseq.c
	* src/sound/midi_mt32gm.c (midi_mt32gm_event2): Sound drivers' write
	command now returns (and is expected to return) negative on error and
	zero or positive on success (bytes written, actually, but that isn't
	tested for and not returned by ossseq yet).

2001-05-06  Christoph Reichenbach  <jameson@linuxgames.com>

	* 0.3.2 release

05-04-2001  Matt Hargett <matt@use.net>

	* README: Add section for win32mci driver.

2001-05-05  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/resmgr.c (gfxr_add_to_pic): Added anti-aliasing and
	endianness adjustments

	* src/main.c (parse_arguments): Now uses bpp instead of bytespp

	* src/sound/midi_mt32gm.c (midi_mt32gm_event2): Re-enabled fine tuning
	output for GM

2001-05-04  Christoph Reichenbach  <jameson@linuxgames.com>

	* doc/sci.sgml: Updates.

05-03-2001  Matt Hargett  <matt@use.net>

        * midiout_win32mci.c (_win32mci_print_error): New function.

	* (all): Changed error reporting in all functions to use new function.

	* Corrected uninitialized memory read.

	* User can now specify device number in config file.

2001-05-03  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (kDirLoop): Now returns gracefully on invalid
	loop numbers, as does Sierra SCI

2001-05-02  Christoph Reichenbach  <creichen@rbg.informatik.tu-darmstadt.de>

	* src/gfx/gfx_support.c (gfx_crossblit_pixmap): Correctly calculates
	alpha mask offset for BE architectures now

2001-05-01  Christoph Reichenbach  <jameson@linuxgames.com>

	* doc/man/sciv.6: Finished man page

	* src/config.l (config_init): Pics are now unscaled by default
	(config_init): Pics now use dither256 mode by default. Everything
	should now be optimized towards correctness and then speed.
	Animation granularity now defaults to 4.
	Animation delay is 5, practically disabled.

2001-04-30  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/drivers/sdl_driver.c (sdl_map_key): Fixed ' ' on SDL
	(sdl_init_specific): Initialized key repeat
	(sdl_draw_line): Fixed minor line drawing glitch

	* src/sound/soundserver_sdl.c: New queued bulk data transfer
	implementation

	* src/gfx/resource/sci_pic_0.c (_gfxr_draw_line): Pic line drawing now
	draws to the correct target coordinates

	* src/gfx/resource/sci_pic_0.c (_gfxr_draw_subline): Added extra checks
	for invalid lines

	* src/gfx/antialias.c (gfxr_antialiase): Fixed antialiasing on BE
	systems

2001-04-29  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/sound/soundserver.c (sci0_soundserver): SDL sound server now
	no longer uses chdir() commands (signalled by setting appropriate
	server-specific flags)

	* src/engine/kmenu.c: Increased number of about-pages to 4

	* src/main.c (parse_arguments): Added -S to long options and option
	explanations

2001-04-27  Solomon Peachy <pizza@shaftnet.org>

	* src/engine/vm.c:  Added a workaround to a compiler bug that
                            resulted in massive heap corruption.

2001-04-27  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (kCanBeHere): Disabled dynview checks
	(kCanBeHere): Clip rectangles are now read as signed values

	* src/engine/kstring.c (kSaid): Reverted to old Said() implementation

2001-04-26  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/antialias.c (antialiase_simple): Fixed bug found by Matt
	(invalid conditions for color values)

2001-04-25  Matt Hargett  <matt@use.net>

	* Fixed some format string problems reported by Insure++.

2001-04-25  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/sound/midi_mt32gm.c (midi_mt32gm_event): Fixed sound mappings
	somewhat

	* Removed various //s

2001-04-25  Matt Hargett  <matt@use.net>

	* src/sound/midiout_win32mci.c: New version

2001-04-24  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/cfsml.pl: Fixed heap corruption caused by staic references
	to string pointers containing strings just read being freed instead
	of the string pointers themselves

2001-04-23  Solomon Peachy <pizza@shaftnet.org>
	* src/sound/soundserver.c, src/sound/soundserver_unix.c,
	  src/sound/soundserver_sdl.c:  Changed exit semantics so that
          we exit at the top level when told to shut down.  This way
          the threaded server can exit cleanly.

2001-04-23  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/scicore/resource.c: Optionalized resource files

	* src/config.l (config_init): Default value for anti-aliasing

	* src/gfx/resource/sci_pic_0.c (gfxr_remove_artifacts_pic0):
	Removing artifacts is now slightly more permissive

2001-04-23  Matt Hargett  <matt@use.net>

	* Updated project/workspace files to define HAVE_USLEEP.

	* Updated win32mci drivers, getting near functional!

	* Updated freesci.def to reflect API changes.


2001-04-23  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/drivers/xlib_driver.c (xlib_init_specific): Added check
	to detect reverse endianness

	* src/gfx/resmgr.c:
	* src/gfx/gfx_resource.c: Added support for reversing endianness

2001-04-22  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/scriptdebug.c (c_sndmap): Added snd and sndmap commands

	* src/gfx/resource/sci_pic_0.c (_gfxr_draw_line): Added 'half' line
	mode

	* src/sound/soundserver.c: Moved soundserver_dead into soundserver.c

	* Added config option and -S parameter to select sound server

	* src/include/soundserver.h: Renamed sfx_driver_t to sound_server_t

	* src/sound/soundserver_unix.c: Renamed soundserver_null to
	soundserver_unix

2001-04-21  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/sound/soundserver_sdl.c (sound_sdl_get_command): Fixed segfault

	* src/sound/soundserver*.c: Removed warnings

2001-04-21  Matt Hargett  <matt@use.net>
	* main.c: Reimplemented ifdef for using win32/getopt.h.

	* soundserver.c: Added include for winsock2.h where fd_get is defined.
	Changed all instances of gettimeofday() to sci_get_current_time().
	Fixed misspelled SCI_MIDI_TIME_EXPANSION_LENGTH macro.

	* midiout_win32mci.c (Win32_usleep): Renamed to usleep and put into a
        common file, usleep.c.

	* usleep.c: New file implements usleep for win32.
        Taken from apache.

	* vocab_debug.c (vocabulary_free_knames): Made loop a bit simpler,
        trying to track down repeatable crashes on Win2k.

	* README.Win32: removed warning about HQ1 not working, added
	recommended pic_antialiasing option.


2001-04-21  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (animate_do_animation): Removed full update
	after transition animations

	* acinclude.m4 (X_LIBS): Fixed XShm detection for non-gcc C compilers

	* src/engine/kgraphics.c (animate_do_animation): Added left/right
	scrolling

	* src/sound/midiout_ossseq.c (midiout_ossseq_write): Fixed sequencer
	failures

2001-04-21  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/scicore/resource.c (loadResourcePatches): Fixed endless loop with
	patch files being too small

2001-04-21  Solomon Peachy <pizza@shaftnet.org>

	* src/include/soundserver.h, src/sound/Makefile.am,
	* src/sound/sound.c, src/sound/soundserver.c,
	* src/sound/soundserver_null.c, src/sound/soundserver_sdl.c
	* src/include/engine.h, src/engine/savegame.cfsml,
	* src/engine/savegame.c

 	The soundserver code is finally abstracted out.  What a hatchet
        job.  Not sure if teh _null server still works, but I'm sure
        there are bugs all over the place anyway.   Savegames are untested,
	and there are probably memory leaks and several unhandled cases all
	over the place.  But it's conceptually complete!

2001-04-21  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/drivers/xlib_driver.c (xlib_init_specific): Fixed xlib alpha
	blending support on Alpha.

2001-04-21  Matt Hargett  <matt@use.net>

	* Updated README to include trilinear filtering options, and put Win32
        back on the list of working platforms.

	* New file for build instructions on Solaris.

	* Updated Win32 README to include my favorite config options and make
	some steps more clear.

2001-04-21  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/config.l (config_init): Explicitly closed yyin

	* src/gfx/antialias.c:
	* src/gfx/resmgc.c: Added anti-aliasing option for pic0

2001-04-20  Solomon Peachyh <pizza@shaftnet.org>

	* src/sound/sound.c:  abstracted out debug output
	* src/sound/soundserver_null.c:  cleaned up the event transfer
                                         mechanism.
 	* src/sound/soundserver_sdl.c:  minor changes.

2001-04-18  Solomon Peachy <pizza@shaftnet.org>

	* acconfig.h,acinclude.m4,aclocal.m4,config.h.in,configure,
          configure.in,src/gfx/drivers/gfx_drivers.c,
          src/gfx/drivers/sdl_driver.c:
             Changed the flags for SDL's detection. HAVE_SDL is only
             defined when the version is great enough.

	* configure, configure.in, src/include/sound.h,
	  src/include/soundserver.h, src/sound/Makefile.am
	  src/sound/sound.c, src/sound/soundserver_null.c,
	  src/sound/soundserver_sdl.c:
            Added a threaded soundserver.  This requires SDL 1.1.8 or
            greater!  It's a work-in-progress, and is combined with a
            gradual refactoring of the soundserver code to share the
            same core.  Test the sound code HEAVILY.  :)

2001-04-18  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/drivers/sdl_driver.c (sdl_fetch_event): Fixed 64 bit
	cleanness issue

2001-04-18  Matt Hargett <matt@use.net>

	* freesci.def: added  midiout_driver_win32mci,
        test_savegame, sci_find_first, sci_init_dir, sci_get_homedir,
	game_restore, sci_find_next to correct link errors.

	* midiout.h: added necessary things for new driver (midiout_win32mci)

	* midiout.c: Ditto.

	* getopt.c: Removed extern to eliminate some link warnings.

	* freesci.dsp: Removed more cruft, fixed debug build.

	* sciv.dsp: Ditto.

2001-04-17  Solomon Peachy <pizza@shaftnet.org>

	* src/gfx/drivers/xlib_driver.c: added a 'disable-shmem' option.
        * src/gfx/drivers/sdl_driver.c:  Added a 'fullscreen' option.

	* src/gfx/drivers/ggi_driver.c:  (all three, actually)  fixed a
              mis-use of strcmp in which the failure case was being
              treated as the success case.

2001-04-16  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/vm.c (script_instantiate): The class table is now
	modified dynamically during run-time whenever a new script is loaded;
	all of the scripts classes are now stored in that table.

	* src/engine/kgraphics.c (kCanBeHere): Added colission checks against
	the dynview list
	(_k_make_view_list): Reversed widget sort order on sequence_nr once again

	* src/gfx/drivers/xlib_driver.c (xlib_init_specific): Used physical
	display depth in a few places.

	* Handled the QUIT event in the interpreter, thus performing the
	appopriate clean-ups.

2001-04-15  Lars Skovlund  <lskovlun@image.dk>

	* src/engine/operations.c: Now keeps track of palette numbers for
	use when overdrawing pics.

2001-04-14  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/main.c: Added quickrestore and --list-savegames options

	* src/engine/kstring.c (kParse): We now set event::claimed: 0 on
	successful parses.
	(kSaid): Update internal state after doing final match

	* src/engine/said.y: Added support for phrases with both optional and
	non-optional wordrefsets.
	* (aug_find_words_recursively): Words are now considered refwords if
	they're either referenced directly or if their immediate parent node
	was referenced.
	* Added YT_LT_PARENO to support referenced parenthese cases specially

	* src/main.c (init_directories): Added WINDIR getenv for Win32,
	as suggested by Matt

	* Added Matt's new dsp files

2001-04-13  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (_k_make_view_list): List is now traversed
	forward

	* src/gfx/widgets.c (_gfxwop_dyn_view_compare_to): Fixed.

	* src/engine/kgraphics.c (animate_do_animation): Misc. fixes

2001-04-12  Matt Hargett  <matt@use.net>

	* src/gfx/drivers/dd_driver.cpp (dd_init_specific): Mode init fix

2001-04-13  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/main.c (init_directories): Made directory handling slightly more
	sophisticated

2001-04-12  Solomon Peachy <pizza@shaftnet.org>

	* src/gfx/drivers/sdl_driver.c: more cleanups for the sdl code.
        * freesci.spec:  Added a .spec file for RPM-based systems.

2001-04-12  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/gfx_pixmap_scale.c: Added inverse Alpha support to all filters

	* src/include/gfx_system.h (GFX_MODE_FLAG_REVERSE_ALPHA): Added gfx mode
	flags for endianness swap and inverse alpha semantics

	* src/gfx/drivers/sdl_driver.c: Fixed a bunch of warnings

	* src/gfx/alpha_mvi_crossblit.c: Fixed alpha-blending crossblitter
	for Compaq's ccc

	* src/sound/soundserver_null.c (sound_null_server): Fixed segfault when
	newsong was NULL

2001-04-12  Matt Hargett  <matt@use.net>

	* src/engine/vm.c:
	* src/gfx/resmgr.c: Pointers inizialized to NULL on declaration
	* src/win32/ : Corrected VC++ project files

2001-04-11  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/resource/sci_pic_0.c (_gfxr_auxbuf_spread): Re-enabled more
	conservative fill spreading code

	* src/gfx/drivers/xlib_driver.c (x_get_event): Added support for insert
	mode

	* src/gfx/drivers/ggi_driver.c (ggi_get_event): Made modifier masks less
	sticky

2001-04-10  Matt Hargett  <matt@use.net>

	* Initialized a couple of pointers to NULL on declaration.
	* kevent.c (sci_toupper): added default case to switch
	* console.c: Added NULL pointer checks.
	* Ran through indent.
	* (c_hexgrep): Corrected potential memory leak where seekstr wasn't freed
        if the resource type was unknown.

2001-04-09  Solomon Peachy <pizza@shaftnet.org>

	* src/gfx/drivers/sdl_driver.c:  Except for colors being all
             wonky, it appears to be fully functional.
	* src/sound/sound.c
	  src/sound/soundserver_null.c:  Only loop if we've explicitly
             set a loop point in a song.  And get rid of the default
             loop point.

2001-04-09  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/sound/midi_mt32gm.c (midi_mt32gm_volume): Fixed volume controls

	* src/engine/kfile.c (kRestoreGame): Restoring a savegame now kills
	the execution stack as completely as possible.

	* src/gfx/resource/sci_pic_0.c: Some improvements regarding pic
	drawing bugs in HQ/QfG

2001-04-08  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kevent.c (kGetEvent): Saved some processor time during
	pointless event loops by explicitly waiting if they were detected

	* src/gfx/drivers/sdl_driver.c (sdl_draw_line): Fixed lines

	* src/sound/midi_mt32gm.c (midi_mt32gm_volume): Added volume controls
	to GM output

	* src/config.l (config_free): Fixed segfault

	* src/gfx/drivers/xlib_driver.c (x_get_event): xlib driver now uses
	X11 modifier bits rather than tracking modifiers manually

	* src/sound/midi_device.c: Made MT32->GM the default layer

	* src/sound/midiout_ossseq.c: Added OSS sequencer driver

	* src/sound/midiout.c: Made ossseq the default midiout driver

	* src/sound/midi_mt32gm.c (midi_mt32gm_event): Several fixes to
	GM->MT32 mapping

	* src/engine/kgraphics.c (collides_with): NO_UPDATE no longer implies
	passive collision immunity

	* src/engine/kfile.c (fcaseopen): (f)caseopen now bails out if
	called for a subdirectory

2001-04-07  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/main.c (main): Added config options for midiout driver

	* src/gfx/drivers/sdl_driver.c (SDL_DISABLE): Defined SDL_DISABLE for
	SDL 1.1.3

2001-04-07  Solomon Peachy <pizza@shaftnet.org>

	* src/gfx/drivers/gfx_drivers.c
	* src/gfx/drivers/sdl_driver.c
	* src/gfx/drivers/xlib_driver.c

	Finished coding the SDL driver.  It compiles, but is rather..
        broken at the moment.    I'm working on it still..

2001-04-07  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/sound/soundserver_null.c (sci_midi_command): Fixed fade-outs
	to be audible

	* src/gfx/widgets.c (_gfxwop_dyn_view_compare_to): Fixed comparisons
	for picview widgets

	* src/engine/kgraphics.c (_k_view_list_dispose_loop): Dropped dynviews
	are now picview widgets

	* src/engine/scriptdebug.c (script_debug): Added clear_screen command

	* src/engine/kgraphics.c (kAnimate): Fixed dropview list to be sorted
	in all cases

2001-04-06  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/game.c (suggested_script): Fixed script suggestion code
	(D'Oh!)

	* src/gfx/widgets.c (gfxw_new_dyn_view): z coordinate is subtracted
	when drawing, leaving 'pos' unmodified

	* src/engine/kfile.c (caseopen): Added case-insensitive file open
	commands

2001-04-05  Solomon Peachy <pizza@shaftnet.org>

	AUTHORS
	acconfig.h
	acinclude.m4
	aclocal.m4
	config.h.in
	configure
	configure.in
	src/Makefile.am
	src/gfx/drivers/Makefile.am
	src/gfx/drivers/sdl_driver.c

	* Added SDL support to the autoconf system
	* a roughtly 50% complete SDL gfx target.  #ifdef'ed out for
          now.

2001-04-06  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/widgets.c (_gfxwop_pic_view_draw): Picviews are now drawn to
	the static buffer for better performance

2001-04-05  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/drivers/xlib_driver.c (x_unmap_key): Added Ctrl/Caps
	remapping when releasing keys (Thanks, Pizza!)

	* src/engine/kgraphics.c (collides_with): Call to nsrect_clip now
	passes the priority value instead of the signal (/D'Oh/)

	* src/engine/savegame.cfsml: Fixed list saving in savegames

	* src/engine/kgraphics.c (kAddToPic): "Single picview" case now reads
	loop and cel from correct parameters

	* src/scicore/console.c (sciprintf): Returns 'int' again to fix
	compilation problems

	* src/engine/vm.c (run_vm): Additional checks

	* configure.in: Ungnuified pre-XSHM X11 check

	* src/gfx/sci_widgets.c (un_prioritize): Changed menus to be drawn
	without priorities

2001-04-04  Matt Hargett  <matt@use.net>

        * vm.c: Added NULL pointer checks on pointers passed into
        interfaces. Initialized new pointers to NULL.

        * resource.h: Changed sciprintf to be void to be consistent
        with documentation.

        * console.c: Ditto.

2001-04-04  Christoph Reichenbach  <jameson@linuxgames.com>

	* (many files): Added appropriate typecasts to fix compiler warnings

	* src/engine/kfile.c (kCheckSaveGame): Added sanity check to prevent
	game saving when sound server is dead

2001-04-03  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/sound/sound.c: Added global variable soundserver_dead

	* src/engine/kgraphics.c (_k_prepare_view_list): Picview priorities
	are now treated the way they were intended to be treated

	* src/engine/vm.c (run_vm): Added support for Script_Local and
	Script_Temp

2001-04-01  Dmitry Jemerov <yole@spb.cityline.ru>

	* src/scicore/old_objects.c, src/scicore/script.c,
	  src/engine/scriptdebug.c, src/engine/vm.c, include/script.h:
	  Brought back the once-lost changes (introduction of new opcode
	  types Script_Local and Script_Temp).

	* src/tools/scidisasm.c: Brought back the once-lost miscellaneous
	  changes.

	* src/scicore/console.c, src/include/console.h: New functions
	  open_console_file and close_console_file. (Working with con_file
	  across DLL boundaries didn't work right).

	* src/tools/sciunpack.c: open_console_file and close_console_file
	  are used instead of working directly with con_file.

	* src/main.c: Ditto.

	* src/win32/*.dsp: Updated project files.

	* src/config.l: Modified the OPT_* macros to use the offsetof
	  macro (ANSI compatible). The old macros didn't work with Visual
	  C++.

	* src/gfx/drivers/dd_driver.cpp, src/gfx/drivers/dd_driver_line.cpp:
	  Renamed from *.c. Added check to force C++ compile.

	* src/include/midiout.h: Disabled midiout_driver_unixraw under
	  Win32.

	* src/sound/midiout.c, src/include/midiout.h: Converted
	  midiout_drivers to an extern defined only once (in midiout.c).

	* src/sound/midi_device.c, src/include/midi_device.h: Ditto with
	  midi_devices.

	* Miscellaneous compile error and warning fixes.

2001-03-28  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/drivers/xlib_driver.c (xlib_error_handler): Made x11_error
	setting ifdef'd

	* src/sound/midiout_unixraw.c (O_SYNC): Added O_SYNC for BSD

	* README.Win32: Updated Hermes URL

2001-03-19  Christoph Reichenbach  <jameson@linuxgames.com>

	* doc/man/sciv.6: Minor updates

2001-03-18  Solomon Peachy <pizza@shaftnet.org>

	* src/sound/soundserver_null.c:  Fixed a dangling else on the
                                         fading code.  oops.  :)
	* src/sound/midi_mt32.c:  Now programs the MT-32 with the
                           default rhythm map, partial reserve, reverb,
			   and volume.
	                   if said data is not in patch.001

2001-03-18  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/scriptdebug.c (prop_ofs_to_id): Now uses the new obj
	offsets
	(c_gfx_draw_viewobj): Added draw_viewobj command

	* src/engine/kgraphics.c (set_base): Now uses xStep as well.

2001-03-17  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/vm.c (script_instantiate): During script initialization,
	static objects' species classes' addresses are now written into the
	places the numeric IDs were contained in, as in Sierra SCI. This
	resolves the problem introduced with the last VM patch.

	* src/engine/kgraphics.c (collides_with): Now reads nsrect directly
	from object

	* src/gfx/drivers/ggi_driver.c:
	* src/gfx/drivers/xlib_driver.c: Added driver-specific config options
	to swap CapsLock and the left Ctrl key (common setup on Sun keyboards,
	and the configuration I personally prefer)

	* src/engine/scriptdebug.c (viewobjinfo): Improved objinfo output

	* src/engine/kgraphics.c (kEditControl): Fixed cursor keys, ALT keys,
	added A-d for "delete word"

	* src/engine/kevent.c (sci_toupper): Shift-TAB is translated now

	* src/engine/kgraphics.c (nsrect_clip): nsrect clipping now works as in
	Sierra SCI
	(GASEOUS_VIEW_MASK): any of NO_UPDATE, REMOVE, or IGNORE_ACTOR now
	ignores the actor wrt CanBeHere

2001-03-16  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/gfx_support.c: Preinitialized alpha threshold to fix gfx_test

	* src/engine/kgraphics.c (kCanBeHere): Changed to behave more like
	Sierra SCI

2001-03-14  Solomon Peachy <pizza@shaftnet.org>

	* src/gfx/drivers/xlib_driver.c:  Added MIT-SHM pixmap support
                  to the Xlib driver.  It is much much faster now.  :)
	* src/sound/soundserver_null.c:   Fixed the fading code so that
                  now 0x0000 is treated as "everything", or a regular
                  handle will also be good.  Also, restore insturment
                  set whenever the song changes.  And lastly, my last
                  commit broke the sending of valid MIDI CC events.

2001-03-14  Christoph Reichenbach  <jameson@theta.darmstadt.gmd.de>

	* src/engine/kgraphics.c (kCanBeHere): CanBeHere now returns success
	if invoked cels with IGNORE_ACTOR or DISPOSE_ME set.
	(_k_view_list_do_postdraw): nsrect -> lsrect copying is now allowed
	(parentheses error)

2001-03-13  Christoph Reichenbach  <jameson@theta.darmstadt.gmd.de>

	* src/engine/kgraphics.c (_k_set_now_seen): Split SetNowSeen()
	into another abs_rect_t function
	(nsrect_clip): Added function for priority line clipping
	(collides_with): Function now collides against nsrects rather
	than bases

	* configure.in: Added X11 MIT-SHM detection

2001-03-12  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/sound/soundserver_null.c (sound_null_server): Sound server now
	sends a loop -1 event before stopping faded song

	* src/gfx/operations.c (gfxop_add_to_pic): Add-to pictures are now
	requested explicitly after being added

2001-03-11  Solomon Peachy <pizza@shaftnet.org>

	* src/sound/soundserver_null.c:  Correct SCI Fading implemented.

2001-03-11  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (kOnControl): Removed invalid fix

2001-03-11  Solomon Peachy <pizza@shaftnet.org>

	* src/include/midiout.h
	* src/sound/midiout.c
	* src/sound/midiout_unixraw.c
	* src/sound/midiout_alsaraw.c:  Added a midiout_flush API
                                          function.
	* src/sound/midi_mt32.c:  Incorporated Rickard's reverb patch.
				  Added midiout_flushes after sysex
                                    writes.
	* src/sound/soundserver_null.c:  Now stops all notes on game
                                           restores.
 					 Fixes the volume setting on
					   game restores.

2001-03-11  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c: loop and cel selectors are now read
	as signed bytes

2001-03-10  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/include/engine.h (MAX_SAVEGAME_NR): Altered savegame limit
	to 20, which is the number of savegames allowed in later versions
	of SCI

	* src/main.c (lookup_driver): Starting up with invalid midiout
	drivers, midi devices, or graphics drivers now aborts with an
	error message written in large, friendly letters

	* src/engine/vm.c (lookup_selector): Looking for the superclass
	now carries the result of a CLASS_ADDRESS() call for static
	instantiations. This avoids the problem that this call may some-
	times implicitly load the superclass, potentially overwriting
	the memory area pointed to by technically invalid (but still
	used) superclass pointers.

	* src/sound/sound.c (sound_get_event): Made event getting a bit
	more solid

	* src/sound/sfx_save.cfsml (recover_version0): Added older sound
	savegame recovery

	* src/sound/Makefile.am
	* src/engine/Makefile.am (savegame.c): Included the cfsml -> c
	code generation in the Makefiles

	* src/gfx/gfx_pixmap_scale.c (gfx_get_pixel_delta): Fixed
	braindead transparency bug in trilinear filter

	* src/main.c (main): Added check for MVI instruction set
	extension; MVI crossblitters are available iff it is found

	* src/sound/midiout_alsaraw.c (midiout_alsaraw_open): Fixed my
	fixes for the ALSA driver

2001-03-10  Solomon Peachy <pizza@shaftnet.org>
	* src/engine/savegame.c
	* src/engine/savegame.cfsml

	Saves and restores the volume / mute status

	* src/include/soundserver.h
	* src/sound/sfx_save.c
	* src/sound/sfx_save.cfsml
	* src/sound/soundserver_null.c

	Saves and restores the midi master volume (and sends it to the
        device upon restore)

2001-03-10  Solomon Peachy <pizza@shaftnet.org>

	* src/sound/soundserver_null.c:  Restore instrument map &
                                         reverb status on game restore.
	* src/sound/sfx_save.cfsml:  Added in new[er] song_t state,
                      such as the polyphony, reset on stop, etc.
	* src/sound/sfx_save.c:  compiled above cfsml file.
	* src/include/soundserver.h:  Added in reverb state to the
                                      song_t thingey.
	* src/sound/sound.c: Initialize the maxfade, reverb settings

2001-03-10  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (kOnControl): OnControl now considers
	dynviews

	* src/gfx/alpha_mvi_crossblit.c: Fixed missing spilled register
	entries in the MVI crossblitter

2001-03-09  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/gfx_pixmap_scale.c (gfx_get_pixel_delta): Fixed bad
	pixels in trilinear filtering

	* src/engine/kmenu.c: Listed Emmanuel in the 'about' page

	* src/engine/klists.c (kAddAfter): Applied AddAfter patch by
	Emmanuel Jeandel

	* configure.in: Removed libXmu from the X library set

	* src/include/resource.h: Made MIN and MAX #ifndef'd

	* src/gfx/gfx_pixmap_scale.c (FUNCNAME_TRILINEAR): Added a
	trilinear pixmap filter

2001-03-08  Solomon Peachy <pizza@shaftnet.org>

	* src/include/soundserver.h   : added SCI midi event defines
	* src/sound/midi_mt32gm.c     : source cleanup.
	* src/sound/soundserver_null.c:
		mute at end of fade.
		treat 0x0000 as 'fade current'
		treat SUSPEND as a switch (operates on paused songs)
		Strip out midi event code into its own function
	* src/sound/sound.c           : Fixed a case where calling
                unmute would mute the sound if it was never muted first.

2001-03-06  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (_k_view_list_dispose_loop): dispose_loop
	now restores under_bits where appropriate

	* src/scicore/vocab.c (vocab_synonymize_tokens): Applied Patch by
	Emmanuel Jeandel to fix synonymizing

	* src/gfx/resource/sci_pic_0.c (_gfxr_auxplot_brush): Fixed random
	numbers.

2001-03-04  Solomon Peachy <pizza@shaftnet.org>
	* README
	  src/config.l
	  src/config.c
	  src/main.c
	  src/include/sci_conf.h
	  src/include/midi_device.h
	  src/sound/soundserver_null.c

	Added configfile and cmdline args for midiout and mididevice.
	(see README and -h)

	* src/sound/midi_mt32gm.c

	Now handles pitch bend (0xe0).

2001-03-04  Solomon Peachy <pizza@shaftnet.org>

	* src/include/Makefile.am
	  src/sound/midi_mt32.c
	  src/sound/midiout.c
	  src/sound/soundserver_null.c

	Minor cleanups and eliminating dead code, most notably
        midi_mt32.h

	* src/sound/Makefile.am
	  src/sound/midi_mt32gm.c
	  src/sound/oldmidi.c
	  src/include/midi_device.h
	  src/include/sound.h

	Added in the "mt32gm" midi device.  Considered pre-alpha
        quality for now.  There's not currently any way to switch
        devices at the moment.

2001-03-05  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/alpha_mvi_crossblit.c: Added "accellerated" MVI
	crossblitter

2001-03-04  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (animate_do_animation): Unclipped opening
	animations

	* src/gfx/sci_widgets.c (finish_titlebar_list): Fixed menu
	priorities

2001-03-03  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/gfx_pixmap_scale.c (WRITE_YPART): Fixed bilinear filter

	* src/include/gfx_resource.h: Added a backup for the visual pic's
	undithered data, to be used for cumulative drawing

	* src/engine/kernel.c (kfree): kfree now sets the freed data to
	NULL, to allow checking for invalid kernel handles

2001-03-02  Solomon Peachy <pizza@shaftnet.org>
	* src/include/sound.h:  Stripped out some useless midimap stuff.
	* src/sound/midi_mt32.c:  Fixed a bunch of things from patch.001
                                   - reverb definitions correctly loaded.
			           - sends default reverb on init
				   - sends default volume on init
	* src/sound/soundserver_null:  Minor changes:
		- reverb no longer set on every song load.
		- allstop() moved from SONG_INIT to SONG_PLAY.

2001-03-03  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/sound/soundserver_null.c (sound_null_server): The sound
	server now only sets loops to -1 if the song ended "naturally".

2001-03-02  Solomon Peachy <pizza@shaftnet.org>

        * src/sound/soundserver_null.c:  A cleaner way of handling the
        playflag for the rhythm channel.  Sound server now returns
        polyphony in the SOUND_COMMAND_TEST call.
	[that makes twice a cvs commit has conflicted this out of
         existence...]
        * src/sound/midi_device.c
          src/sound/midi_device.h
          src/sound/midi_mt32.c:  Addition of a polyphony value to the
        midi_driver struct.  Cleaner debug output for midi events.
        Device specific in midi_mt32, rest is in midi_device.

2001-03-02  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/sound/soundserver_null.c (sound_null_server): Sound server now
	waits _before_ executing MIDI command rather than _after_ doing so.

	* src/gfx/drivers/xlib_driver.c (x_get_event): Translated X mouse
	button events appropriately

	* src/sound/sound.c (sound_command): Successful sound tests now
	return 32

	* src/sound/soundserver_null.c (sound_null_server): Applied patch
	by Rickard to improve sound server

2001-03-02  Solomon Peachy <pizza@shaftnet.org>

	* include/Makefile.am
	  include/midi_device.h
	  include/midi_mt32.h
	  sound/Makefile.am
	  sound/midi_device.c
	  sound/midi_mt32.c
	  sound/soundserver_null.c

	Now we have an abstracted midi_device API, with things like
	midi_open, midi_noteon, midi_volume, etc.

	Also changed -- Ignoring the Rhythm channel is now a
                        device-dependent flag.
		     -- ...channel masks were broken from day 1.
                     -- Addition of an allstop() when switching songs.

2001-03-02  Solomon Peachy <pizza@shaftnet.org>

	* src/include/sound.h
	  src/sound/oldmidi.c
	  src/tools/sciunpack.c:  Will generate MIDI0 songs with the
                                    appropriate 'play flag'.
	* src/include/soundserver.h:  Added a polyphony count for each
                                         channel

	* src/sound/midi_mt32.c
	  src/include/midi_mt32.h
	  src/sound/soundserver_null.c:  Tracks polyphony
					 Adheres to the 'play flag' per
                                            channel per device.

2001-03-02  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/sound/midiout_alsaraw.c: Compilation fixes for alsaraw
	* src/config.l (parse_option): Minimal bug fix for silly error message

2001-03-01  Solomon Peachy <pizza@shaftnet.org>

	* src/sound/Makefile.am
	  src/sound/midiout_alsaraw.c:  Added ALSA rawmidi out support;
				        Currently hardwired to c0d0.

2001-03-01  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/config.l: Simplified config.l management

	* configure.in: Added check for ALSA (originally by Chris Lansdown)

2001-03-01  Solomon Peachy <pizza@shaftnet.org>
	* sound/midi_mt32.c:  Fixed a overflow problem with reverb.
	                      All sysex-generating events now
                                 incorporate the necessary delays.
                              Cleaned up return values.
			      Added better debugging output.
			      Added necessary delays to avoid mt32
                              buffer overflows on sysex dumps.
	* sound/midiout.c:    Fixed a D'oh! on midiout_write_event
	* sound/midiout_unixraw.c:  Better debug output.
	* sound/soundserver_null.c: Better debug output.
				    Error checking on midi_writes
	* include/midiout.h
	  sound/Makefile.am
	  sound/midiout_unixraw.c:  Added in the unixraw driver.
	* sfx/ROADMAP:  Documentation updates.

2001-03-01  Solomon Peachy <pizza@shaftnet.org>

	* include/midiout.h
	  sound/midiout.c:  Reworked the midiout architechure.  Now
                            supports multiple midiout drivers.
        * main.c:  Added midiout know-how to the cl parser.

2001-02-28  Solomon Peachy <pizza@shaftnet.org>

	* include/midi_mt32.h
	  sound/midi_mt32.c
	  sound/soundserver_null.c:   Added reverb support

2001-02-28  Solomon Peachy <pizza@shaftnet.org>

	* include/Makefile.am
          sound/Makefile.am:        New files added to build.
	* include/sound.h:          Beginnings of sound driver.
	* sound/soundserver_null.c: Tweaked debug output
	* include/midi_mt32.h
	  sound/midi_mt32.c:        mt32 midi code
	* include/midiout.h
	  sound/midiout.c:          midiout framework & null driver

	FreeSCI now has near-complete MT32 support!

	Basically, the midi "driver" just discards stuff instead of
        actual writes.  Only thing currently lacking is reverb.

2001-02-28  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (kAnimate): Make all dynviews invulnerable
	wrt to annihilate() during Animate()

2001-02-27  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (_k_make_dynview_obj): Made initial widgets
	impervious to snapshots (and, thus, annihilate() operations)

	* src/engine/kmenu.c: Added George Reid (FreeBSD package maintainer)
	to the list of contributors

2001-02-26  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/savegame.cfsml (gamestate_restore): Fixed savegames.
	Updated savegame version number to 2. Savegames now also remember the
	active port and background pics.

	* src/gfx/sci_widgets.c (sciw_set_menubar): Fixed menubar line

	* src/gfx/widgets.c (_gfxwop_container_set_visual): List widgets
	no longer dirtify their parents during set_visual() if they are empty

	* src/engine/klists.c (listp): When verifying lists, sizes of both 6
	and 8 (6 +2 bytes heap padding) are allowed now.

	* src/config.l: Added new alpha threshold option

	* src/gfx/operations.c (gfxop_new_text): Fixed text rendering for
	pixels below the bottom line

2001-02-25  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (kDrawControl): Added full redraw to
	DrawControl()
	(kCanBeHere): Fixed collision checking
	(_k_draw_control): Fixed trivial OB1 issue when determining control size

	* src/engine/kevent.c (kGlobalToLocal): G2L and L2G now use port->zone
	instead of port->area

	* src/config.l: Fixed config system to allow numeric values in some
	places (as described in the original documentation)

	* src/gfx/gfx_support.c (ALPHA_FACTOR1): Increased crossblit
	alpha threshold to 0x81

2001-02-24  Solomon Peachy <pizza@shaftnet.org>

	* README,
	  doc/man/sciv.6:  fixed some documentation to reflect reality.

2001-02-23  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (kAnimate): Sped up pic transition animations

	* src/gfx/gfx_crossblit.c: Removed dithering from crossblitter

	* src/gfx/drivers/xlib_driver.c (xlib_init_specific): Fixed index color
	mode in the xlib driver

	* src/gfx/widgets.c (_gfxwop_dyn_view_compare_to): Implemented
	precedence forcing for dynviews

2001-02-22  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/gfx_pixmap_scale.c: Fixed bug that would break some less
	common scaling factors, along with 1x1

	* src/gfx/resource/sci_pic_0.c (_gfxr_draw_line): Re-formulated pixmap
	line drawing macro expansion to work around gcc bug on ia32

	* src/engine/kmenu.c (kSetMenu): Added support for multiple actions in
	SetMenu()

2001-02-21  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/gfx_support.c (ALPHA_FACTOR2): Added linear filter

	* src/include/sciresource.h: Split resource.h in two

	* src/include/gfx_operations.h: Removed scroll offset

	* src/engine/kgraphics.c (kDoBresen): Movement counter in mover objects
	is now increminated each time DoBresen() is run

2001-02-20  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (kAddToPic): Always reparentize dynview list
	after AddToPic()

2001-02-19  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/said.y (aug_find_words): Altered word finding to consider
	base words in relative clauses as relative words, too

	* src/gfx/widgets.c: Factorized equivalence relation between strings

	* src/engine/kgraphics.c (_k_view_list_dispose_loop): Dropped views may
	draw to the control map if flagged appropriately (like picviews)

	* src/gfx/operations.c (_gfxop_init_common): Fixed invalid flag setting

	* src/engine/kgraphics.c (_k_view_list_dispose_loop): Restart operation
	after gfxw_annihilate()

2001-02-15  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/drivers/xlib_driver.c (xlib_draw_line): Fixed typo
	causing endless loop
	(xlib_grab_pixmap): Fixed remaining memory holes in xlib driver

2001-02-14  Solomon Peachy <pizza@shaftnet.org>

        * src/sound/soundserver_null.c
          src/sound/sound.c
          src/include/soundserver.h

	Implemented midi event 0xb? 0x4c -- ResetOnLoop.
	Fixed some logic problems handing midi eventx 0xb? and
	 Absolute Cues.
	Added some debug output to display non-trapped midi events.
        Some will be removed later when I print out the MIDI
        implementation charts for the MT32.

2001-02-14  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/drivers/xlib_driver.c: Fixed most of the remaining issues
	with the xlib driver

2001-02-11  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/vm.c (send_selector): Added support for matching
	objects rather than object/selector pairs

2001-02-10  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/scriptdebug.c (disassemble): Fixed reported jump
	target values

	* src/gfx/menubar.c (menubar_add_menu): Search for beginning
	of description string before checking for hbar

2001-02-09  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/sound/soundserver_null.c (sound_null_server): No longer
	decrement number of loops if looping indefinitely

2001-02-08  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/resource/sci_cursor_0.c: Fixed SCI0 cursors to use
	2 colors only

2001-02-07  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/sound/sound.c (sound_command): Implemented a better song
	transfer protocol

2001-02-01  Christoph Reichenbach  <jameson@linuxgames.com>

	* doc/sci.sgml: Added missing Said() rule
	Added pic documentation
	Added Huffman decoding algorithm
	Mentioned anyword and words with types 0x100, 0x200, 0x400
	Updated some doc stuff

2001-01-29  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/resmgr.c (gfxr_pic_xlate_common): Return unscaled
	pic if requested

	* src/sound/oldmidi.c: Cleanups and bug fixes by Rickard Lind

2001-01-27  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/include/gfx_tools.h: Removed 'inline' in function declaration

	* src/gfx/gfx_line.c (DRAWLINE_FUNC): Fixed line drawing on big-endian
	processors

2001-01-25  Christoph Reichenbach  <jameson@linuxgames.com>

	* doc/man/sciv.6: Updated man page for the 0.3.1 release

	* src/engine/kevent.c (scancode): Added scancode converter
	for cases where ALT-something is used

2001-01-23  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/widgets.c (_gfxwop_ordered_add): Fixed adding items
	into ports
	(_gfxwop_port_add): Added missing return statement

	* src/tools/Makefile.am: Merged 'sciunpack' with 'listwords',
	'scriptdump', and 'vocabdump'. Got rid of 'classes'.

2001-01-22  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (kAnimate): Dropping a dynview in the
	active port causes the dynview list to be re-parentized

	* src/gfx/widgets.c (gfxw_annihilate): Disposing dynviews now
	also disposes graphics drawn over them

	* src/scicore/tools.c (sci_gettime): Petr's alternate sci_gettime
	for Win32 was added

	* src/engine/scriptdebug.c (c_heap_dump_all): Added heapdump_all
	command to debug memory lossage in Hoyle

2001-01-21  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/resource/sci_view_0.c (gfxr_draw_view0): Allocating 0
	loops changed to allocate /some/ memory

	* src/engine/game.c, src/engine/cfsml.pl, src/engine/savegame.cfsml:
	Fixed various (all?) memory leaks

2001-01-20  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/gfx_resource.c (gfxr_free_view): Fixed memory leak
	when freeing views

2001-01-19  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/scicore/tools.c (sci_find_next): Implemented find_first/
	find_next for Win32 and UNIX

	* src/engine/kscripts.c (kClone): Fixed usage of write_selector
	for ANSI C

	* src/include/resource.h and scitypes.h: Fixed Win32 support

2001-01-18  Lars Skovlund  <lskovlun@image.dk>

	* src/gfx/font.c (gfxr_font_calculate_size): Made font renderer
	  accept NULL strings.

2001-01-16  Solomon Peachy <pizza@shaftnet.org>

	* src/engine/ksound.h: Implemented _K_SOUND_VOLUME

	* src/include/engine.h: Added volume/mute to game state

	* src/sound/sound.c:  Implemented VOLUME and MUTE commands

	* src/sound/soundserver_null.c:  Debug output on VOLUME & MUTE

2001-01-15  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (kAnimate): Fixed pixmap freeing

	* src/scicore/resource.c: Fixed memory leak in resource management

	* src/engine/grammar.c: Fixed memory leak when merging lists

	* src/scicore/console.c (con_init_dmalloc): Added console interface
	to dmalloc

2001-01-15  Lars Skovlund  <lskovlun@image.dk>

	* Added extended Clone() functionality.

2001-01-15  Christoph Reichenbach  <jameson@linuxgames.com>

	* Applied Solomon's patches for dmalloc support, a free(NULL)
	fix, and widget->free() to widget->widfree()

	* Countless minor fixes all over the place (had a look at -Wall
	output)

2001-01-14  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/main.c (init_gfx): Fixed use of interpreter version

2001-01-13  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (kAnimate): No reparentization for non-
	empty dynview lists

	* src/engine/kgraphics.c (kAnimate): Caught the case where
	dynviews invoke DrawPic

2001-01-12  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (_k_draw_control): Fixed list control
	support for list addresses beyond 0x8000

	* src/gfx/resmgr.c (gfxr_get_pic): Fixed support for unscaled
	pic0

2001-01-11  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/operations.c (_gfxop_set_pic): Fixed support for
	pic0_unscaled

	* Removed dependancies on libpng and libglib

	* src/gfx/resource/sci_pic_0.c (gfxr_dither_pic0): Truly limited
	range of colors to 16 colors if requested

	* src/gfx/widgets.c (_gfxwop_visual_free): Fixed warnings/errors;
	fixes suggested by Petr Vyhnak

2001-01-10  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/resource/sci_resmgr.c (gfxr_interpreter_calculate_pic):
	Fixed scaled pic drawing to use actual options

	* src/main.c (main): Cleanup, new options and support for config.l
	stuff was added

2001-01-09  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/config.l: Added support for new config options (see README)
	to enable various features of the new gfx subsystem

	* src/engine/kgraphics.c (kAnimate): Auto-reparentized dynviews
	in every Animate() step.

2001-01-08  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/tools/Makefile.am: Enabled SCI tools again

	* src/gfx/menubar.c: Beautified menubar

2001-01-07  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/savegame.cfsml (read_any_widget): Missing prototype
	and missing return value fixed, as suggested by Petr

	* src/gfx/operations.c (gfxop_set_color): Fixed color problems
	in color index mode

2001-01-06  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kernel.c (kMemoryInfo): MemoryInfo mode 4, by
	Petr Vyhnak

	* src/gfx/widgets.c (_gfxwop_container_free_tagged): widget fix
	by Petr Vyhnak

	* src/engine/cfsml.pl: Updated cfsml to (apparently) conform
	to version 0.8 of the spec (boostet spec's version number
	appropriately :-)

2001-01-03  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/widgets.c (_gfxwop_container_draw_contents): Fixed
	clipping bug introduced by yesterday's fixes

	* src/gfx/gfx_resource.c: Fixed drawing to 24 or 32 bpp displays
	on big endian machines

2001-01-02  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/widgets.c (_gfxwop_container_add_dirty): Dirty rects are
	now stored in containers even if they're outside of the container's
	bounds

	* src/engine/kgraphics.c (_k_make_dynview_obj): Fixed priority bug
	(kDrawPic): Cumulative DrawPic now frees dynview lists

	* src/gfx/menubar.c (menubar_map_pointer): Fixed menu mouse
	pointer support

	* src/gfx/sci_widgets.c (sciw_set_status_bar): Fixed memory
	leak

	* src/include/resource.h: Applied BREAKPOINT() patch VC++ by
	Petr (and some other fixes)

	* src/engine/kmenu.c (kMenuSelect): Fixed priority problems with
	menu bar

2001-01-01  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kmenu.c (kMenuSelect): Re-enabled MenuSelect().

	* src/gfx/widgets.c (_gfxw_container_id_equals): Added support for
	MULTI_ID

	* src/engine/kgraphics.c (kAddToPic): Dynviews are now moved behind
	picviews in the draw list.
	(kAddToPic): Implemented alternate AddToPic() invocation
	(kShakeScreen): Fixed ShakeScreen to unclip the area it draws to

2000-12-31  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (kAnimate): Fixed usage of free_tagged()
	for dynviews (and free_tagged() itself)

	* src/gfx/widgets.c (_calc_needmove): Fixed snapshot problems with
	text widgets claiming a greater size than they have

	* src/gfx/operations.c (_gfxop_set_pointer): Fixed pointer issues in
	CB1

	* src/gfx/resmgr.c (gfxr_get_pic): Fixed problems with flags and
	default palette not being accounted for when determining the
	availability of a pre-rendered pic

	* src/engine/kgraphics.c: Considerably simplified the use of widgets
	in kgraphics.c

	* src/gfx/widgets.c (_gfxwop_port_free): Fixed port freeing to update
	the visual appropriately.

	* src/gfx/gfx_test.c (sciprintf): Fixed gfx_test's compiles with the
	updated headers

2000-12-31  Lars Skovlund  <lskovlun@image.dk>

	* src/engine/vm.c (script_instantiate): Squashed another old interpreter bug.

2000-12-30  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/resource/sci_pic_0.c (_gfxr_fill): Added extra check to make
	sure non-empty data is not filled twice

	* src/engine/said.y (aug_contains_word): Added support for ANYWORD

	* src/engine/kgraphics.c (kDisplay): Reimplemented Display
	(kSetJump): Fixed SIGFPE on Alpha
	(_k_view_list_dispose_loop): Dropped dynviews now have their ID removed

	* src/engine/scriptdebug.c (c_dump_words): Added a command to dump all
	words from vocab.000

	* src/gfx/sci_widgets.c (sciw_new_edit_control): Added blinking to
	edit controls

2000-12-29  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (kGraph): Line drawing now expects absolute
	coordinates, like Sierra SCI
	(_k_draw_view_list): Made view lists honor the HIDDEN view flag more
	thoroughly

	* src/gfx/operations.c (_gfxop_draw_pointer): Fixed inconsistency when
	changing mouse pointer while off-screen

2000-12-29  Lars Skovlund  <lskovlun@image.dk>

	* src/gfx/resource/sci_pic_0.c (_gfxr_fill): Fixed another SQ3 intro
	  bug
	* src/engine/kernel.c (kGetTime): Added new GetTime() semantics.
	  Docs coming RSN.

2000-12-29  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c: Allowed dynviews and picviews to be relocated
	into ports
	(kAnimate): Added automatic dynview/picview relocation when the port they
	were contained in is removed

	* src/gfx/widgets.c (gfxw_new_dyn_view): Fixed z coordinate support

2000-12-28  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (assert_primary_widget_lists): Fixed OB1 bug for
	dynviews (not a bug, actually)

	* src/gfx/resmgr.c (gfxr_get_pic): Fixed missing mode hash which used to
	cause a segfault in the sq3 intro

	* src/gfx/resource/sci_pic_0.c (gfxr_clear_pic0): Fixed missing cleanup
	caused by the last patch

2000-12-25  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/resource/sci_pic_0.c (gfxr_clear_pic0): Fixed problems with
	SCI0 pic titlebar priorities

2000-12-24  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (kAddToPic): Added support for pic views

	* src/gfx/widgets.c (_gfxwop_container_add): Fixed spurious warnings
	when adding a widget to an unsorted container

	* src/gfx/operations.c (_gfxop_set_pic): Fixed control map handling

	* src/engine/scriptdebug.c (c_gfx_show_map): Implemented the
	gfx_show_map command

	* src/gfx/widgets.c (gfxw_hide_widget): Added functionality to show and
	hide widgets, and used it to fix several bugs.
	(_gfxwop_dyn_view_compare_to): Fixed y comparison

	* Misc fixes as suggested by Petr Vyhnak

	* src/engine/kfile.c: Added first_file() and next_file() implementations
	for win32 by Petr Vyhnak

2000-12-23  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/widgets.c (_gfxwop_dyn_view_draw): Fixed dynviews being
	drawn to incorrect coordinates
	(gfxw_remove_ID): Fixed some of the problems related to dynviews
	being "forgotten"

	* src/engine/game.c (_reset_graphics_input): Fixed problems with
	text boxes being drawn under other widgets

	* src/gfx/drivers/ggi_driver.c (ggi_update): Fixed priority buffer
	propagation from the back buffer to the front buffer

2000-12-22  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/widgets.c (gfxw_new_dyn_view): Fixed priority management

	* src/gfx/gfx_line.c: Implemented line drawing for drivers that need
	it

	* doc/sci.sgml: Merged Ravi's updated docs into our docs

	* Various fixes by Petr Vyhnak (resource code, graphics code).

2000-12-18  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/scriptdebug.c: Added commands to view the dynviews,
	picviews, and (if widget debug is enabled) widget list.

2000-12-17  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/drivers/ggi_driver.c (ggi_init): Fixed a bug in the default
	ggi initialization caused by subtle libggi API changes.

2000-12-16  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/operations.c (gfxop_scan_bitmask): Implemented
	functionality for OnControl() and enabled OnControl() stuff

	* src/engine/scriptdebug.c (script_debug): Re-enabled the debugger
	(for text input only)

	* src/include/gfx_drivers_list.h: #ifdef'd the ggi driver

2000-12-11  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c: Implemented display lists

	* src/gfx/widgets.c (gfxw_new_dyn_view): Fixed dynamic views somewhat

2000-12-10  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/scicore/decompress1.c: Implemented DCL-EXPLODE

2000-12-02  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/widgets.c (_gfxwop_container_draw_contents): Altered the
	drawing algorithm to draw non-ports first, then ports.

	* src/engine/kgraphics.c: Added BaseSetter and SetNowSeen
	(kDrawCel): Changed cel drawing to draw to the current port

	* src/gfx/sci_widgets.c (sciw_new_list_control): Added list controls

	* src/gfx/widgets.c (_gfxwop_rect_draw): Fixed OB1 bug in rect
	drawing (OB1x1, actually ;-)

	* src/gfx/drivers/ggi_driver.c (ggi_get_event): Fixed long-standing
	caps lock bug in the gii input driver

	* src/gfx/sci_widgets.c (sciw_new_edit_control): Added support for
	edit controls (and a few other controls)

2000-12-01  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/operations.c (gfxop_draw_rectangle): Fixed minor display
	problem

	* src/gfx/sci_widgets.c (sciw_new_button_control): Added button
	controls

	* src/gfx/widgets.c (_gfxwop_view_draw): Views are now drawn to the
	appropriate position

2000-11-26  Christoph Reichenbach  <jameson@linuxgames.com>

	* doc/sci.sgml: Added Petr's stuff, added a chapter about resource
	files, minor updates and fixes

2000-11-25  Christoph Reichenbach  <jameson@linuxgames.com>

	* THANKS: Added Petr Vyhnak

	* src/engine/kmenu.c: Updated the "About FreeSCI" menu entry stuff

	* src/engine/kgraphics.c (kCelHigh, kCelWide): Added checks for
	calls with 3 != argc

2000-11-24  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/gfx/widgets.c: Changed the widget system to a more OO-based
	structure.

2000-11-10  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/include/gfx_widgets.h: Renamed gfx_state.h to gfx_widgets.h

	* src/include/gfx_state_internal.h (WIDGET_COMMON): Started writing
	down ideas for a better widget implementation

	* src/gfx/resource/sci_pic_0.c (_gfxr_auxbuf_fill_helper): Replaced
	bpt assembler operation with a decent BREAKPOINT();

2000-09-19  Lars Skovlund  <lskovlun@image.dk>

	* src/engine/kgraphics.c: Fixed small SCI01 pic goof
	                          Implemented GRAPH_REDRAW_BOX
	* src/engine/kfile.c: Fixed reversed FileIO parameters
	* src/engine/vocab.c: Added support for SCI01 vocabulary

2000-09-16  Lars Skovlund  <lskovlun@image.dk>

	* src/engine/kernel.c: Fixed Memory() bug and warnings

2000-08-15  Lars Skovlund  <lskovlun@image.dk>

	* src/engine/kfile.c: Added (SCI01) FileIO kernel call
	* src/engine/kernel.c: Added (SCI01) Memory kernel call
	* src/engine/kevent.c (kGetEvent): Added break-on-event support
	* src/scicore/resource.c (loadResources): Fixed an autodetection problem

2000-08-07  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/said.y: Added support for 'word1 < [ word2 ]' in the
	parser (same semantics as 'word1 [ < word2 ]')

2000-06-25  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/include/resource.h (getInt16): Fixed getInt16() for some little
	endian RISC architectures

2000-06-13  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (kCanBeHere): Slightly less restrictive
	(like on_control())

	* src/graphics/font.c (get_text_size): Switched back to old SCI be-
	haviour

2000-06-11  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (_k_make_view_list): Picviews no longer leave
	white control zones if their signal flag "IGNORE ACTOR" is set

2000-06-10  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/vm.c: superClass properties are now set to the address of
	the super class even for static objects and classes

	* src/graphics/con_io.c (con_input): Fixed cursor key support for the
	on-screen console

	* src/engine/scriptdebug.c (c_objs): Added the 'objs' console command
	to list all objects and clones by name

2000-06-09  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/graphics/menubar.c (menubar_draw_menu): Backing up the menu
	ports now backs up the priority map

	* src/engine/vm.c (run_vm): Fixed(?) support for successive linking
	on multiple sends

2000-06-08  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kfile.c (kFOpen): Added resource directory fallbacks
	for external data files

	* src/scicore/vocab_debug.c (vocabulary_get_knames0): Fixed bug that
	would remove support for very early SCI games with lots of kernel
	functions missing

	* src/engine/kevent.c (kGetEvent): GetEvent() now invalidates the
	parser event

2000-06-06  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kstring.c (kParse): Fixed generic invoke_selector
	problems manifesting here

2000-06-06  Lars Skovlund  <lskovlun@image.dk>

	* src/engine/kernel.c (kRestartGame): Restarting would trash the
	save_dir string. Fixed.
	* src/include/versions.h: Fixed strange-looking SCI01 version numbers
	(1.1024.072)

2000-06-05  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/scicore/console.c (sciprintf): Fixed support for classic libc
	vsnprintf

	* src/engine/kgraphics.c (_k_make_view_list): Internal priority is
	now set for picviews if the original priority was less than or equal
	to zero

	* src/graphics/font.c (get_text_size): Algorithm now works like the
	draw_text algorithm, fixing some window size problems

	* src/engine/kgraphics.c (kDirLoop): Angles are now modded by 360

2000-06-04  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (kOnControl): Fixed OnControl() to test one
	pixel less in each direction

	* src/engine/vm.c (send_selector): Fixed send_selector() for variable
	selector sends with &rest active

	* src/engine/kgraphics.c (_cmp_view_object): Changed view object
	sorting to take the original order into account when both y coordinates
	are identical

2000-06-03  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/vm.c (run_vm): The 'call' operation now enforces the local
	variable context it was called from

	* src/graphics/font.c (text_draw): grayed-out text is now displayed
	correctly

	* src/graphics/menubar.c (menubar_add_menu): Menu items which were
	last on the list and didn't have a right part weren't added correctly.
	Fixed.

	* src/engine/kstring.c (kFormat): Fixed kFormat() support for
	minimum widths for numbers
	(kSaid): Altered Said() to use the event::claimed selector rather
	than an internal status variable to store whether the event has
	been claimed

	* src/engine/vm.c (_lookup_selector_functions): Cloned objects
	didn't get their parent objects' selector functions checked. Fixed.

	* src/engine/kgraphics.c (kCanBeHere): Altered CanBeHere to return
	part of the object's signal selector or 1, and to scan one less line
	(kTextSize): TextSize() now returns the maximum width instead of the
	calculated width if the maximum width was specified

2000-06-02  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (kDoBresen): Removed explicit handling of
	b_movCnt in DoBresen() and InitBresen()

	* src/engine/scriptdebug.c (c_backtrace): Fixed varselector entries
	in stack traces

	* src/graphics/menubar.c (menubar_add_menu): Added support for tag
	assignments before the start of the right part of a menu item

	* src/graphics/window.c (draw_frame): Fixed frames not being clipped
	correctly before being drawn

	* src/graphics/engine_graphics.c (graph_on_control): Fixed a clipping
	bug that would cause memory beyond the allowed area to be read

	* src/engine/kgraphics.c (_k_make_view_list): During the picview
	list generation, the internal priority is set to the actual generated
	priority (unless the object doesn't have an nsRect), but not written
	back to the object. Also, a 0xf-colored control block is written in
	that case (nsRect and initial picview list generation), as specified
	in Lars' specs.

2000-06-02  Lars Skovlund  <lskovlun@image.dk>

	* src/engine/scriptdebug.c (disassemble): When disassembling property
	  manipulation instructions ([aps]To[aps]), now displays the property
	  name in addition to the property offset.
	* src/engine/script.h: The opcode enum is now complete (I think).

2000-06-01  Lars Skovlund  <lskovlun@image.dk>

	* src/engine/klists.c (kDeleteKey): Now returns a result

2000-06-01  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (kCanBeHere): Fixed clipping not to check for
	the IGNORE_ACTOR flag on the object being clipped

	* src/include/kernel.h (VIEW_PRIORITY): Fixed priorities once again

	* src/graphics/input.c (sci_key_xlate): Improved key code translation

	* src/engine/savegame.cfsml: Added some stuff to keep track of savegame
	versions

	* src/graphics/font.c (_text_draw_line): Fixed font drawing to draw up
	to sizeof(unsigned long) pixels

	* src/engine/game.c (_reset_graphics_input): Set default font priority
	to -1 for the standard ports

	* src/engine/scriptdebug.c (c_visible_map): Fixed set_vismap to
	work in on-screen console mode
	(c_showfont): Added 'showfont' command to display a complete font
	set

2000-05-28  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (_k_invoke_view_list): Implicit base
	setting now occurs before the object in question is invoked.

	* src/engine/kernel.c (kMemoryInfo): Fixed MemoryInfo to handle
	parameters 2 (largest available hunk) and 3 (free hunk total).
	For the time being, 0xffff is returned.

	* src/engine/kstring.c (kFormat): Fixed Format to handle '%u'
	(kSaid): All matches fail if Said() was successful previously

2000-05-27  Christoph Reichenbach  <jameson@linuxgames.com>

	* doc/sci.sgml: Various documentation updates

2000-05-23  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/include/menubar.h: Fixed menus to work with Said specs of
	up to 64 bytes

	* src/graphics/graphics_glx.c : Implemented the glx target

2000-05-22  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/include/kernel.h (VIEW_PRIORITY): Fixed priorities

	* src/tools/Makefile.am (sciconsole_LDADD): Another build fix

	* src/engine/vm.c (game_run): Changed the Restore() to use replay()
	after restoring the game state

	* src/engine/kfile.c (kSaveGame): Fixed a savegame index bug

2000-05-21  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/graphics/engine_graphics.c (graph_draw_control_icon): Fixed bug in
	icon control drawing using priority 16 rather than -1

	* src/include/uinput.h: Fixed function key keycodes

	* src/include/kernel.h (VIEW_PRIORITY): Fixed priority calculation

	* src/engine/said.y: Another kludge to emulate LR(2) behaviour

	* src/sound/soundserver_null.c (verify_pid): Process aliveness testing
	is now done with kill() instead of examining /proc

2000-05-20  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kfile.c (update_savegame_indices): Added sorting for
	savegames

	* src/engine/kmenu.c (kMenuSelect): TAB now matches C-I in the menu
	bar

	* src/graphics/menubar.c (menubar_set_attribute): Added support for
	said specs in the menu bar

	* src/engine/game.c (script_init_engine): Added more checks for old
	script data

2000-05-20  Lars Skovlund  <lskovlun@image.dk>

	* src/engine/vm.c (run_vm): callk now ignores &rest arguments for old
	  script versions.
	* src/engine/game.c (script_init_engine): Called detect_early_versions() before resetting version_lock_flag. Fixed.

2000-05-20  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/vm.c (execute_method): The local variable block is now
	set to the remote script when using calle

2000-05-19  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/scicore/vocab.c (vocab_get_suffices): Fixed suffix vocabulary

2000-05-18  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/game.c (script_init_engine): Fixed a rampaging >=
	by replacing it with a <=.

	* src/engine/said.y (said): Implemented the augmenting algorithm

2000-05-15  Dmitry Jemerov  <yole@nnz.ru>

	* src/engine/game.c (script_init_engine): Fixed the bug causing
	"Invalid class number..." messages in script_init_engine() when
	trying to load scripts with no classes.

        * src/main.c: The version specification in the configuration
        file didn't work. Fixed.

2000-05-15  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (kEditControl): Fixed a bug that would
	cause edit boxes to be dotted at all times

	* src/engine/grammar.c (_vocab_add_rule): More fixes to Parse()

2000-05-14  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/said.y: Significant improvements in Said() tree building.

2000-05-13  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/grammar.c (_vocab_build_gnf): Changed the list writing
	order. This should make Parse() behave more like the original.

2000-05-11  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/graphics/engine_graphics.c (graph_draw_control_control): Fixed
	some color value bugs
	(graph_draw_control_text): Added dotted selectable text frames

	* src/engine/kmath.c: Implemented functions similar to TimesTan()
	and TimesCot().

	* src/engine/kgraphics.c (initialize_bresen): Removed the chased_obj
	code; chasing the player is explicitly handled by SCI bytecode.
	Counting b_movCnt down instead of up made sure this was triggered
	correctly.

2000-05-10  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/grammar.c: Implemented Parse() in a sensible way

2000-05-07  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (kDoBresen): Monsters now chase the player
	in QfG1

2000-05-06  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/graphics/engine_graphics.c (graph_update_box): Fixed display bug
	that could cause missed display updates and memory corruption

	* src/engine/vm.c (run_vm): lea with its first operand's 4th bit set
	now uses twice the accumulator value for relative offsetting

	* src/engine/savegame.cfsml: Fixed savegame bugs related to incomplete
	picview information being stored

	* src/engine/kgraphics.c (_k_draw_control): List control now behaves
	like the Sierra SCI one

	* src/engine/kernel.c: Completely fixed restarting (?)

	* src/engine/game.c (script_init_engine): The interpreter no longer
	recurses in script loading while loading script 0, fixing some bugs in
	the restart code

	* src/graphics/graphics.c (draw_view0): Pictures with negative priority
	are now drawn correctly

2000-05-03  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (_k_make_view_list): Picviews no longer
	have their priority implicitly calculated
	(_k_make_view_list): Negative priorities are treated correctly now
	for views

	* src/include/uinput.h: Fixed key management to behave more like
	Sierra SCI

	* src/engine/kscripts.c: Write/read attempt to invalid selectors
	will now dump more debug info

	* src/engine/kgraphics.c: Several fixes for games that don't have
	the 'z' and 'completed' selectors

	* src/engine/kgraphics.c (_k_make_view_list): View lists are now
	sorted by 'y', fixing several priority bugs.

2000-05-02  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/engine/kgraphics.c (kOnControl): Made OnControl cooperate with
	SQ3
	(kTextSize): Fixed TextSize() for empty strings (plus some signedness
	fixes)

	* src : Split core/ into scicore/ and engine/

2000-04-28  Lars Skovlund  <lskovlun@image.dk>

	* src/core/kmath.c (kGetDistance): Implemented optional fifth parameter
	* src/core/kstring.c (kSaid): Made Said() ignore NULL pointers

2000-04-25  Lars Skovlund  <lskovlun@image.dk>

	* src/core/kGraphics: Changed CanbeHere() yet again.
	* src/core/scriptdebug.c: Added range checking for set_vismap

2000-04-24  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/kgraphics.c (kCanBeHere): CanBeHere now returns OnControl()
	on success (or 1 if OnControl() returned 0).

	* src/core/kstring.c (kSaid): Minor fixes to the simplified Said()
	code

	* src/core/scriptdebug.c (c_debuglog): Added debuglog option +/- S
	for Said specs (the part not added by Dmitry)

	* src/core/kgraphics.c (_k_save_view_list_backgrounds): Fixed bug
	which set underBits to 0xffff by clipping loop and cel data before
	saving the background.
	(_k_make_view_list): Fixed clipping mechanism employed while building
	the view list

	* src/graphics/graphics.c (view0_base_modify): Base modify used
	identical values for x and y offset (excessively wrong). Corrected.

	* src/core/kgraphics.c (kNumCels): NumCels() now accepts illegal
	loop values, like most other kernel functions (clipped to the maximum
	loop)
	(_k_base_setter): The same for BaseSetter()

	* src/graphics/engine_graphics.c (graph_draw_selector_icon): Drawing
	icon controls no longer uses the cel adjustments, fixing graphical
	glitches in several miniature menus.

2000-04-22  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/kgraphics.c (kCanBeHere): Fixed several bugs in CanBeHere().

	* src/core/scriptdebug.c (c_viewinfo): Minor fix to the viewinfo
	console command

	* src/core/kmath.c (kSinDiv): Fixed SinDiv and CosDiv to take their
	parameters in the correct order

	* src/core/simplesaid.c (simplesaid): Improved handling of bracketized
	expressions

2000-04-21  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/main.c (get_readline_input): Inputting C-D is now handled like
	entering "quit" when not using the OSD.

2000-04-19  Dmitry Jemerov  <yole@nnz.ru>

	* Some more build fixes. Hopefully everything is stable now.

2000-04-18  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/simplesaid.c (simplesaid): Fixed minor bug

2000-04-17  Dmitry Jemerov  <yole@nnz.ru>

	* Updated project files.

	* Converted freesci/Win32 to use dynamic linking. Made a lot of
	little changes all over the place.

	* src/tools/sciunpack.c: Brought back the changes lost because of
	Rink Springer's DOS port.

	* portable_howto.txt: New file.

2000-04-17  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/vocab.c (vocab_lookup_word): Fixed several bugs in extended
	(suffix-using) word lookup.

2000-04-16  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/kgraphics.c (_k_make_view_list): Fixed the "out of hunk"
	problems once and for all (I hope) by keeping a copy of the underbits.

	* src/core/kscripts.c (kIsObject): Caught IsObject(0xffff), thus
	preventing an unaligned read.

	* src/core/scriptdebug.c (c_mem_info): Added hunk information to
	the meminfo console command

	* src/core/simplesaid.c: Implemented a simple and preliminary almost-
	Said() implementation that handles some of the basic expressions.

	* src/core/kstring.c (kParse): A pointer to the event passed to
	Parse() is now stored and later used in Said() to claim the event
	on matches.

2000-04-16  Lars Skovlund  <lskovlun@image.dk>

	* src/core/kgraphics.c (k_set_now_seen): Fixed warning messages caused
	  by my new code

2000-04-16  Lars Skovlund  <lskovlun@image.dk>

	* src/core/vocab_debug.c (vocabulary_get_knames1): Fixed kernel names
	  loading for Christmas Card 1990 (Season's Greetings)
	* src/core/kgraphics.c (kAnimate): Fixed problem with the main menu
	  in Hoyle's Book of Games.

2000-04-14  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/scriptdebug.c (c_sim_parse): Implemented a 'simparse'
	console command.

2000-04-14  Lars Skovlund  <lskovlun@image.dk>

	* src/core/graphics.c: Got rid of the KQ1 pic-related error messages

2000-04-13  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/vocab.c: Fixed compile problem caused by a new array.

	* src/core/kscripts.c (kDisposeClone): underBits are no longer freed
	automatically, as suggested by Lars. Stabilizes KQ1 and does not seem
	to harm any other games.

2000-04-13  Lars Skovlund  <lskovlun@image.dk>

	* src/tools/listwords.c: Added this nifty little program.

2000-04-12  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/kernel.c: Took care of DoAvoider()

	* src/core/kgraphics.c (kSetNowSeen): Implemented SetNowSeen()

	* src/core/klists.c (kEmptyList): Implemented EmptyList()
	(kAddAfter): Implemented AddAfter()

2000-04-12  Dmitry Jemerov  <yole@nnz.ru>

	* The usual bunch of build problem fixes.
	* Updated project files according to latest changes in source code
        structure.

2000-04-11  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/kgraphics.c (_k_draw_control): Frames are now drawn around
	all edit controls.

	* src/core/kgraphics.c (kCanBeHere): dynviews with IGNORE_ACTOR
	or DONT_RESTORE don't just actively ignore moving objects, they
	also are passively ignored now.

	* src/graphics/engine_graphics.c (graph_draw_selector_control):
	Savegame names are now drawn correctly (?) in the savegame selection
	lists. They aren't selectable yet, though.

2000-04-10  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/game.c (game_exit): Fixed restarting in KQ4"y resetting
	the list of installed scripts

	* doc/sci.sgml: Added BaseSetter(), MemInfo(), DirLoop() to the docs

2000-04-09  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/savegame.cfsml: Made sure synonyms are stored in
	savegames

	* src/core/kfile.c (kRestoreGame): Fixed some inconsistencies in
	savegame handling

	* src/core/vm.c (run_vm): Fixed several severe sign extension bugs

	* src/sound/soundserver_null.c (sound_null_server): Fixed a deadlock
	situation that could happen when a song finished playing

	* src/main.c (main): Added Rickard to the list of people mentioned in
	the startup message

	* src/core/vm.c (game_run): Fixed a bug that would cause several
	scripts to be allocated twice during startup (all scripts required
	by script 0, except for script 0 itself).

	* src/core/kgraphics.c (kAnimate): Fixed drawing of disposed views to
	occur before the 'normal' images retreive their background image. Took
	care of many visual problems in the KQ4 introduction.

2000-04-08  Christoph Reichenbach  <jameson@linuxgames.com>

	* acinclude.m4 (AC_PATH_GLX): Fixed incorrect handling of the X11
	header file -L instruction in cases where it's null

2000-03-25  Lars Skovlund  <lskovlun@image.dk>

	* src/core/kgraphics.c (kNewWindow): Bit 7 of the window flags wasn't
	  handled correctly. Fixed - this should take care of some of the
	  problems related to CB1 and Camelot box drawing
	* src/core/kgraphics.c (kGraph): Added an (incomplete) implementation
	  of KERNEL_GRAPH_REDRAW_BOX
	* src/core/scriptdebug.c (c_dynviews): Added dynviews console command

2000-03-18  Lars Skovlund  <lskovlun@image.dk>

	* Fixed priority drawing for Camelot

2000-03-07  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/kernel.c (kGameIsRestarting): Fixed some problems with the
	restarting flags being set incorrectly

	* src/sound/soundserver_null.c: Sound server now checks for its parent
	process several times per second. This should get rid of the problem
	with sound server processes running amok after sciv dies.

	* src/core/game.c: Fixed some heap corruptions

	* src/core/vm.c (game_run): Added support for game restarts. First
	restarts (used in KQ4 to enter the actual game) appear to work nicely,
	normal restarts (F9) still need some fine tuning to prevent heap
	corruption.
	(PUT_HEAP): Added code to check for unaligned access

	* src/graphics/font.c (_draw_text0): Fixed problem with KQ4 using
	the newline character for the IV thingy in the title bar

2000-03-06  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/scriptdebug.c (c_mem_info): Added meminfo command

2000-02-13  Lars Skovlund  <lskovlun@image.dk>

	* Fixed the menubar bug (?).

2000-02-08  Christoph Reichenbach  <jameson@linuxgames.com>

	* Added several fixes and improvements that had been lost (!)

	* src/graphics/engine_graphics.c: Implemented additional checks.

2000-02-07  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/kstring.c (kParse): Fixed a guaranteed segfault if
	vocab_tokenize_string() failed

2000-01-30  Lars Skovlund  <lskovlun@image.dk>

	* src/core/kgraphics.c: Implemented SetJump().

2000-01-28  Lars Skovlund  <lskovlun@image.dk>

	* src/core/ksound.c (kDoSound): kDoSound now returns immediately if we
	  are running an SCI01 game.

2000-01-25  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/sound/soundserver_null.c (sound_null_server): Fixed misc. seg-
	faults in the sound server (same for soundserver_dos, I hope)

	* src/graphics/con_io.c (con_input): Fixed ' ' not being treated

2000-01-13  Rickard Lind  <rpl@dd.chalmers.se>

	* src/sound/soundserver_null.c: Fixed a bug in the cumulative cue
 	system (also fixed soundserver_dos).


2000-01-09  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/sound/soundserver_dos.c (sound_dos_poll): Added support for the
	MIDI delay escape sequence

	* src/sound/soundserver_null.c (sound_null_server): Added support for
	the 0xf8 MIDI delay escape sequence

2000-01-04  Christoph Reichenbach  <jameson@Linuxgames.com>

	* Included Rink's DOS port. Haven't checked it, though.

	* contrib/midi.c: Newer version of Rickard's midi.c

1999-12-29  Christoph Reichenbach  <jameson@linuxgames.com>

	* contrib/midi.c: Added Rickard's midi.c

1999-12-22  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/kfile.c (kRestoreGame): Implemented RestoreGame(). Fixed
	some related bugs. Saving/Restoring still doesn't work cleanly, but
	it's slowly getting better.

	* src/include/soundserver.h (SOUND_SERVER_TIMEOUT): Increased sound
	timeout by 4900%. Restoring appears to take more than 2 ms on my box...

	* src/core/cfsml.pl (create_string_functions): Fixed a bug that would
	allocate one byte too few.

1999-12-21  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/kfile.c (kCheckSaveGame): Implemented CheckSaveGame()
	(kSaveGame): Implemented SaveGame()

	* src/main.c (main): Added check for graphics driver- abort if none is
	present.

1999-12-19  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/said.y (main): First implementation of the Said grammar
	* Fixed said implementation

1999-12-18  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/graphics/engine_graphics.c (graph_draw_selector_icon): Fixed
	some of the view offset bugs

	* src/core/kgraphics.c (kDisposeWindow): After disposing the active
	port, that port's predecessor is set. Fixes a bug that would appear
	if several windows were overlaid.

	* src/graphics/font.c (get_text_size): Fixed bug that would add an
	extra line if the end of line was reached simultaneously with a
	newline character

	* src/core/kmenu.c (kMenuSelect): Prevented keyboard event "0"
	(used for motion keys) from being claimed

	* src/sound/soundserver_null.c (sound_null_server): Fixed bug where
	the sound server would read over the end of a song, added additional
	checks.

	* src/core/kmenu.c: Implemented the credits. Now I'll have to decide
	who gets mentioned where and how often. Great. Just great.

1999-12-18  Dmitry Jemerov  <yole@nnz.ru>

	* src/tools/scidisasm.c: New parameter --gamedir to specify directory
	to load resources from.

        * src/tools/sciunpack.c: Ditto.

	* src/core/script.h, src/core/script.c: New opcode parameter types
	Script_Local and Script_Temp.
	* Updated references accordingly.

	* src/include/uinput.h: Updated keycodes of special keys to match
	actual DOS keycodes. Now the buttons in KQ1 intro screen work.
	Hopefully nothing else is broken.

	* src/include/uinput.h, src/graphics/input.c (map_keyboard_event):
	New function.

	* src/core/kgraphics.c (kEditControl): Updated and cleaned up
	to use map_keyboard_event and support word-sized keycodes. Now
	shifted number keys (!@#$ and so on) work correctly.

	* src/core/scriptdebug.c (script_debug): The onscreen console can
	now be hidden correctly.

	* src/graphics/con_io.c (con_input): Updated and cleaned up
	to use map_keyboard_event. Support for keys Space, Home, End.

	* src/graphics/graphics_ddraw.c (WndProc): Support for keys - and
	=.

	* src/graphics/graphics_ddraw.c (add_key_event): Left and right
	Shift keys are now distinguished under Windows NT.

1999-12-17  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/kfile.c (kGetSaveFiles): Implemented GetSaveFiles().

	* src/core/kernel.c (kSetDebug): Wrote short implementation for
	SetDebug(), made FlushResources() NOP without warning (we don't need
	it, since all resources are available after load time).

	* src/core/kstring.c (kSetSynonyms): Implemented SetSynonyms() and
	updated related data structures and functions

	* src/core/kfile.c (kCheckFreeSpace): Implemented CheckFreeSpace()

1999-12-17  Dmitry Jemerov  <yole@nnz.ru>

	* src/core/script.h, src/core/script.c: New opcode parameter type
	Script_Param.
	* Updated references accordingly.

	* src/tools/scidisasm.c: Fixed two major bugs. Function parameters
	are printed as param_<number>.

1999-12-15  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/graphics/con_io.c (con_input): Fixed cursor key handling.
	It's possible again to scroll back using Shift-PgUp.

	* src/graphics/engine_graphics.c (graph_draw_selector_edit): Fixed
	the cursor being overdrawn by the character it was supposed to
	highlight.

	* src/graphics/font.c: Fixed CR being drawn. Not me, the special
	character.

	* src/sound/sound.c: Implemented sound event queues (doubly-linked
	dynamic lists) and a "query next event mechanism" to prevent SIGPIPEs.

	* src/graphics/input_ggi.c (_sci_ggi_input_handler): Fixed ggi input
	handler bug that would interpret '0' as INS.

	* src/console: Killed the console subdirectory and distributed the
	sources in src/core and src/graphics. The console design is a bit
	cleaner now.

1999-12-15  Dmitry Jemerov  <yole@nnz.ru>

	* src/core/vocab_debug.c, src/include/vocabulary.h
	(vocabulary_get_snames): New parameter pcount.
	* Updated references to this function accordingly.

	* src/tools/scidisasm.c: Disassembly improvements. Printing of
	selector names pushed by pushi, object names and said strings
	referred to by lofsa/lofss. Global variable references are printed
	as global_<number>. Changed format of opcode size display and made
	it optional. Jump label generation. Display of some additional
	information made optional. Support of older script header format.
	And more...

	* src/core/script.c, src/include/script.h: New opcode type
	Script_Global.
	* Updated references to opcode table accordingly.

1999-12-13  Dmitry Jemerov  <yole@nnz.ru>

	* src/core/script.c, src/include/script.h, src/include/vm.h: Moved
	obsolete object handling code to old_objects.c and old_objects.h.

	* src/tools/scidisasm.c: New standalone SCI script disassembler.

	* src/core/vm.c: Fixed breakpoint system broken by the new
	call/send stack implementation.

	* src/core/vm.c, src/core/scriptdebug.c: New breakpoint type bpe -
	break on exported function.

1999-12-13  Lars Skovlund  <lskovlun@image.dk>

	* src/graphics/engine_graphics.c (graph_draw_selector_control):
	Fixed selector control positioning

1999-12-12  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/kmenu.c (kMenuSelect): Added graphical menus

	* src/core/kmenu.c (kMenuSelect): Added debug code, fixed minor bugs

	* src/graphics/input_ggi.c (_sci_ggi_input_handler): Added ggi
	Function key handling

	* src/graphics/menubar.c: Fixed several veteran bugs in the menu
	initialization, including one that tried to lowercase function keys

1999-12-12  Lars Skovlund  <lskovlun@image.dk>

	* src/graphics/menubar.c (menubar_add_menu): Added tag value support

1999-12-12  Dmitry Jemerov  <yole@nnz.ru>

	* src/core/kfile.c (kDeviceInfo_Win32): Correct Win32
	implementation.

	* src/main.c (main): Specifying game name in the command line
	didn't work; freesci aborted immediately. Fixed.

	* src/graphics/graphics_ddraw.c (WndProc): The freesci window is
	now repainted after being uncovered by another window.

	* src/graphics/menubar.c (menubar_add_menu): Fixed major bug
	causing incorrect menu construction.

1999-12-11  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/kmenu.c (kGetMenu): Added GetMenu().

	* src/include/kernel.h: Restructured the kernel by splitting it up
	into one header and several source files.

1999-12-10  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/vm.c (send_selector): Fixed a stale pointer bug related to
	the execution stack

	* src/core/scriptdebug.c (c_viewinfo): Added 'viewinfo' debug command

1999-12-09  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/config.l (_parse_color_mode): Fixed braindead strcasecmp() bug.

	* src/main.c (main): Added fix for sciv -gfoo bug from Rink Springer.

1999-12-08  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/vocab_debug.c (vocabulary_get_knames0): Terminated knames
	list.

1999-12-07  Lars Skovlund  <lskovlun@image.dk>

	* src/sound/sound.c: Added handling of NULL handle property

1999-12-06  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/kernel.c: Added HiliteControl()

	* src/graphics/font.c (text_draw): Made the font drawing functions
	draw the font with background

	* src/graphics/engine_graphics.c (graph_draw_selector_button):
	Cleared background before drawing buttons

	* src/core/kernel.c: Fixed a possible division by zero in the
	bresenham code

1999-12-05  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/kernel.c (kDeviceInfo_Unix): Added DeviceInfo for UNIX-
	like systems (and a preliminary, incomplete version for Win32).

	*src/core/*.c : Replaced alloc functions with g_alloc functions

1999-12-02  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/main.c: Fixed char_gets_input() to handle fgets() being
	interrupted by signals intercepted by GGI under Solaris.

	* src/graphics/engine_graphics.c (graph_draw_selector_edit): Fixed
	bug that might cause the wrong font to be used for the highlighted
	letter in an "edit control".

	* src/graphics/input_ggi.c (_sci_ggi_input_handler): Fixed
	handling of CTRL keys

	* src/core/scriptdebug.c (script_debug): Removed the number of
	console redraws, fixed "repeat last entry" behaviour

	* src/console/console.c: (consoleInput): Lower-cased all control
	letters in order to re-enable CTRL keycodes for the onscreen console

1999-12-01  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/kernel.c (kDrawCel): Function fixed to behave correctly
	if called with incorrect loops/cels.

1999-11-28  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/kernel.c (kAddToPic): Now handles NULL lists.

	* src/core/vm.c (run_vm): Changed behaviour of send-like functions
	to accomodate for realloc() moving the execution stack.

	* src/graphics/engine_graphics.c (graph_update_box): Added range
	checks.

	* acinclude.m4 (AC_C_PARAMETRIZED_BIGENDIAN): Added support for
	"forced" endianness setting, for cross-compiling.

	* src/core/savegame.cfsml, src/main.c, configure.in: Tried to patch
	headers to make things more portable for non-POSIX systems.

1999-11-27  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/kernel.c (_k_view_list_dispose_loop): Fixed the bug
	(more like a missing feature) that caused the game to run out of
	background buffers. At least I hope so.
	(kFormat): Fixed the %c formatting bug that would cause a % to be
	printed instead of the character immediately following the %c.
	(kBaseSetter): BaseSetter now takes view offsets into consideration.
	This doesn't affect SQ3, but might help with other games.

	* src/include/engine.h (_state): Made sure that &rest is saved
	correctly (this only helps with debugging, of course).

	* acinclude.m4: Improved (?) the config maker scripts. Now,
	instead of checking libraries by looking for files with corresponding
	names, png, (n)curses and ggi are tried to link against; this should
	help with cross-compiling.

1999-11-26  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/graphics/graphics_ggi.c (libggi_redraw): Fixed GGI screen
	shaking.

	* src/core/kernel.c (kBaseSetter): Fixed the SQ3 bug where entering
	the red starship tube would throw you back one screen to the left.

1999-11-26  Dmitry Jemerov  <yole@nnz.ru>

	* src/include/kdebug.h: Moved sci_debug_flags definition to kdebug.h
	from scriptdebug.c.
	* src/core/kernel.c: Support for new debug flag "break on
	warnings" (0x02).

	* src/core/kernel.c (kAnimate): Fixed attempt to free the
	dyn_views list twice.

	* config.l: conf.console_log is now allocated by strdup, to avoid
	attempt to free the same buffer multiple times.

	* src/core/scriptdebug.c (disassemble): When disassembling the jmp
        instruction, the destination offset is also printed.

1999-11-26  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/console/console.c (sciprintf): Fixed sciprintf for result
	strings longer than 255 bytes (the problem was caused by a difference
	in vsnprintf behaviour between older glibc versions and glibc 2.1/
	other libcs)

	* src/core/kernel.c: Killed the bug that made QfG1 stop with the
 	PC set to 0 in the main menu sometimes. It was caused by the dynamic
	view lists not being cleared automatically during DrawPic...

1999-11-25  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/kernel.c (_k_make_view_list): Potential fix for the
	Attack Of The 15' Killer Woman bug in Iceman. One of our better
	ones; it'd be almost sad to loose that one ;->

1999-11-25  Rink Springer <rink@rink.cx>

        * src/core/vocab_debug.c (vocabulary_get_opcodes): Added check for NULL
          return of findResource () to avoid segmentation fault in scriptdump

1999-11-25  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/scriptdebug.c (script_debug): Added functions to the
	sound driver protocol to support suspending (and, afterwards,
	resuming) all sound. Used this to prevent most causes of sound
	server deaths by SIGPIPEs.

1999-11-22  Lars Skovlund <lskovlun@worldonline.dk>

	* src/core/kernel.c (kDisplay): Fixed a bug in kDisplay which was the
	  cause for the "blue buttons" in QFG1 (ports must be preserved across
	  kernel calls!)

1999-11-21  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/vocab.c (vocab_get_suffices): Fixed suffix reading, which
	simply didn't work (thanks to Rink Springer for pointing this out!)

1999-11-20  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/main.c (main): Fixed a cause for segfaults that would strike
	if sciv was started without a game name to use

1999-11-18  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/kernel.c (kDoBresen): Killed another bresenham bug

1999-11-17  Lars Skovlund <lskovlun@worldonline.dk>

	* src/core/kernel.c: Killed the "keep on walking" bug

1999-11-15  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/kernel.c (kParse): Updated parser to call wordFail correctly
	(invoke_selector): Fixed a bug that could make kernel functions in the
	backtrace list look strange, and another one that would write incorrect
	parameters if invoke_selector was called with more than zero of them
	(caused by a macro evaluating va_arg() twice).

1999-11-14  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/sound/sfx_save.cfsml: Implemented persistance for the sound
	subsystem. Sound data is written to "(savedir)/sound" as plain text,
	while songs are dumped binarily into "(savedir)/song.*".

	* src/core/cfsml.pl: Changed all fucntion declarations to static;
	this should help with programs using CFSML generated code in more than
	one place.

1999-11-14  Dmitry Jemerov  <yole@exch.nnz.spb.su>

	* Fixed Visual C++ build problems all around the code.

	* src/graphics/engine_graphics.c (graph_draw_selector_edit):
	Fixed memory corruption that occurred when a 0 length string was
	passed in the text parameter. Fixed drawing cursor not in the
	end of text string.

	* src/core/kernel.c (kOnControl): Fixed several keyboard handling
	problems.

	* src/graphics/graphics_ddraw.c (WndProc): The tilde key is now
	handled correctly.

	* src/graphics/graphics_ddraw.c (ddraw_init): Fixed window style.


1999-11-12  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/cfsml.pl: Fixed a bug that would cause the number of
	array elements to be too low by one if MAXWRITE was used.

	* src/core/kernel.c (kShakeScreen): Implemented ShakeScreen. The
	gfx_driver->Redraw protocol was extended to allow y parameters for
	this- this means that gfx drivers w/o shakescreen don't need to
	worry about this feature.

	* src/core/savegame.cfsml : Implemented saving/restoring the game
	state. Everything seems to save and restore cleanly, except for the
	sound driver (saving/restoring still needs to be implemented there).

1999-11-07  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/config.l (config_init): Added another config option,
	"resource_dir", to the config file parser. This makes it possible
	to run a game with a command like "sciv lsl2".

1999-10-20  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/vm.c (run_vm): Re-implemented parts of the vm so that
	a new vm is only started from kernel functions. The program stack
	is now stored on a local stack (again, except for calls into user
	space from kernel functions) which should make it possible to store
	and load the game state under most conditions.

1999-10-15  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/vocab_debug.c (vocabulary_get_knames0): Added handling for
	missing vocab.999 (falls back to a default kernel name table)

	* src/graphics/graphics_ggi.c (graphics_draw_region_ggi): Added a hack
	for bigendian machines that could solve the blank screen problem
	without too much performance loss (still needs to be tested)

	* src/sound/soundserver_null.c: Removed warnings

1999-09-04  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/kernel.c: Fixed numerous bugs

1999-08-31  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/vocab.c: Implemented basic support for the standard and
	suffixed vocabulary

	* src/core/kernel.c (kEditControl): Fixed some bugs in this function

1999-08-29  Dmitry Jemerov  <yole@exch.nnz.spb.su>

        * src/core/vm.c: Breakpoints on object methods do not trigger on
        super calls.

        * src/core/scriptdebug.c (c_backtrace): Super calls are now
        shown correctly in the back trace.
        (c_stepover, script_debug) New debugger command 'so' to step over
        sends and calls.
        (c_disasm) disasm command always printed one more command than
        requested. Now disasm stops after a 'ret' is encountered instead
        of printing a series of bnot's. If the first argument of disasm
        is less or equal than 0, it is treated as an offset from pc.
        (c_bpdel, script_debug) New debugger command 'bpdel' to delete
        breakpoints.

        * src/config.l: Brought back the debug_mode parameter.

        * src/graphics/graphics_ddraw.c (WndProc): Mouse cursor is redrawn
        during waits. Windows mouse cursor is not shown over the freesci
        window.

1999-08-28  Dmitry Jemerov  <yole@exch.nnz.spb.su>

        * src/core/scriptdebug.c (c_snk): Now it's possible to specify
        not only function name, but also function index as snk parameter.

        * src/include/vm.h, src/include/engine.h, src/core/scriptdebug.c,
        src/core/vm.c: Added breakpoint support.

        * src/core/kernel.c (kScriptID): Fixed a long-standing bug in
        GetScriptID that was masked by an ugly patch: The dispatch table
        index is 0-based, not 1-based. That fixes the EgoWaterViewer
        problem in Codename: Iceman. (kEditControl): Event modifiers are
        handled correctly. (kGetEvent) removed "stub" mark.

        * src/graphics/graphics_ddraw.c: Added support for Caps Lock,
        Num Lock and keypad keys. Again fixed to work with Magnus'
        latest changes.

1999-08-26  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/sound/soundserver_null.c: Added support for sound command 0xc
	(assumed to be "Stop All") to both ends of the pipes.

	* src/sound/sound.c (song_lib_remove): Fixed one more evil bug that
	caused circular references.

	* src/sound/soundserver_null.c (sound_null_server): Removed a possible
	segfault reason for the null sound server.

	* src/core/kernel.c: Improved (fixed?) priority mapping

	* src/sound/soundserver_null.c (sound_null_server): Changed
	cues according to Ravi's directions

	* src/core/kernel.c (kEditControl): Edit preliminary EditControl.
	(kGraph): Implemented FILL_BOX_ANY and UPDATE_BOX

1999-08-26  Dmitry Jemerov  <yole@exch.nnz.spb.su>
        * src/core/kernel.c (kFOpen) using UPARAM(0) instead of
        PARAM(0) (fixes a crash in LSL3). (kOnControl) now supports
        calling with 2 or 4 parameters (as it had in PQ2 - fixes
        a crash with it). (kIsObject) fixed another problem with
        PQ2.
        * src/core/scriptdebug.c (disassemble): Heap offsets are
        now printed for each disassembled command.

1999-08-25  Dmitry Jemerov  <yole@exch.nnz.spb.su>
        * src/main.c (main): Added support for command line options.
        Added options --gamedir (-d), --run (-r), --sci-version (-v).
        * src/*/graphics*.*, kernel/kernel.c, kernel/resource.c:
        Converted sci_usleep() to a graphics driver-specific function
        (gfx_driver.Wait()).
        * src/core/kernel.c, src/include/kdebug.h: SCIkdebug/SCIkwarn
        output is also echoed to console_log file. Added new debug
        message category, SCIkGFXDRIVER. Moved debugging function
        prototypes to the header file.
        * src/core/scriptdebug.c: Added support for SCIkGFXDRIVER to
        c_debuglog(). Moved part of c_debuglog() to a separate function
        set_debug_mode().
        * src/graphics/graphics_ddraw.c: Converted all debugging output
        to SCIkdebug/SCIkwarn. Added support for fullscreen mode. Added
        event processing code.
        * src/include/sci_conf.h, src/main.c, src/config.l: Added
        debug_mode parameter.
        * src/tools/vocabdump.c: now prints selector indexes; added
        printing of class table.
        * src/core/script.c (printMethod): when disassembling the
        <class> opcode, the correct class name is printed.
        * src/include/versions.h, src/core/vm.c: Added support
        (version-dependent) for 4 byte script headers.

1999-08-23  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/kernel.c (kDoSound): Added sound debugging.
	(kLocalToGlobal): Implemented kLocalToGlobal, kGlobalToLocal.

1999-08-23  Dmitry Jemerov  <yole@exch.nnz.spb.su>

        * core/kernel.c: implemented Win32 replacement for the ffs
        function
	* graphics/engine_graphics.c (graph_update_box): fixed coordinate
        adjustment problem causing a crash in the LSL3 intro
        * tools/vocabdump.c: vocabdump now prints kernel function indexes;
        added missing vocabulary_free_snames()
        * console/commands.c, core/script.c: moved code of c_dissectscript()
        into a separate function script_dissect(); moved sci_hexdump()
        to script.c. Implemented dumping of string blocks in more human
        readable way.
        * include/console.h, console/console.c (sciprintf): added
        possibility of echoing sciprintf() output to a text file
        * tools/sciunpack.c: Added --dissect flag allowing to dump script
        resources to human readable text. Added possibility to specify
        "*" instead of resource number to unpack all resources of given
        type.
        * config.l, include/graphics.h, include/graphics_ddraw.h,
        graphics/graphics_ddraw.c, graphics/graphics_ggi.c:
        Implemented driver-specific configuration parameters.
        * include/graphics.h, graphics/graphics_ddraw.c,
        graphics/graphics_ggi.c: Copied new color interpolation code
        from the libggi driver to the DirectDraw driver.
        * config.l, main.c: Implemented console_log config parameter
        specifying the file to which console output should be echoed.
        * main.c: Added myself to the copyrights. :-)

1999-08-20  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/kernel.c (kInitBresen): Fixed a bug in the bresenham
	implementation.

1999-08-19  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/kernel.c: Fixed CanBeHere() according to Lars' specs.
	Implemented DirLoop, CoordPri, PriCoord, ValidPath, RespondsTo,
	FOpen, FPuts, FGets, FClose, TimesSin/SinMult, TimesCos/CosMult.
	Fixed a stupid bug in CanBeHere() where an object could clip
	against itself.

1999-08-17  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/kernel.c (kDrawCel): Added DrawCel.

	* src/main.c: Added support for a config file (the parser can be
	generated from the flex file config.l).

	* src/core/kernel.c: Fixed countless bugs, implemented numerous kernel
	functions. It's been a while since I last updated this file, so I'm
	unable to go into any more detail. The last functions I added were
	InitBresen, DoBresen, CanBeHere.

1999-08-09  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/kernel.c (kFormat): Fixed kFormat according to Lars'
	specs.

1999-08-05  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/graphics/engine_graphics.c: Added a new file for some fancy
	thinge like backupping (up-backing?) and restoring parts of the screen
	maps and text rendering.

	* src/core/kernel.c (kAnimate): Added Animate(), Display(), partial
	Graph().

1999-08-03  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/graphics/graphics.c (drawView0): Fixed a bug that would over-
	write the port border (and mess up a lot of other things).
	Threadsafed the whole graphics stuff.

1999-08-02  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/scriptdebug.c (c_sret): Successfully tested the new sret
	debug command (Step until RETurning from current level) which is simi-
	larly useful as the Sierra SCI TAB key (skip send), but works the
	way around (i.e. it doesn't skip the next function, it waits until the
	current function terminates).

	* src/core/kernel.c (kClone): Fixed a bug where cloning would corrupt
	the heap

	* src/core/vm.c (execute): Fixed a bug where the 'super' operation
	would start execution with the base object set to the superclass
	of the calling object as opposed to the calling object itself
	(QfG1, step 1072 / Glory::startRoom)
	(execute): Fixed two bugs with indexed variable operations (like
	sali, sspi or +agi) where the accumulator wasn't bit-expanded as
	neccessary and where + and - operations wrote back to the wrong ad-
	dress.

	* src/core/kernel.c: Added Clone, DisposeClone, ScriptID

	* src/core/scriptdebug.c (c_listclones): Added listclones debug
	function to list all clones

	* src/console/commands.c (c_dissectscript): Fixed a bug that would
	read too far, possibly causing a segfault with efence

1999-07-30  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/kernel.c: Added OnControl and a few trivial functions
	(Random, Abs, Sqrt, HaveMouse, GetAngle, GetDistance)

1999-07-29  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/kernel.c: Fixed Load, Unload, added PicNotValid and Show.

1999-07-27  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/vm.c (execute_method): Fixed calle/callb madness and some
	other bugs.

1999-07-25  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/kernel.c: Added new kernel functions.

	* src/core/vm.c (execute): Fixed a bunch of bugs and added dynamic
	class loading to the class opcode.

1999-07-23  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/vm.c (script_run): Finished the VM. In Theory.

1999-07-18  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/core/vocabulary.c (vocabulary_get_snames): Tracked down a
	nasty little bug in name getting. This one was so simple that it
	was a killer- it's possible that it was at least part of the
	cause for the memory corruption which haunted us in our sleeps.

1999-07-11  Christoph Reichenbach  <jameson@linuxgames.com>

	* src/graphics/graphics.c (drawView0): Views appear to clip correctly
	to ports and windows now.

	* src/graphics/window.c (drawWindow): Implemented SCI0-style text boxes
	with the usual headers. Still needs to be tested, but it looks adequate
	for the time being. Still, one port-related clipping bugs will have to
	be squashed now.

	* src/sound/midi.c: Thanks to Shane T., the quality of instrument
	mapping should have improved now (the PQ2 instrument mappings were
	very helpful).
	Unmapped instruments now are ignored when generating the MIDI data,
	instead of being mapped to a wrong instrument.

1999-06-28  Christoph Reichenbach  <creichen@rbg.informatik.tu-darmstadt.de>

	* src/console/commands.c (c_hexgrep): Added a function for non-regexp
	grepping for particular hex sequences. Also added a new parameter type
	for bytes in hexadecimal representation and changed the '*' parameter
	type to repeat the last param type 0 or more types.
	(c_list): Fixed another braindead bug reported by Chris Lansdown.

1999-06-27  Christoph Reichenbach  <creichen@rbg.informatik.tu-darmstadt.de>

	* src/core/resource.c (loadResourcePatches): Added loading of
	resource patches (can be overridden when calling loadResources())

	* src/core/heap.c: Added Magnus' implementation of the SCI heap.
	Still needs to be hooked up to libscicore.

	* Accidently killed some files. Entries to the changelog have been
	lost; here's a quick summary:

	* Applied fixes from Magnus for the VM/Vocab/Script stuff

	* Applied fixes from Chris Lansdown for configure.in and resource.c

	* Forced tools/console.c to use libreadline instead of libgii.
	This still needs to be checked for, so that we can evade to gets()
	if readline is not available.

	* Fixed cursor drawing for SCI0 based on Chris Lansdown's hints

	* Modified graphics code to allow for multilayered pictures (like
	the SQ3 title screen, which consists of the "Space Quest 3" logo
	and the "the Pirates of Pestulon" thing, which is a separate pic
	resource)

	* Renamed picture resources to pic resources for Resource_Types;
	this is because SCI0 calls them pics and not pictures.

1999-06-18  Christoph Reichenbach  <creichen@rbg.informatik.tu-darmstadt.de>

	* configure.in: Uses AM_PATH_GLIB now instead of the home-made
	AC_PATH_GLIB.

	* src/tools/sciunpack.c (main): Unpacking behaviour now equals Carl
	Muckenhoupt's SCI decoder's behaviour, i.e. it writes an SCI header
	before the SCI data block. This means that the resulting files can
	be directly used as patches.

	* src/core/decompress1.c (decompress1): Thanks to a hint from Ravi
	at the SCI message board, decompression now works for all SCI01
	resources. This means that QfG2 will, in theory, should be supported
	for the public release (without sound support, however).

1999-06-14  Christoph Reichenbach  <creichen@rbg.informatik.tu-darmstadt.de>

	* src/core/vocabulary.c (_vocabulary_get_knames0alt): Added a new
	function to deal with non-standard vocab.999 resources.

1999-06-13  Christoph Reichenbach  <creichen@rbg.informatik.tu-darmstadt.de>

	* src/graphics/graphics.c (clearpage): Changed default background
	color to 15, which fixes several problems and is consistant with the
	way Sierra used to do things (TWSUTDT).

1999-06-12  Christoph Reichenbach  <creichen@rbg.informatik.tu-darmstadt.de>

	* src/sound/midi.c: Added MIDI mapping magic. It's still not perfect,
	but much better (and more extensible) than the previous solution.

1999-06-10  Christoph Reichenbach  <creichen@rbg.informatik.tu-darmstadt.de>

	* src/graphics/mcursor.c: Fixed both cursor drawing functions to
	properly clip. SCI1 cursors are now displayed correctly, too (tested
	this with a small hack that allowed loading the QG2 resources without
	decompressing picture resources)

1999-06-09  Christoph Reichenbach  <creichen@rbg.informatik.tu-darmstadt.de>

	* src/graphics/graphics_ggi.c (initColors): Fixed a small bug that
	would prevent color 0xff to be set correctly in 256 color mode.

1999-06-08  Christoph Reichenbach  <creichen@rbg.informatik.tu-darmstadt.de>

	* Decided to release 0.2.0. The actual release date will proabably be
	tomorrow, though.

	* src/tools/console.c: Added a text-based command console. It doesn't
	work the way it's supposed to, though- libgii(stdin) appears to
	deliver events in a different fashion than libggi does.

	* src/console/console.c: A number of commands has been added to the
	command console in the last few days. While the command console
	doesn't beat the bash (yet ;-), it's in a state where working with it
	is possible. As long as working is limited to inspecting and frobbing
	valies, and calling some pre-defined commands.

1999-06-07  Christoph Reichenbach  <creichen@rbg.informatik.tu-darmstadt.de>

	* src/sound/sound.c: Fixed a bug when setting the gsi volume (the
	request would be prepared but not flushed).

1999-06-06  Christoph Reichenbach  <creichen@rbg.informatik.tu-darmstadt.de>

	* src/console/console.c: Finished the first phase of work on the
	command console. It should now be possible to hook up commands to
	it.

1999-06-05  Christoph Reichenbach  <creichen@rbg.informatik.tu-darmstadt.de>

	* src/graphics/input_ggi.c: Completed (?) work on the ggi input
	driver.

1999-06-04  Christoph Reichenbach  <creichen@rbg.informatik.tu-darmstadt.de>

	* src/include/uinput.h: Added an input interface of sorts. It's
	supposed to be portable to non-ggi interfaces, but I'm not sure if
	it will work for all of them. Well, making things as portable and
	universal as possible is one of the design goals, so I should try
	to look for any possible alternatives and include some way to use
	them.
	I'll get back to this right after I finish my research on the cure
 	for cancer and the TransWarp drive.

	* src/graphics/graphics_ggi.c (displayPicture): After noticing the
	significant lack of redraw speed in some preliminary input tests, I
	redid the display code, using ggiPutHLine(). The resulting speedup
	was considerable. Also made displayPicture() autodetect if the visual
	is double-sized, so displayDoublePicture() won't be necessary in the
	future.

1999-06-02  Christoph Reichenbach  <creichen@rbg.informatik.tu-darmstadt.de>

	* Merged Magnus' patches to the vocab and script resource handlers.
	Now this rocks- both vocab and script dumping appear to work without
	any problems!

	* src/graphics/mcursor.c (drawMouseCursor0): Added a drawing function
	for SCI0 mouse cursors.

1999-05-29  Christoph Reichenbach  <creichen@rbg.informatik.tu-darmstadt.de>

	* src/graphics/graphics.c: Added support for 'interpolated mode' when
	drawing the graphics. Both graphics_ggi.c and graphics_png.c have been
	updated to support this.

	* src/core/resource.c (loadResources): Fixed a nasty but stupid bug
	that made the last release unuseable.

1999-05-24  Christoph Reichenbach  <creichen@rbg.informatik.tu-darmstadt.de>

	* src/sound/sound.c: Added some general functions to ease interfacing
	with different sound systems (currently, only GSI is supported).

	* src/graphics/graphics_png.c: Added support for picture_ts to be
	stored as .png files. Practical use for this is limited, though.

	* src/tools/sciunpack.c (main): Created sciunpack to merge unpack and
	resourcelist. This tool includes functions for converting sound
	and picture resources to midi and png files, respectively.

	* Changed several function names to improve clarity. All functions
	succeeded by a zero are only applicable to SCI0 resources.

1999-05-23  Christoph Reichenbach  <creichen@rbg.informatik.tu-darmstadt.de>

	* src/sound/midi.c (makeMIDI0): Preliminary MIDI support has been
	added. However, Sierra appears to use a proprietary MIDI instrument
	mapping scheme (which comes at no surprise; AFAIK the GM specification
	wasn't comissioned until somewhen in 199x), and therefore the
	instruments (including percussions) appear to be somewhat messy.
	Fixing this instrument mapping will be an ongoing task.

1999-05-13  Christoph Reichenbach  <creichen@rbg.informatik.tu-darmstadt.de>

	* src/graphics/graphics.c (drawView): Performance of drawView() has
	been improved. It's not perfect yet (even if color==transparency,
	each pixel is checked), but it should be *much* better than its
	predecessor.
	Also, I think that I found the "reversed" flag which some of the
	views apparently use to draw the same data in two different ways.

	* Fixed several endianness bugs (mainly in font.c and graphics.c).
	qg1demo now runs on sparc-solaris 2.5, although the colors are messed
	up.

	* src/core/resource.c (loadResources): Allowed resource.000 not to
	exist (loading starts at resource.001 in this case). This situation
	can be found in SQ3.

	* src/core/decompress.c (decompress): Added check for objects with
	size zero to avoid segfault.

1999-05-10  Christoph Reichenbach  <creichen@rbg.informatik.tu-darmstadt.de>

	* configure.in : Added support for passing the location of ggi
	during configure time.

1999-05-09  Christoph Reichenbach  <creichen@rbg.informatik.tu-darmstadt.de>

	* src/graphics/graphics.c (main): Fixed a bug with transparency:
	contrary to my prior expectations, all sprites DO carry a trans-
	parency value. Also made the line and fill functions behave more
	like the original. So far, I've had no problems with lines, but
	filling still gives me headaches.

1999-05-08  Christoph Reichenbach  <creichen@rbg.informatik.tu-darmstadt.de>

	* Improved error handling for the resource loader and parts of the
	decompression stuff.

	* Moved all of the (u)int* types to g(u)int*, which are exported by
	glib.

1999-05-05  Christoph Reichenbach  <creichen@rbg.informatik.tu-darmstadt.de>

	* Released 0.1.1

	* Kicked autoconf and automake until they would tell me the byte
	sizes of the various data types. Together with Magnus' machine-
	independent getInt (now called getInt16) the new data types should
	greatly improve portability.

	* Merged Magnus' script and vocabulary resource code into the
	distribution. Wrote some small testing utilities for them.

1999-04-03  Christoph Reichenbach  <creichen@rbg.informatik.tu-darmstadt.de>

	* First public release.
