2013-12-26  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.24.3 released

2013-10-07  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_put_char):
	SO/SI switch underlined on/off; DC1/DC2: bold on/off

	* avatar.c (avt_utf16_surrogate): new function

	* avatar.c (avt_put_char):
	for testing purposes make plane 16 mirror plane 0

	* lua/akfavatar-term.c (APC_command): fixed

2013-10-04  Andreas K. Foerster  <info@akfoerster.de>

	* avtdata.h, avtdata.c: remove read24 again

2013-10-03  Andreas K. Foerster  <info@akfoerster.de>

	* audio-common.c (avt_audio_loader): new function
	(avt_load_au, avt_load_wave): adapted

	* lua/akfavatar/avtdemo.lua: fix: read audio into memory

	* avtdata.h, avtdata.c (filenumber):
	renamed from fileno (had problems with macro in some libc)

2013-10-02  Andreas K. Foerster  <info@akfoerster.de>

	* audio-common.c (avt_add_raw_audio_data, avt_finalize_raw_audio):
	security checks

	* avtdata.c (skip): new method

	* audio-common.c:
	make AU and WAV data readable from non-seekable streams

2013-10-01  Andreas K. Foerster  <info@akfoerster.de>

	* configure: new option --with-sdl2

	* avtdata.h, avtdata.c (avt_data_dup): new function
	audio-common.c (avt_fetch_audio_data): adapted

2013-09-27  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-avt.c (lavt_frequency): new function

2013-09-25  Andreas K. Foerster  <info@akfoerster.de>

	* lua/audioplayer.lua: experimental support for external decoders

2013-09-20  Andreas K. Foerster  <info@akfoerster.de>

	* avtaddons.h, avtvorbis.c (avt_load_vorbis_stream):
	new parameter autoclose

	* avtaddons.h, avtvorbis.c:
	read big audio files directly from file while playing

2013-09-18  Andreas K. Foerster  <info@akfoerster.de>

	* avtdata.h, avtdata.c: don't store stream start position

	* avtdata.h, avtdata.c: method read24

	* audio-common.c, audio-sdl.c:
	read all supported WAV or AU files directly from file

2013-09-16  Andreas K. Foerster  <info@akfoerster.de>

	* audio-common.c, audio-sdl.c, avtinternals.h:
	read WAV or AU files with LPCM <=16Bit directly from file

2013-09-13  Andreas K. Foerster  <info@akfoerster.de>

	* avtdata.h, avtdata.c (fileno): new method

	* audio-common.c:
	try to use mmap for WAV or AU files with LPCM <=16Bit

2013-09-12  Andreas K. Foerster  <info@akfoerster.de>

	* audio-sdl.c (fill_audio): improve audio loop

	* pascal/akfavatar.pas: fix sound support

2013-09-05  Andreas K. Foerster  <info@akfoerster.de>

	* mfinger.xbm, mfinger_mask.xbm: new files
	avatar-sdl.c: adapted

2013-08-16  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-sdl.c, audio-sdl.c, avatar.c: start porting to SDL2

------------------------------------------------------------------------

2013-08-13  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.24.2 released

2013-08-09  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_set_resize_key): new function
	lua/akfavatar-graphic.c (lgraphic_set_resize_key): new function
	lua/four_in_a_row.lua: adapted
	lua/clock.lua: adapted

2013-08-07  Andreas K. Foerster  <info@akfoerster.de>

	* lua/four_in_a_row.lua: play against computer

2013-08-05  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c, avtinternals.h (avt_last_key): new function

2013-08-04  Andreas K. Foerster  <info@akfoerster.de>

	* lua/akfavatar-graphic.c (lgraphic_set_pointer_motion_key):
	new function

	* avatar-sdl.c (avt_analyze_event):
	add pointer_motion_key only if it isn't there yet

2013-08-03  Andreas K. Foerster  <info@akfoerster.de>

	* lua/akfavatar-graphic.c (lgraphic_set_pointer_buttons_key)
	(lgraphic_get_pointer_position): new functions
	(luaopen_graphic, lgraphic_show): adapted

------------------------------------------------------------------------

2013-07-29  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.24.1 released

2013-07-25  Andreas K. Foerster  <info@akfoerster.de>

	* configure: accept --with-linuxfb

2013-07-19  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-akfavatar-prg.c (preload_module): new function
	(initialize_lua): preload module "akfavatar-graphic"

2013-07-18  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_put_char, avt_put_raw_char):
	full check if inside viewport

2013-07-13  Andreas K. Foerster  <info@akfoerster.de>

	* lua/multiplication.lua: clear board (no scrolling)

	* avatar.c (avt_show_text_cursor): text cursor modified

2013-07-11  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-akfavatar-prg.c (check_textfile):
	treat .info files as plain text

	* lua/lua-akfavatar-prg.c (show_text):
	check if it's really UTF-8, otherwise fall back to CP1252

2013-07-10  Andreas K. Foerster  <info@akfoerster.de>

	* lua/interactive_lua.lua: fix handling of incomplete lines

	* lua/lua_avt.c (open_lua_akfavatar, panic):
	register a panic function

2013-07-09  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua_avt.c (lavt_utf8codepoints, lavt_utf8_iteration):
	new functions

2013-07-08  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua_avt.c (lavt_toutf8): new function
	lua/hexviewer.lua, lua/characters_tables.lua: adapted

2013-07-06  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, UTF-8.c (avt_detect_utf8): new function

	* lua/lua_avt.c (lavt_detect_utf8): new function

2013-07-02  Andreas K. Foerster  <info@akfoerster.de>

	* lua/characters_overview.lua (all_slowprint): fix: clear

2013-07-02  Andreas K. Foerster  <info@akfoerster.de>

	* lua/hexviewer.lua (printable): new function
	turn control characters into control pictures

------------------------------------------------------------------------

2013-06-30  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.24.0 released

2013-06-28  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avtaddons.h:
	define everything as extern "C" for C++

2013-06-20  Andreas K. Foerster  <info@akfoerster.de>

	* langposix.c (avt_get_language): support longer language codes

2013-06-19  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-avt.c: new macro MODULE
	(open_lua_akfavatar): renamed from luaopen_akfavatar_embedded
	lua/lua-akfavatar-prg.c: adapted

2013-06-18  Andreas K. Foerster  <info@akfoerster.de>

	* avtterm.c (get_character): check for keys even when busy

	* avtterm.c (set_foreground_color):
	make dark foreground colors a little less dark

	* avtmenu.c, filechooser.c: work with dark background

	* lua/multiplication.lua: more authentic

2013-06-17  Andreas K. Foerster  <info@akfoerster.de>

	* avtgraphic.h, avtgraphic.c (avt_darker, avt_brighter):
	normal functions

	* avtgraphic.h, avtgraphic.c (avt_brightness): new function

	* avtgraphic.h, avtgraphic.c (avt_brighter_area): new function
	avatar.c (avt_show_text_cursor): light cursor on dark balloon

	* avatar.c (avt_show_text_cursor, update_menu_bar):
	work well with a dark balloon color

	* avtterm.c: work well with a dark balloon color

	* akfavatar.h (avt_darker, avt_brighter, avt_brightness):
	new functions
	avtcolors.c: new file

	* avtterm.c (get_character): sleep a little while waiting

	* lua/four_in_a_row.lua (speed_test): new function

2013-06-16  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-avt.c (encodingname): accept SYSTEM

2013-06-15  Andreas K. Foerster  <info@akfoerster.de>

	* avtaddons.h: also use avt_ as prefix
	all code adapted

2013-06-14  Andreas K. Foerster  <info@akfoerster.de>

	* pascal/akfavatar.pas (Menu): new function

2013-06-11  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_put_char): better test for noncharacters

2013-06-10  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_move_in, avt_move_out): fixed

2013-06-09  Andreas K. Foerster  <info@akfoerster.de>

	* pascal/akfavatar.pas (ReadKeyCode): new function

	* pascal/akfavatar.pas (reserve_single_keys): new function
	(CheckEsc): removed

2013-06-04  Andreas K. Foerster  <info@akfoerster.de>

	* pascal/akfavatar.pas: updated

2013-06-03  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_put_char): handle more invisible chars

2013-05-30  Andreas K. Foerster  <info@akfoerster.de>

	* avtencoding.c, mingw/win_iconv.c: removed at last

2013-05-23  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-avt.c: use new char functions

2013-05-22  Andreas K. Foerster  <info@akfoerster.de>

	* charencoding.c: new file
	all encoding stuff rewritten
	lua/lua-avt.c: reset to use the _mb functions again for now

	* sysencoding.c: new file

	* avatar.c: remove all positioning variables from avt_settings
	(fixes bug with resizing of pager)

2013-05-18  Andreas K. Foerster  <info@akfoerster.de>

	* charmaps.c, cp1252.c: new files

2013-05-13  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_put_char): put overstrike technique there
	callers adapted

	* lua/lua-avt.c: use _u8 and _l1 functions

2013-05-11  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.c: avt_char is uint_least32_t now

	* avatar-linuxfb.c (utf8_to_unicode): new function
	(avt_start): select UTF-8 mode
	(quit_fb): reset terminal

2013-05-10  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_put_char): fix handling spurious high surrogate

2013-05-09  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.c: avt_char is unsigned now
	(avt_choice): adapted

2013-05-08  Andreas K. Foerster  <info@akfoerster.de>

	* avtutf8.c: new file

2013-05-07  Andreas K. Foerster  <info@akfoerster.de>

	* avtlatin1.c: new file

	* avatar.c (avt_credits): fix finding end of text

	* avatar.c (avt_put_char, avt_tell_len):
	do show SUB ('\x1A'), do not show DEL ('\x7F')

	* lua/akfavatar/utf8.lua (u8.to_latin1):
	use SUB ("\x1A") as default replacement

2013-05-01  Andreas K. Foerster  <info@akfoerster.de>

	* lua/audioplayer.lua: improved playlist support

2013-04-29  Andreas K. Foerster  <info@akfoerster.de>

	* lua/audioplayer.lua (pls): fix PLS playlist support

2013-04-06  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_put_char): improved support for UTF-16

	* lua/lua-avt.c (lavt_chdir):
	returns true or nil and an error message

2013-04-04  Andreas K. Foerster  <info@akfoerster.de>

	* avtmenu.c: animated forward/backward scrolling

2013-04-03  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-linuxfb.c (update_area_32bit, update_area_24bit)
	(update_area_16bit): new functions replace update_area_fb

------------------------------------------------------------------------

2013-03-27  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.23.1 released

2013-03-26  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_put_char, avt_say, avt_say_len):
	move interpretation of UTF-16 surrogates to a lower level

2013-03-23  Andreas K. Foerster  <info@akfoerster.de>

	* colorchooser.c (show_color): fix that works for MinGW

2013-03-21  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, version.c (avt_wide_version): new function

2013-03-20  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_wide_copyright, avt_wide_license):
	new functions

	* avatar.c (avt_input): fix display bug

2013-03-19  Andreas K. Foerster  <info@akfoerster.de>

	* filechooser.c, colorchooser.c:
	use locale dependend multibyte functions instead of iconv

2013-03-18  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_quit_encoding_function): new function
	avatar.c (avt_quit), avtencoding.c: adapted

	* avatar-sdl.c (avt_set_title): don't even try to recode

	* example.c: only use wide characters

2013-03-16  Andreas K. Foerster  <info@akfoerster.de>

	* avtgraphic.h, avtgraphic.c: new files
	avatar.c: adapted

2013-03-15  Andreas K. Foerster  <info@akfoerster.de>

	* avtxbm.c, avtxpm.c, avtbmp.c: new files
	avatar.c: adapted

2013-03-11  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (screen): screen is a separate static variable again

	* avtencoding.c: new file
	avatar.c: adapted

2013-02-26  Andreas K. Foerster  <info@akfoerster.de>

	* avtaddons.h, filechooser.c (avta_file_selection, avta_filter):
	new option data

2013-02-25  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_choice): fix: check values

2013-02-24  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avtpalette.c (avt_palette_size): new function

	* colorchooser.c: use avt_menu

	* filechooser.c: use avt_menu

2013-02-23  Andreas K. Foerster  <info@akfoerster.de>

	* avtmenu.c: new file
	akfavatar.h: adapted
	lua/lua-avt.c (lavt_menu): adapted

2013-02-11  Andreas K. Foerster  <info@akfoerster.de>

	* lua/akfavatar-graphic.c (lgraphic_border3d):
	no coordinates, always draws around the graphic

2013-02-10  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_viewport): fix: sanitize parameters

2013-02-09  Andreas K. Foerster  <info@akfoerster.de>

	* avtinternals.h, avtdata.h:
	don't define AVT_HIDDEN, use #pragma instead

2013-02-08  Andreas K. Foerster  <info@akfoerster.de>

	* lua/akfavatar-graphic.c (lgraphic_border3d):
	new function

2013-02-07  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_bar3d, avt_border3d, avt_brighter)
	(avt_horizontal_line, avt_vertical_line): new functions
	(avt_show_name): adapted

2013-01-26  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (bell): block recursion

2012-12-26  Andreas K. Foerster  <info@akfoerster.de>

	* avtdata.h, avtdata.c: don't use anonymous union
	(this was standardized in C11, but not yet in C99)

------------------------------------------------------------------------

2012-12-23  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.23.0 released

2012-12-18  Andreas K. Foerster  <info@akfoerster.de>

	* avtdata.h, avtdata.c: use object oriented approach
	avatar.c, audio-common.c: adapted

2012-12-11  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-akfavatar-prg.c (handle_require_options):
	new syntax for -l

2012-12-07  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_pager):
	support numbers (number-pad when NumLock is on)

2012-12-04  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-akfavatar-prg.c (handle_require_options):
	-l defines a global variable for the module

2012-12-01  Andreas K. Foerster  <info@akfoerster.de>

	* mingw/windowstiming.c: new file

2012-11-29  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-avt.c (luaopen_akfavatar_embedded):
	new table avt.key with key codes

	* lua/lua-avt.c: avt.getcwd as alias for avt.get_directory

2012-11-28  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h:
	key codes have been changed not to conflict with the corporate zone

2012-11-25  Andreas K. Foerster  <info@akfoerster.de>

	* text2c.awk: make static variable, support page-breaks

2012-11-24  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-sdl.c, avatar-linuxfb.c (avt_set_error):
	NULL or an empty message clears last error

2012-11-22  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-avt.c (lavt_input):
	new function (undocumented, may still change)

2012-11-20  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-akfavatar-prg.c (check_filename, ask_file):
	also accept some kinds of text files

2012-11-17  Andreas K. Foerster  <info@akfoerster.de>

	* avtinternals.h, avatar.c (avt_input, avt_input_mb): new functions

	* lua/lua-avt.c (lavt_ask): extended

2012-11-16  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_bell_function): new function
	renamed from avt_alert:function, put into official API

2012-11-12  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-avt.c (lavt_alert): new function

2012-11-07  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h: don't include SDL.h
	lua/lua-akfavatar-prg.c, example.c: include SDL.h conditionally

2012-11-05  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_load_image_bmp_data): new function

2012-10-29  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c, avatar-sdl.c
	(avt_register_keyhandler, avt_register_mousehandler):
	removed
	avtterm.c: adapted

	* akfavatar.h, avatar.c (avt_get_key): new function, replaces avt_key

	* avatar-linuxfb.c: new file

2012-10-26  Andreas K. Foerster  <info@akfoerster.de>

	* avttiming.c: new file

	* akfavatar.h (avt_elapsed): new macro

	* lua/lua-avt.c (lavt_key_pressed, lavt_clear_keys, lavt_push_key):
	new functions

2012-10-24  Andreas K. Foerster  <info@akfoerster.de>

	* data2c.awk: use static

2012-10-22  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c, avatar-sdl.c: split files

2012-10-20  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-sdl.c: fix centering header/footer

2012-10-19  Andreas K. Foerster  <info@akfoerster.de>

	* lots of refactoring not further documented

	* avatar-sdl.c: only support 32 bits per pixel internally

	* lua/akfavatar-graphic.c:
	use same color method as rest of AKFAvatar

2012-10-17  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-sdl.c (avt_load_image_file_sdl)
	(avt_load_image_stream_sdl, avt_load_image_memory_sdl)
	(avt_load_image_file, avt_load_image_stream, avt_load_image_memory):
	new funtions
	rest adapted

	* remove all deprecated code (would be too much to change)

2012-10-15  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-sdl (avt_load_image_xpm):
	limit sizes to avoid exessive memory usage

	* lua/lua-akfavatar-prg.c (reset): also reset encoding

2012-10-13  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-sdl.c (avt_load_image_xpm):
	refactoring also fixes bug with truecolor images

	* avatar-sdl.c: remove support for OLD_SDL
	use standard libc where appropriete

2012-10-12  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-sdl.c (avt_bar): renamed from avt_fill_area

	* avatar-sdl.c: lots of refactoring

2012-10-11  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-sdl.c (avt_put_image_xbm): new function
	(avt_button_inlay): adapted

2012-10-10  Andreas K. Foerster  <info@akfoerster.de>

	* lua/akfavatar-graphic.c (lgraphic_text):
	support combining characters

2012-10-09  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar-sdl.c (avt_combining): new function
	(avt_drawchar, avt_tell_len): adapted

	* lua/lua-avt.c (lavt_combining): new function

2012-10-08  Andreas K. Foerster  <info@akfoerster.de>

	* bdf2c, rgb2c: fixed for new GAWK and improved

	* give all AWK scripts the file extension ".awk"

2012-10-07  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-sdl.c (avt_drawchar, avt_show_text_cursor): simplify

2012-10-06  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-sdl.c: start to migrate anything to 32bpp surfaces

	* avatar-sdl.c (avt_fill_area, avt_fill): new fuctions

	* avatar-sdl.c (avt_update_area): new fuction

2012-09-27  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-avt.c (lavt_pager): do full garbage collection

	* lua/hexviewer.lua: new file

2012-09-25  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, audio-sdl.c, audio-dummy.c (avt_set_audio_end_key):
	returns old value

	* audio-sdl.c (avt_start_audio, avt_stop_audio): reset audio_key

	* audio-sdl.c (avt_navigate): restore audio-end-key

	* lua/lua-avt.c (lavt_set_audio_end_key): new function

	* avatar-sdl.c (avt_set_pointer_motion_key, avt_get_pointer_position)
	(avt_set_pointer_buttons_key): new functions
	(avt_analyze_event): adapted

	* avatar-sdl.c (avt_choice): use only avt_key() for input

	* avatar-sdl.c (avt_check_buttons): returns boolean
	(avt_analyze_event): adapted

	* avatar-sdl.c (avt_wait_button): use avt_key()

2012-09-24  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, audio-sdl.c, audio-dummy.c (avt_set_audio_end_key):
	new function
	(avt_wait_audio_end): adapted
	avatar-sdl.c (avt_navigate): adapted

2012-09-12  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-sdl.c (avt_update): no delay anymore

2012-09-08  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar-sdl.c (avt_push_key): new function

	* audio-sdl.c (fill_audio): sends pseudo-key on audio end
	avatar-sdl.c (avt_navigate): adapted

	* akfavatar.h, avatar-sdl.c (avt_key_pressed, avt_clear_keys):
	new functions

2012-09-07  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-sdl.c (avt_push_key, avt_analyze_key)
	(avt_clear_keys, avt_wait_key): new functions
	(avt_analyze_event, avt_key, avt_reset): adapted
	(avt_choice, avt_decide, avt_pager): adapted

	* avatar-sdl.c (avt_start, avt_quit): load base button globally

	* avatar-sdl.c (avt_show_button): new function

	* avatar-sdl.c (avt_clear_buttons): new function

	* avatar-sdl.c (avt_check_buttons): new function

2012-09-01  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-sdl.c (avt): bundle most settings in one structure

2012-08-29  Andreas K. Foerster  <info@akfoerster.de>

	* filechooser.c (get_directory): improved memory mangagement
	don't use scandir anymore

------------------------------------------------------------------------

2012-08-28  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.22.1 released

2012-08-13  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, audio-common.c (avt_prepare_raw_audio):
	renamed from avt_prepare_raw_audio_data

	* pascal/akfavatar.pas: do not move the avatar in automatically

2012-08-07  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar-sdl.c (AVT_FOOTER, AVT_HEADER):
	new modes replace AVT_SEPARATE

	* akfavatar.h, avatar-sdl.c (avt_avatar_mode):
	replaces avt_balloon_mode

2012-08-06  Andreas K. Foerster  <info@akfoerster.de>

	* lua/akfavatar/person.lua: method thinks

2012-08-04  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-avt.c (lavt_entry_type):
	never raise an error and don't accept an empty string

	* lua/akfavatar-graphic.c: accept numbers as color

2012-08-03  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-avt.c (lavt_search):
	never raise an error and don't accept an empty string

	* lua/lua-avt.c (lavt_load_audio_file, lavt_load_audio):
	if first option is nil ignore second option
	(works better with avt.search)

2012-08-02  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar-sdl.c (avt_set_bitmap_color):
	new function

	* lua/lua-avt.c (lavt_set_bitmap_color): new function

	* akfavatar.h, avatar-sdl.c (avt_reset): new function
	lua/lua-avt.c (lavt_start): adapted
	lua/lua-akfavatar-prg.c (reset): adapted

	* avatar-sdl.c (avt_show_raw_image): optimized
	(avt_release_raw_image): new function
	(avt_draw_avatar, avt_quit): adapted

2012-08-01  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar-sdl.c (avt_put_raw_image_file)
	(avt_put_raw_image_stream, avt_put_raw_image_data)
	(avt_put_raw_image_xpm): new functions

	* avatar-sdl.c (avt_import_image): new function
	(avt_show_raw_image): adapted

	* avatar-sdl.c (avt_put_image_rw): new function

	* lua/akfavatar-graphic.c (lgraphic_put_file, import_xpm)
	(lgraphic_put_image): new functions

2012-07-31  Andreas K. Foerster  <info@akfoerster.de>

	* lua/akfavatar-graphic.c: prepare support for alpha channel

2012-07-23  Andreas K. Foerster  <info@akfoerster.de>

	* about2html: full support for overstrike and page breaks

2012-07-15  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar-sdl.c (avt_get_balloon_color):
	new function

	* filechooser.c: markcolor depending on balloon color

	* lua/lua-avt.c (lavt_menu): markcolor depending on balloon color

	* lua/lua-akfavatar-prg.c (ask_file): different color

2012-07-11  Andreas K. Foerster  <info@akfoerster.de>

	* configure: use gnu99 (or MinGW disables some POSIX functions)

2012-07-10  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-akfavatar-prg.c (initialize_lua):
	for GNU/Linux add relative paths to package.path and package.cpath
	lua/lua-avt.c (set_datapath): don't do that in the module

	* lua/lua-akfavatar-prg.c (initialize_lua):
	load lua-akfavatar already

2012-07-09  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-avt.c (get_base_directory): new functions
	(set_datapath): adapted

	* lua/lua-avt.c (set_datapath):
	eventually also add to package.path and package.cpath

	* basedir.c: new file
	lua/lua-akfavatar-prg.c (find_scripts, local_lua_dir): adapted
	lua/lua-avt.c (set_datapath): adapted

2012-07-08  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, audio-common.c (avt_prepare_raw_audio_data):
	new function
	replaces avt_load_raw_audio_data and avt_set_raw_audio_capacity
	all callers adapted

2012-07-06  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-sdl.c (avt_pager):
	move the button to the right instead of down if it doesn't fit
	this is a workaround for a bug in SDL

2012-07-04  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h (AVT_MAKE_BOOL): macro removed

2012-07-03  Andreas K. Foerster  <info@akfoerster.de>

	* configure: enable C99 syntax and start using it

2012-07-02  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-avt.c (lavt_translate): new function
	lua/akfavatar/lang.lua: deleted

	* avatar-sdl.c (avt_license):
	don't return the term "license"

2012-06-30  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-sdl.c (avt_pager_line): support separators

	* avatar-sdl.c (avt_pager, avt_pager_line, avt_pager_screen):
	support for horizontal scrolling

2012-06-29  Andreas K. Foerster  <info@akfoerster.de>

	* langposix.c, mingw/langwindows.c: new files

	* lua/lua-avt.c: set variable avt.language
	lua/akfavatar/lang.lua: adapted

2012-06-22  Andreas K. Foerster  <info@akfoerster.de>

	* audio-sdl.c: more steps for SDL independence

	* audio-common.c: move lots of code there

2012-06-21  Andreas K. Foerster  <info@akfoerster.de>

	* avtdata.h, avtdata.c, audio-common.c: new files

2012-06-19  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-sdl.c (avt_draw_balloon):
	improve alignment of balloon in separate mode

2012-06-17  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, audio-sdl.c:
	remove unsigned audio except for 8 bit

	* lua/lua-akfavatar-prg.c: use Logo on start-screen

2012-06-16  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-sdl.c: renamed from avatar.c

	* audio-sdl.c: renamed from avatar-audio.c

	* audio-dummy.c: new file

	* akfavatar.h, avatar-sdl.c (avt_set_error): new function

	* avatar-sdl.c (avt_wait_event): new function
	audio-sdl.c (avt_wait_audio_end): adapted

	* avtpalette.c: use libc instead of SDL

2012-06-14  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-audio.c: support for 24 and 32 bit audio data

2012-06-11  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-audio.c (avt_load_raw_audio_data, avt_add_raw_audio_data):
	only store the endianness when it is not the native one

2012-06-11  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar-audio (avt_finalize_raw_audio):
	new function

2012-06-10  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-audio.c (avt_load_wave): native support for wave files

	* avatar-audio.c (avt_load_sdl_wave): new function

2012-06-07  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-audio.c (avt_add_raw_audio_data):
	double capacity when it's too low

	* avtvorbis.c (load_vorbis): detect needed capacity

2012-06-06  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-audio.c (avt_load_pcm, avt_load_wave, avt_load_au)
	(avt_load_audio_rw): rewritten

	* akfavatar.h, avatar-audio.c (avt_set_raw_audio_capacity):
	new function

2012-05-27  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-audio.c (fill_audio, avt_stop_audio, avt_quit_audio)
	(avt_play_audio): make soundpos an offset instead of a pointer

	* avatar-audio.c (avt_add_raw_audio_data):
	allow adding data while playing

	* avtvorbis.c: parameters for playing while loading

	* lua/lua-avt.c: parameters for playing while|after loading
	lua/akfavatar-vorbis.c: adapted

	* akfavatar.h, avatar-audio.c (avt_play_audio):
	playmode parameter instead of doloop
	lua/lua-avt.c: adapted

	* akfavatar.h, avatar-audio.c (avt_load_audio_file)
	(avt_load_audio_part, avt_load_audio_stream, avt_load_audio_data):
	preliminary support for playmode
	lua/lua-avt.c, lua/akfavatar-vorbis.c: adapted

	* avtaddons.h, avtvorbis.c: support for playmode

	* pascal/akfavatar.pas: support for playmode

2012-05-21  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-avt.c (lavt_set_balloon_color, lavt_set_background_color)
	(lavt_set_text_color, lavt_set_text_background_color):
	accept color numbers

2012-05-08  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-akfavatar-prg.c (initialize, reset, start_screen):
	no avatar image for the filechooser

2012-05-07  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-akfavatar-prg.c (check_options, main):
	make parameter --dir really only for file-selector

	* lua-akfavatar.sh: use --dir parameter

	* lua/lua-akfavatar-prg.c (find_scripts): new function

2012-05-06  Andreas K. Foerster  <info@akfoerster.de>

	* bdf2font:
        use a variable for the prefix instead of the name
	export function [prefix]get_font_dimensions
	lua/akfavatar-graphic.c: adapted

	* akfavatar.h (avt_get_font_dimensions):
	new function replaces avt_get_font_size

	* avatar.c: use variables for font-sizes

	* version.c: new file

2012-05-05  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_show_image):
	don't make inner window ever smaller

2012-05-04  Andreas K. Foerster  <info@akfoerster.de>

	* pascal/akfavatar.pas: updated
	define Csize_t for old FPC versions (needed for 2.0.4)

2012-05-02  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatr.h, avatar.c (avt_avatar_image_xbm, avt_show_image_xbm):
	use color number

	* avatar.c (avt_load_image_xpm):
	regression: doesn't support color names anymore

	* avatar.c: poison avt_colorname,
	remove functions that use it

	* akfavatar.h, avatar.c (avt_set_background_color)
	(avt_get_background_color, avt_set_balloon_color)
        (avt_set_text_color, avt_set_text_background_color):
        just take one color value

	* akfavatar.h, avtpalette.c (avt_palette):
	renamed from avt_get_palette

2012-05-01  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_get_palette): new function

	* rgb2c, avatar.c: avt_colors uses one color number

	* rgb2c, avatar.c: new macro DEFAULT_COLOR

	* avtpalette.c: new file
	avatar.c: adapted

	* akfavatar.xpm, lua.xpm: don't use named colors

	* avatar.c (avt_load_image_xpm):
	no support for named colors anymore

2012-04-30  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_colorname): new function

        * akfavatar.h (avt_rgb, avt_red, avt_green, avt_blue):
	new macros

	* akfavatar.h, avatar.c
	(avt_set_background_colornr, avt_get_background_colornr)
        (avt_set_text_colornr, avt_set_text_background_colornr):
	new functions, many other functions deprecated

2012-04-29  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_set_balloon_mode): new function
	(avt_draw_avatar, avt_draw_balloon, avt_draw_balloon2)
	(avt_move_in, avt_move_out, avt_start): adapted
	(lua/lua-avt.c): adapted

	* pascal/akfavatar.pas (SetBalloonMode): new procedure

	* bdf2c: fix for -v

2012-04-25  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_avatar_window): new function

	* avatar.c (avt_show_image): inner window becomes image

	* avatar.c (avt_resize, avt_toggle_fullscreen, avt_switch_mode):
	fullscreen mode respects size of inner window

	* avatar.c (avt_analyze_event):
	make mousehandler work (differently), when there is no textfield

2012-04-23  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c: add code for resizing again

2012-04-14  Andreas K. Foerster  <info@akfoerster.de>

	* bdf2c: make function name configurable

	* akfavatar.h (avt_get_font_char): replaces get_font_char
	avatar.c, lua/akfavatar-graphic.c: adapted

2012-04-13  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_analyze_event): code cleanup

	* avatar.c (avt_key): parameter may be NULL

2012-04-12  Andreas K. Foerster  <info@akfoerster.de>

	* example.c: include XPM file

2012-04-11  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-akfavatar-prg.c (help, check_options, initialize):
	support options for fullscreen mode (-f, -F)

	* avatar.c (avt_navigate): fix size with window offset

	* lua/lua-avt.c: avt.title()

2012-04-10  Andreas K. Foerster  <info@akfoerster.de>

	* lua-avt.c (lavt_avatar_image_default, lavt_avatar_image_none):
	functions removed again

	* lua-avt.c (lavt_avatar_image): renamed from lavt_avatar_image_data

	* lua-avt.c (lavt_show_image): renamed from lavt_show_image_string
	also supports XPM data in a table now

	* lua-avt.c: avt.load_audio_string and avt.load_base_audio_string were
	renamed to avt.load_audio and avt.load_base_audio

	* avatar.c (avt_wait_button, avt_decide): store/restore background

	* avatar.c (avt_save_background): new function

2012-04-09  Andreas K. Foerster  <info@akfoerster.de>

	* lua-avt.c (import_xpm): new function
	set_avatar and all callers adapted

	* lua-avt.c (lavt_avatar_image_default, lavt_avatar_image_none)
	(lavt_avatar_image_data, lavt_avatar_image_file): new functions

	* lua-avt.c (lavt_set_title): store values in registry

	* lua-avt.c (lavt_start): new function

	* lua-avt.c: deprecated funtions removed

	* avatar.c (avt_set_title): fix: check if encoding was set

2012-04-07  Andreas K. Foerster  <info@akfoerster.de>

	* configure, mingw/Makefile.in: improve cross-compiling

	* avatar.c (avt_show_image_file, avt_show_image_stream)
	(avt_show_image_data, avt_import_image_data, avt_import_image_file)
	(avt_import_image_stream, avt_avatar_image_data, avt_avatar_image_file):
	check if RW has data

	* avatar.c (avt_avatar_image_stream): new function

	* avatar.c (avt_show_image_rw, avt_avatar_image_rw): new functions

2012-04-06  Andreas K. Foerster  <info@akfoerster.de>

	* configure: new option --disable-deprecated

2012-04-05  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c, avatar-default.c, avatar-audio.c (DISABLE_DEPRECATED):
	new macro

2012-04-04  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h: renamed avt_image back to avt_image_t
	(only for backwards compatibility; it's deprecated anyway)

	* akfavatar.h, avtaddons.h:
	don't use AVT_BEGIN_DECLS, AVT_END_DECLS anymore
	instead redefine AVT_API, AVT_ADDON

	* akfavatar.h: macro AVT_UNUSED removed, callers adapted

	* akfavatar.h, avatar-audio.c (avt_start_audio):
	replaces avt_initialize_audio (to be consistent)

2012-04-03  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c, avatar-default.c (avt_start)
	(avt_avatar_image_default, avt_avatar_image_none, avt_avatar_image_xpm)
	(avt_avatar_image_xbm, avt_avatar_image_data, avt_avatar_image_file):
	new functions
	all callers adapted

	* akfavatar.pas: adapted

	* akfavatar.h, avatar.c, avatar-audio.c (AVT_FAILURE):
	new macro - many functions adapted

2012-03-31  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_show_image_stream, avt_import_image_stream):
	fix: couldn't load anything but XPM

	* avatar.c (avt_show_image_file, avt_show_image_data)
	(avt_import_image_data, avt_import_image_file):
	optimized

	* avatar.c (struct load_image, load_image_initialize, load_image_done):
	uses no file loader anymore

2012-03-19  Andreas K. Foerster  <info@akfoerster.de>

	* avtterm.c (set_foreground_color, set_background_color):
	improve colors

	* pascal/akfavatar.pas (TextColor, TextBackground):
	improve colors

2012-02-25  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_pager): support markup mode

2012-02-13  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_wait): use SDL_Delay() for short times
	akfavatar.h, avatar.c: remove avt_delay()
	lua/lua-avt.c: adapted

2012-02-11  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_mb_decode, avt_mb_decode_buffer)
	(avt_mb_encode, avt_mb_encode_buffer, avt_recode, avt_recode_bffer):
	use size_t
	avtterm.c, lua/lua-avt.c: adapted

	* pascal/multiply.pas:
	cannot be compiled without AKFAvatar anymore (simplified)

2012-02-10  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c, avatar-audio:
	use size_t where appropriete (ABI change!)
	pascal/akfavatar.pas: adapted

2012-01-31  Andreas K. Foerster  <info@akfoerster.de>

	* avtmsg.c, avtgrmsg.c, mingw/avtmsg.c: removed
	all callers adapted

	* example.c: simplified

2012-01-28  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-audio.c (avt_load_au): code cleanup

2012-01-06  Andreas K. Foerster  <info@akfoerster.de>

	* Homepage.desktop: new file

2012-01-05  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar-audio.c (avt_load_audio_part): new function
	avatar-audio.c (avt_LoadAU_RW, avt_load_audio_RW)
	(avt_load_audio_stream, avt_load_audio_data): adapted
	lua/lua-avt.c (lavt_load_audio_stream): adapted

	* akfavatar.h:
	avt_image_t renamed to avt_image
	avt_audio_t renamed to avt_audio
	all c-code adapted

	* avtaddons.h: avt_filter_t renamed to avt_filter
	all c-code adapted

2012-01-04  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-audio.c (avt_LoadAU_RW): restore file position on error

2012-01-03  Andreas K. Foerster  <info@akfoerster.de>

	* lua/akfavatar/questionary.lua: rewritten
	  lua/fs-quiz-de.lua, lua/fs-quiz-en.lua: adapted
	  lua/akfavatar/Fragebogen.lua: removed

2012-01-02  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c: add more error messages

2012-01-01  Andreas K. Foerster  <info@akfoerster.de>

	* lua/akfavatar/ar.lua: ar:dolua() replaced with ar:loadlua()

	* avtaddons.h, avtvorbis.c (avta_load_vorbis_stream): new function
	(avta_load_vorbis_file): adapted

	* lua/akfavatar-vorbis.c (lvorbis_load_stream, make_audio_element):
	new functions

	* lua/lua-avt.c (lavt_load_audio_stream): new function

	* lua/akfavatar-vorbis.c (lvorbis_load_stream_chain):
	new function

	* lua/akfavatar/avtdemo.lua (load_audio):
	load directly from stream, if audio comes from an archive

2011-12-29  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-akfavatar-prg.c (require): parameter nresults
	(handle_require_options, avtdemo): adapted
	lua/akfavatar/avtdemo.lua: defines no globals

2011-12-28  Andreas K. Foerster  <info@akfoerster.de>

	* lua/documentation/*/akfavatar-graphic.about:
	example code for gr:export_ppm() had to be adjusted

2011-12-27  Andreas K. Foerster  <info@akfoerster.de>

	* lua/akfavatar-term.c (APC_command): use luaL_loadbufferx()

2011-12-26  Andreas K. Foerster  <info@akfoerster.de>

	* lua/interactve_lua.lua: use "computer.xpm" as avatar

	* lua/lua-akfavatar-prg.c (ask_file, main): use luaL_loadfilex
	(file_reader, loadfile): removed

	* lua/lua-akfavatar-prg.c (run_executable):
	don't check for binary code, use luaL_loadbufferx

	* lua/characters_tables.lua:
	use hexadecimal UTF-8 presentation (same for C and Lua)

2011-12-25  Andreas K. Foerster  <info@akfoerster.de>

	* lua/*: ported to Lua-5.2

2011-12-13  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-akfavatar-prg.c (arg0, run_executable): new functions
	(ask_file, main): adopted

	* lua/lua-akfavatar-prg.c (check_filename):
	don't ignore lua-akfavatar.lua anymore

	* avtaddons.h, arch.c (avta_arch_get_data): refactored

	* avtaddons.h, arch.c (avta_arch_get_member): new function

2011-12-09  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-akfavatar-prg.c (start_screen): add Homepage

2011-12-05  Andreas K. Foerster  <info@akfoerster.de>

	* lua/multiplication.lua: fix

2011-12-04  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-avt.c (lavt_search, set_datapath): new functions

2011-11-14  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-audio.c: mark some variables as volatile

2011-10-17  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_delay): new function
	avatar.c (avt_put_char): use SDL_Delay()
	lua/lua-avt.c (lavt_delay): new function

2011-10-10  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_wait): optimization: use timer and an event

2011-10-08  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_show_image): call avt_checkevent()
	lua/akfavatar-graphic.c (lgraphic_show): don't call avt_update()

2011-10-06  Andreas K. Foerster  <info@akfoerster.de>

	* lua/four_in_a_row.lua: new file

	* avatar.c (avt_key): treat number pad depending on numlock

2011-10-04  Andreas K. Foerster  <info@akfoerster.de>

	* lua/akfavatar-graphic.c (lgraphic_disc): optional coordinates

2011-10-03  Andreas K. Foerster  <info@akfoerster.de>

	* lua/akfavatar-graphic.c (disc, lgraphic_disc): new functions

2011-10-02  Andreas K. Foerster  <info@akfoerster.de>

	* lua/akfavatar-graphic.c (lgraphic_put): position is optional
	optimized when same width and x==1

	* lua/akfavatar-graphic.c (lgraphic_put_transparency): new function

2011-10-01  Andreas K. Foerster  <info@akfoerster.de>

	* lua/akfavatar-graphic.c: refactoring color handling
	background color now stored for each graphic

	* lua/akfavatar-graphic.c (lgraphic_new): accept background color

	* lua/akfavatar-graphic.c (lgraphic_clear, lgraphic_color):
	error on bad color name

	* many files: make it compile as C++ again (extern "C")

2011-09-30  Andreas K. Foerster  <info@akfoerster.de>

	* filechooser.c (get_directory): use alphasort for scandir

2011-09-28  Andreas K. Foerster  <info@akfoerster.de>

	* lua/akfavatar-graphic.c (lgraphic_shift_horizontally):
	new function

2011-09-27  Andreas K. Foerster  <info@akfoerster.de>

	* lua/akfavatar-graphic.c (lgraphic_shift_vertically):
	new function

	* avatar.c (avt_show_raw_image): make sure image is initialized

------------------------------------------------------------------------

2011-09-13  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.21.2 released

2011-09-08  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (SYSTEMENCODING): new macro
	(avt_mb_encoding): accepts NULL or "" for system encoding
	filechooser.c: adapted
	akfavatar.h: documented change

2011-09-07  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_recode_buffer):
	fix: use correct conversion descriptor (fixes title)

	* lua/audioplayer.lua:
	recode the filenames to UTF-8
	fix: check for empty list

2011-09-06  Andreas K. Foerster  <info@akfoerster.de>

	* filechooser.c (avta_file_selection):
	use "" as default encoding, macro system_encoding removed again

	* avatar.c (avt_encoding): static buffer
	(avt_mb_encoding, avt_quit, avt_set_title): adapted

	* avatar.c (avt_recode_buffer, avt_recode):
	accept empty string as normal encoding

	* avatar.c (avt_mb_encoding):
	if input cannot be opened also close output

2011-09-04  Andreas K. Foerster  <info@akfoerster.de>

	* filechooser.c (system_encoding): new macro
	(avta_file_selection): adapted

2011-09-01  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-avt.c (lavt_initialize): set mouse visible

------------------------------------------------------------------------

2011-08-28  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.21.1 released

2011-08-25  Andreas K. Foerster  <info@akfoerster.de>

	* lua/terminal.lua: little computer as avatar

2011-08-24  Andreas K. Foerster  <info@akfoerster.de>

	* avtterm.c (get_character): fix: buffersize + 1 for terminator

2011-08-21  Andreas K. Foerster  <info@akfoerster.de>

	* configure: rename macros
	avatar.c, avatarsay.c: adapted

	* avatar.c: don't hide mouse, unless requested
	lua/akfavatar/avtdemo.lua (avtdemo): hide/show mouse
	lua-akfavatar-prg.c (reset): make mouse visible

	* avatar.c (avt_say_len):
	fix: when checking for \b, make sure it's not past the end

------------------------------------------------------------------------

2011-08-20  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.21.0 released

2011-08-18  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-akfavatar-prg.c (script_error): new function

2011-08-17  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_tell_mb_len): check if len<=0

	* lua/lua-avt.c (lavt_load_audio_file, lavt_load_audio_string):
	force full garbage collection

	* lua/akfavatar-vorbis.c (collect_garbage): new function
	(lvorbis_load_file, lvorbis_load_string)
	(lvorbis_load_file_chain, lvorbis_load_string_chain):
	force full garbage collection

	* lua/audioplayer.lua, lua/akfavatar/avtdemo.lua:
	don't call the garbage collector

2011-08-15  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_recode_buffer): new function
	(avt_set_title): adapted

	* lua/akfavatar/lang.lua: new module
	lua/multiplication.lua: adapted

2011-08-14  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_initialize, calculate_balloonmaxheight):
	further code cleanups

2011-08-13  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_initialize): just call avt_change_avatar_image

2011-08-12  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c: smaller SHADOWOFFSET

	* avatar.c (avt_mb_decode_buffer, avt_mb_encode_buffer):
	make sure there is room for a terminator
	no error if buffer is too small - just put in as much as fits

2011-08-11  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-avt.c (lavt_launch => avt.launch): new function

2011-08-10  Andreas K. Foerster  <info@akfoerster.de>

	* avtaddons.h, avtterm.c (avta_term_send_literal): new macro

	* avtterm.c:
	fix key F7, more refactoring
	some code for mouse support (deactivated by default)
	workaround: reset instead switching alternate-screens
	optimize mode switches
	support switching autowrap mode (CSI ? 7 h)

	* avatar.c (avt_initialize): don't ignore mouse button releases

2011-08-09  Andreas K. Foerster  <info@akfoerster.de>

	* avtterm.c: refactoring

2011-08-08  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_mb_decode_buffer, avt_mb_encode_buffer):
	new functions
	(avt_mb_decode, avt_mb_encode): adapted

	* avtterm.c: optimization: use static buffer

	* lua/terminal.lua: no avatar

2011-08-07  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_say_mb_len, avt_decode): fixes

2011-07-25  Andreas K. Foerster  <info@akfoerster.de>

	* configure:
	fix config-mingw
	search lua in /usr/local/cross-tools/i386-mingw32/

2011-07-25  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_say_mb_len, avt_say_mb):
	do the charset conversion directly in avt_say_mb_len
	=> optimization: far less mallocs

	* avatar.c (avt_tell_mb): call avt_tell_mb_len

	* mingw/iconv.h, mingw/win_iconv.c:
	remove const from **inbuf

2011-07-23  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_recode, avt_mb_decode, avt_mb_encode):
	make them more consistent
	callers adapted

	* avatar.c (avt_say, avt_say_len, avt_tell_len):
	support for UTF-16 surrogates

2011-07-22  Andreas K. Foerster  <info@akfoerster.de>

	* pascal/akfavatar.pas (Playing, ShowRawImage)
	(ImageMaxWidth, ImageMaxHeight, getBackgroundColor):
	new functions

	* pascal/akfavatar.pas:
	fix: never call Halt in IO-functions or initialization

2011-07-19  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_recode): new function
	(avt_set_title): adapted

	* lua/lua-avt.c (lavt_recode => avt.recode): new function

2011-07-18  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c, avatar-audio.c:
	remove all deprecated functions

	* akfavatar.h: use stdbool.h instead of avt_bool_t
	all callers adapted
	pascal/akfavatar.pas adapted

	* avatar.c (avt_iconv, avt_mb_decode, avt_mb_encode):
	use in more standardized way,
	make SDL_iconv the exception rather than the rule

------------------------------------------------------------------------

2011-07-14  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.20.0 released

2011-07-13  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_ask): use avt_char; check if character is printable

	* avatar.c (avt_key): check if it's really a key

	* filechooser.c: mark parent directory with a double arrow up

2011-07-04  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_wait_button, avt_key):
	don't accept F11 unless reserve_single_keys is set

2011-07-02  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_set_text_background_color): fix

	* lua/lua-avt.c (luaopen_akfavatar_embedded): new function
	lua/lua-akfavatar-prg.c (initialize_lua): adapted

2011-06-13  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_isblank): new macro

2011-06-04  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_get_font_size): new function
	(avt_get_font_height, avt_get_font_width): removed

2011-06-03  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_navigate):
	on audio end push 'f' over 's', no matter how they are arranged

	* bdf2c, avtinternals.h, akfavatar.h, avatar.c (avt_drawchar):
	get_font_char(int) in main API, returns void*

	* akfavatar.h, avatar.c (avt_get_font_height, avt_get_font_width):
	new functions

2011-05-19  Andreas K. Foerster  <info@akfoerster.de>

	* lua/akfavatar-canvas.c: new file

2011-05-18  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-akfavatar-prg.c:
	don't show header files directly (use about-files)

	* akfavatar.h, avatar.c (avt_show_raw_image): new function
	(avt_show_gimp_image): adapted - marked deprecated

	* akfavatar.h, avatar.c (avt_get_background_color)
	(avt_image_max_width, avt_image_max_height): new functions

2011-05-15  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-avt.c (avt.dirsep): new variable

2011-05-11  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-avt.c (laudio_play, laudio_loop):
	store reference to audio, so it isn't garbage collected while playing
	(lavt_quit_audio, lavt_wait_audio_end, lavt_stop_audio):
	clear stored audio-reference

2011-05-05  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-avt.c (lavt_long_menu):
	allow short menues, renamed to lavt_menu
	Lua function avt.menu as alias for avt.long_menu

2011-04-29  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-avt.c (lavt_long_menu): support for stacked tables

2011-04-27  Andreas K. Foerster  <info@akfoerster.de>

	* audio1.xpm, lua/akfavatar/audio1.lua: new files

2011-04-26  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_show_image_file, avt_show_image_stream)
	(avt_show_image_data, avt_show_image_xpm, avt_show_image_xbm)
	(avt_show_gimp_image):
	fix: on error clear the screen, not the balloon

2011-04-14  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-avt.c (lavt_optional => avt.optional): new function
	lua/akfavatar/avtdemo.lua, lua/audioplayer.lua: adapted

2011-04-05  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_ticks): new function
	lua/lua-avt.c (lavt_ticks => avt.ticks): new function

	* avatar.c (avt_wait): check if time is > 0

2011-04-04  Andreas K. Foerster  <info@akfoerster.de>

	* lua/akfavatar/utf8.lua (utf8.to_latin1, utf8.from_latin1):
	new functions

	* lua/akfavatar/utf8.lua (utf8.to_ncr): new function
	  (utf8.from_ncr): renamed from utf8.ncr

2011-04-03  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-audio.c (playing): new variable
	many functions adapted (simplified)

	* lua/lua-akfavatar-prg.c (start_screen):
	explain [F11] and [Esc]

2011-04-01  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_pager):
	make sure the close button doesn't collide with textfield

	* lua/lua-akfavatar-prg.c (check_filename, ask_file):
	also show header files (*.h) as text

2011-03-31  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-avt.c (luaopen_akfavatar): create a reusable silent sound
	(make_audio_element): reuse silence

	* lua/lua-avt.c (laudio_tostring): call silent sounds "silent"

	* lua/lua-akfavatar-prg.c (show_text): set balloon color to "tan"

2011-03-30  Andreas K. Foerster  <info@akfoerster.de>

	* lua/akfavatar-vorbis.c:
	redefines avt.load_audio_file and avt.load_audio_string
	lua/audioplayer.lua, lua/akfavatar/avtdemo.lua: adapted

	* lua/lua-avt.c (avt.load_base_audio_file, avt.load_base_audio_string):
	new functions

	* lua/lua-avt.c (lavt_silent => avt.silent): new function

2011-03-28  Andreas K. Foerster  <info@akfoerster.de>

	* lua/akfavatar/avtdemo:
	commands avatarname, ballooncolor, textcolor improved
	commands size, width, height no longer needed (ignored)
	commands effectpause, back no longer supported

	* avtvorbis.c (avta_load_vorbis_file, avta_load_vorbis_data):
	first check if it's really plain Ogg Vorbis

2011-03-27  Andreas K. Foerster  <info@akfoerster.de>

	* avttermsys.c (avta_term_initialize):
	don't define environment variable AKFAVTTERM anymore

	* avtcmd: adapted to lua-akfavatar

2011-03-25  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_get_newline_mode): new function

	* filechooser.c (avta_file_selection): activate the newline mode

	* lua/lua-avt.c (lavt_long_menu): activate the newline mode

2011-03-24  Andreas K. Foerster  <info@akfoerster.de>

	* lua/akfavatar-term.c (lterm_setenv, lterm_unsetenv): new functions
	lua/terminal.lua: adapted

	* lua/akfavatar-term.c (lterm_execute): setlocale

	* lua/akfavatar-term.c (APC_command): convert cmd to current encoding

	* lua/akfavatar-term.en.about: preliminary documentation

2011-03-22  Andreas K. Foerster  <info@akfoerster.de>

	* lua/akfavatar/avtdemo.lua (wait, do_wait): new function/variable

	* avtgrmsg.c (avta_graphic_error): fix: unlock updates

	* lua/akfavatar-term.c (lterm_execute, APC_command, luaopen_term):
	register APC command handler for Lua commands

	* avtterm.c (avta_term_update_size): first check if size changed at all

	* avtterm.c (avta_term_send): check file-handle

	* lua/akfavatar-term.c (lterm_send, lterm_decide): new functions

2011-03-07  Andreas K. Foerster  <info@akfoerster.de>

	* avtreadfile.c (read_stream): fix reading empty files

2011-03-06  Andreas K. Foerster  <info@akfoerster.de>

	* doc/lua-akfavatar-reference.man: new file

	* stb_vorbis.c: make it compile on FreeBSD

2011-03-03  Andreas K. Foerster  <info@akfoerster.de>

	* avtvorbis.c [MAX_CHANNELS]: new macro

2011-03-02  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-avt.c (lavt_entry_type => avt.entry_type):
	new function

	* lua-akfavatar-prg.c: can display *.about files (UTF-8)

2011-03-01  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-avt.c (lavt_directory_entries => avt.directory_entries):
	new function

2011-02-27  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-audio.c (fill_audio, avt_wait_audio_end):
	send an user-event when sound has ended
	avtinternals.h, avatar.c (avt_analyze_event): made extern

	* avatar.c (avt_navigate):
	end of sound triggers stop or fastforward key, if present

2011-02-24  Andreas K. Foerster  <info@akfoerster.de>

	* lua/akfavatar/utf8.lua (utf8.ncr): renamed from utf8.xml

2011-02-23  Andreas K. Foerster  <info@akfoerster.de>

	* pascal/akfavatar.pas (LoadRawSoundData, AddRawSoundData):
	new functions

2011-02-22  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar-audio.c (avt_pause_audio): new function
	lua/lua-avt.c (lavt_pause_audio => avt.pause_audio): new function
	pascal/akfavatar.pas (PauseSound): new function

	* lua/lua-avt.c (check_avt_bool_t)[to_avt_bool_t]:
	new function, new macro
	many functions adapted

	* lua/lua-avt.c (lavt_chdir => avt.set_directory):
	nil or an empty sting is accepted and does nothing

2011-02-12  Andreas K. Foerster  <info@akfoerster.de>

	* avtaddons.h (avta_load_vorbis_file, avta_load_vorbis_data):
	new functions
	avtvorbis.c: new file
	renamed lua/avt-vorbis.c -> lua/akfavatar-vorbis.c

	* akfavatar.h, avatar.c, avatar-audio.c:
	change definitions of avt_image_t and avt_audio_t

2011-02-08  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar-audio.c (avt_add_raw_audio_data): new function
	avatar-audio.c (avt_load_raw_audio_data): adapted
	lua/avt-vorbis.c (load_vorbis): adapted

2011-02-04  Andreas K. Foerster  <info@akfoerster.de>

	* stb_vorbis.c, lua/avt-vorbis.c: new files

	* lua/akfavatar/avtdemo.lua: optional support for Ogg Vorbis

2011-02-03  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-avt.c (lavt_load_audio_file, lavt_load_audio_string):
	on error return nil and an error message

	* avatar-audio.c (avt_load_audio_RW): improve error messages

2010-11-26  Andreas K. Foerster  <info@akfoerster.de>

	* lua/akfavatar/utf8.lua (utf8.codepoints): new function

2010-11-25  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_mb_encoding): fix

2010-11-23  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_mb_encoding):
	check if new encoding is actually different

2010-11-21  Andreas K. Foerster  <info@akfoerster.de>

	* lua/akfavatar/utf8.lua (utf8.sub): new function

2010-11-20  Andreas K. Foerster  <info@akfoerster.de>

	* lua/akfavatar/utf8.lua (utf8.check_unicode):
	no fallback

	* lua/lua-akfavatar-prg.c:
	don't include the base64 lib (available as module now)

2010-11-19  Andreas K. Foerster  <info@akfoerster.de>

	* lua/akfavatar/utf8.lua (utf8.bold, utf8.underlined):
	new functions

2010-11-17  Andreas K. Foerster  <info@akfoerster.de>

	* avtterm.c (avta_term_run):
	fix: unlock updates, reset newline mode

	* avtaddons.h, avtterm.c (avta_term_initialize):
	changed definition
	avttermsys.h, avttermsys.c (avta_term_initialize): dito
	avatarsay.c: adapted

2010-11-16  Andreas K. Foerster  <info@akfoerster.de>

	* lua/akfavatar/utf8.lua (utf8.check): limit for checks

	* lua/akfavatar/utf8.lua (utf8.check_unicode): new function
	(lua/textview.lua): try to detect text encoding

	* lua/lua-akfavatar-prg (main): reset more settings

	* lua/akfavatar-term.c, lua/terminal.lua: new files

2010-11-15  Andreas K. Foerster  <info@akfoerster.de>

	* lua/akfavatar/utf8.lua (utf8.check_bom, utf8.check):
	new functions

2010-11-14  Andreas K. Foerster  <info@akfoerster.de>

	* lua/akfavatar/utf8.lua (utf8.characters): new function

	* lua/akfavatar/utf8.lua (utf8.codepoint): new function

	* lua/lua-avt.c (lavt_colors => avt.colors): new function

2010-11-13  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-avt.c (lavt_unicode_to_utf8): function removed

	* lua/akfavatar/utf8.lua: new file

2010-11-12  Andreas K. Foerster  <info@akfoerster.de>

	* configure:
	eventually export all symbols for lua-akfavatar-bin
	(needed to load binary modules)

2010-11-10  Andreas K. Foerster  <info@akfoerster.de>

	* avtar.c (avt_mb_encode, avt_mb_decode):
	always assume 4 Bytes per char

	* lua/lua-avt.c (luaopen_akfavatar):
	register an exit function for the module

2010-10-28  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-avt.c (lavt_unicode_to_utf8): new function

2010-10-26  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c:
	(avt_char): new type for single unicode char
	new functions:
	avt_put_char() replaces avt_put_character()
	avt_is_printable() replaces avt_printable()
	avt_key() replaces avt_get_key()
	many functions adapted

------------------------------------------------------------------------

2010-10-22  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.19.0 released

2010-10-16  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (many functions): check status before doing something

2010-10-04  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_audio_playing): new function

2010-09-26  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_tell_len, avt_tell_mb_len):
	new functions

2010-09-25  Andreas K. Foerster  <info@akfoerster.de>

	* bdf2c (font): accept 0, return NULL for unknown chars
	avatar.c (avt_drawchar): accept NULL from get_font_char

	* akfavatar.h, avatar.c (avt_printable): new function

	* avatar.c (avt_put_character, avt_tell):
	don't ignore U+0000, U+00AD, U+2060 - U+2063

2010-09-24  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_get_mb_encoding): new function

2010-09-14  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_set_mouse_pointer):
	get mouse pointer from normal XBM-data
	mpointer.xbm, mpointer_mask.xbm: new files

2010-09-12  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_mb_encode, avt_mb_decode): optimized

2010-09-10  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c: handle WCHAR_MAX <= 255

2010-09-09  Andreas K. Foerster  <info@akfoerster.de>

	* mingw/iconv.h, mingw/win_iconv.c: new files
	imported from win_iconv (puplic domain)

	* 9x18.bdf: updated

2010-09-06  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h (avt_quit_audio): no longer deprecated

2010-09-05  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_set_auto_margin, avt_get_auto_margin):
	new functions
	(avt_auto_margin): marked deprecated
	filechooser.c, colorchooser.c: adapted

2010-08-30  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_put_character, avt_tell):
	support NEL, LS, PS

2010-08-29  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_mb_encoding, avt_set_title, avt_initialize, avt_quit):
	make the title/shortname depend on avt_mb_encoding

	* avatar.c (avt_initialize):
	fix: define background_color before clearing the screen

2010-08-25  Andreas K. Foerster  <info@akfoerster.de>

	* filechooser.c (marked_line): new macro
	* colorchooser.c (marked_line): new macro

2010-08-19  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_load_image_xpm, avt_load_image_xbm):
	handle transparency differently

	* avatar.c (avt_initialize, avt_change_avatar_image):
	don't add alpha channel to images with color-key transparency
	(optimization)

2010-08-16  Andreas K. Foerster  <info@akfoerster.de>

	* avtar.c (avt_normal_text): switch markup mode off

2010-08-07  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_ask): fix: clear the input field

2010-08-05  Andreas K. Foerster  <info@akfoerster.de>

	* avtinternals.h: new file

2010-08-04  Andreas K. Foerster  <info@akfoerster.de>

	* avtgrmsg.c: new file
	(avtmsg.c, mingw/avtmsg.c): adapted

	* mingw/avtmsg.c: made more secure

2010-07-27  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-audio.c (avt_free_audio):
	if the sound is currently playing, stop it immediately!

2010-07-24  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (say_line): eliminate outdated code
	(process_script): use avt_markup

2010-07-23  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_markup): new function
	(avt_put_character, avt_tell, avt_initialize): adapted
	avt_markup was named avt_wikisyntax for a short time

2010-07-21  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (bell): new macro

2010-07-18  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_get_key):
	map some function keys to unicode chars in the reserved area

	* avatar.c (avt_ask):
	support full line editing

	* avatar.c (avt_tell, avt_tell_mb): new functions

2010-07-16  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_ask): fix: no sound on quit-request

2010-06-26  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_flash): restore clipping

	* avatar.c (avt_pager): handle clipping

	* avatar.c (avt_pager): disable alert function

2010-06-22  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-avt.c: renamed back from lua/lua-akfavatar.c

	* configure: experimental support for "--host=mingw"
	Makefile.in: adapted

2010-06-21  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-audio.c (avt_initialize_audio, avt_quit_audio):
	make it save to call it repeatedly

	* avatar.c (avt_quit):
	make it save to call it repeatedly

2010-06-18  Andreas K. Foerster  <info@akfoerster.de>

	* filechooser.c: path can be entered manually

2009-12-12  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (is_textfile, is_demo_or_text, is_graphic_file):
	better way to check for extension

2009-12-09  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-akfavatar.c: renamed from lua/lua-avt.c

2009-12-05  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_put_character): ignorable characters

2009-11-24  Andreas K. Foerster  <info@akfoerster.de>

	* colorchooser.c (avta_color_selection): optimized

	* avatar-audio.c (avt_initialize_audio):
	read alert sound from sound data with header

2009-11-22  Andreas K. Foerster  <info@akfoerster.de>

	* pascal/multiply.pas: include sounds
	pascal/negative.inc, pascal/positive.inc: new files

2009-11-20  Andreas K. Foerster  <info@akfoerster.de>

	* pascal/multiply.pas: include image of teacher
	pascal/teacher.inc: new file

2009-11-10  Andreas K. Foerster  <info@akfoerster.de>

	* lua/lua-avt.c, lua/akfavatar-lua.c: new files
	(further developement not documented until first release)

------------------------------------------------------------------------

2009-11-08  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.18.0 released

	* akfavatar.h (avt_bool_t): unsigned char

2009-11-07  Andreas K. Foerster  <info@akfoerster.de>

	* example.c: updated and more comments

2009-10-31  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_pager): new function
	renamed from avt_pager_mb
	(avt_pager_mb): wrapper for avt_pager
	(avt_pager_line, avt_pager_screen, avt_pager_lines_back):
	adapted

	* avatarsay.c (ask_textfile):
	call check_encoding on the text (for UTF-16/32 texts)

2009-10-30  Andreas K. Foerster  <info@akfoerster.de>

	* avtar.c (avt_set_avatar_name_mb):
	fix: handle NULL or empty string correctly

	* akfavatar.h, avatar.c (avt_get_color): new function
	colorchooser.c (avta_color_selection): adapted

2009-10-29  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_load_image_xbm_RW):
	support old X10 format (deprecated!)

2009-10-28  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_load_image_xbm_RW): new function
	many functions adapted

	* avatarsay.c (is_graphic_file):
	accept X-Bitmap (XBM) files

2009-10-27  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (menu): restructured
	(is_textfile, ask_textfile, show_license, info_submenu):
	new functions
	(about_avatarsay, is_demo_or_text): adapted

2009-10-25  Andreas K. Foerster  <info@akfoerster.de>

	* avtar.c (avt_pager_line):
	ignore formfeeds at beginning of line, or treat them like newlines

2009-10-23  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_drawchar): work with 1Bit surface
	avt_initialize: adapted

2009-10-22  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_load_image_xbm): optimized
	(avt_draw_balloon2): adapted
	circle.xpm: adapted (must be multiple of 8)

	*avatar.c (avt_draw_balloon2):
	improve balloon-corners in vga resolution

2009-10-19  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_set_avatar_name, avt_set_avatar_name_mb):
	new functions
	avatar.c (avt_show_name): new function
	avatar.c (avt_draw_avatar, avt_change_avatar_image): adapted
	pascal/akfavatar.pas: adapted

	* avatarsay.c (avatar_command): new command: avatarname

2009-10-15  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_navigate): support for spacer

	* avatar.c (AVT_HIDDEN): new macro

2009-10-14  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_navigate): rewritten
	API-CHANGE!
	pascal/akfavatar.pas: adapted

2009-10-13  Andreas K. Foerster  <info@akfoerster.de>

	* colorchooser.c (avta_color_selection):
	also show hexadecimal values for the colors

2009-10-12  Andreas K. Foerster  <info@akfoerster.de>

	* avtcolors.h: removed
	rgb2c: new tool to convert rgb.txt on the fly

2009-10-11  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_choice): support PageUp/PageDown keys

	* avatar.c (AVT_UPDATE_TRECT): new macro
	many callers adapted

	* avatar.c (avt_pager_mb):
	fix: remove close-button when done

	* avatar.c (avt_pager_mb):
	fix: show close-button after drawing the balloon

	* avatarsay.c (menu): move terminal one down again

	* avatarsay.c (not_available): use better conditionals

2009-10-10  Andreas K. Foerster  <info@akfoerster.de>

	* colorchooser.c (manual_entry): new function

2009-10-09  Andreas K. Foerster  <info@akfoerster.de>

	* replaced bdfread.c with bdf2c (awk)

	* avtaddons.h, colorchooser.c (avta_color_selection):
	new function
	avatarsay.c (ask_background_color, ask_balloon_color):
	adapted

	* avatarsay.c: reset colors to given settings

2009-10-08  Andreas K. Foerster  <info@akfoerster.de>

	* replaced bin2c.c with my own data2c (awk)

2009-10-04  Andreas K. Foerster  <info@akfoerster.de>

	* pascal/xpm2pas: new tool (awk)

	* pascal/akfavatar.pas (AvatarImageXPM, ShowImageXPM):
	new procedures

2009-10-03  Andreas K. Foerster  <info@akfoerster.de>

	* pascal/xbm2pas: new tool (awk)

	* pascal/akfavatar.pas (AvatarImageXBM, ShowImageXBM):
	new procedures

2009-10-01  Andreas K. Foerster  <info@akfoerster.de>

	* avtposix.c, mingw/avtwindows.c (open_config_file):
	new functions
	avatarsay.c (save_settings, successfully_saved, saving_failed):
	new functions
	(settings_submenu): adapted
	(read_config_file, check_local_config): new functions
	(check_config_file): adapted
	(ask_background_color, ask_balloon_color): adapted

	* avatarsay.c (ask_avatar_image): use correct separator

	* akfavatar.h, avatar.c (get_mode): new function

	* avatarsay.c (save_settings, read_config_file):
	read/restore window mode in config file

2009-09-28  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_pager_mb): add close button

	* avatar.c (avt_button_inlay): new function
	AVT_XBM_INFO: new macro
	(avt_pager_mb, avt_decide, avt_wait_button): adapted

2009-09-25  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_navigate): add eject and circle buttons

2009-09-23  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_navigate): save/restore buttons background

	* avatar.c (avt_initialize): make window not resizable
	remove most code for resizing the window
	(avt_change_mode): new function, was avt_resize

	* avatarsay.c (checkoptions): fix --fullfullscreen

2009-09-23  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_wait_button, avt_decide):
	center button-inlays on button

	* akfavatar.h: AVT_NAV_* instead of AVT_DIR_*
	avatar.c (avt_navigate): adapted
	pascal/akfavatar.pas: adapted

2009-09-22  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_navigate):
	add further buttons: stop, pause, help

	* avatar.c (avt_navigate):
	center button-inlays on button,
	so bitmaps can be made even smaller

2009-09-21  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_navigate):
	add support for fast-forward and fast-backward buttons

	* avatar.c (avt_navigate):
	add support for plus and minus buttons
	simplify function with the macro avt_nav_add

2009-09-20  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_load_image_xbm):
	renamed from avt_load_image_xbm_rgb
	all callers changed

	* akfavatar.h, avatar.c (avt_import_xbm, avt_show_image_xbm):
	new functions

	* avatar.c (avt_show_image_xpm):
	use avt_load_image_xpm instead of avt_import_xpm

	* avatar.c (avt_navigate): renamed from avt_get_direction

	* avatar.c (avt_navigate): add support for a cancel button

2009-09-19  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_get_direction): new function
	pascal/akfavatar.pas: adapted

	* avatar.c (avt_load_image_xbm_rgb): new function
	many callers adapted

2009-09-18  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_wait_button, avt_decide):
	buttons are combined of two parts

2009-09-17  Andreas K. Foerster  <info@akfoerster.de>

	* avtaddons.h, filechooser.c (avta_file_selection):
	replaces avta_get_file, allows custom filter

	* avatarsay.c (is_graphic_file): new function
	(ask_avatar_image): use avta_file_selection

	* avatarsay.c (is_demo_or_text): new function
	(ask_file): adapted
	demo scripts/archives should have the extention ".avt" now
	example demos renamed accordingly

2009-09-16  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c: global variable avt_image removed,
	global variable avt_image_name renamed to avatar_image
	(set_avatar_image, load_avatar_image): new functions
	(use_avatar_image): removed
	many functions adapted

	* avatarsay.c (about_avatarsay):
	bold question - error message if license not found

2009-09-15  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (ask_background_color, ask_balloon_color)
	(ask_avatar_image, settings_submenu): new functions
	(menu): adapted

	* avatarsay.c (run_script):
	fix: don't change directory, when reading from archive

2009-09-06  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_import_xpm, avt_show_image_xpm):
	renamed functions
	(avt_import_XPM, avt_show_image_XPM):
	new deprecated wrappers for backward compatibility
	avatar-default.c: adapted

	* text2c: new script (awk)

2009-09-05  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h: reorganized
	(avt_stream): new typedef

2009-08-25  Andreas K. Foerster  <info@akfoerster.de>

	* avttermsys.h, avttermsys.c (avta_closeterm): new function

2009-08-23  Andreas K. Foerster  <info@akfoerster.de>

	* avttermsys.h, avttermsys.c: new files
	avtterm.c: system-specific stuff separated out

	* avatar-audio.c:
	allow loading audio-data before audio is initialized, again

------------------------------------------------------------------------

2009-08-21  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.17.1 released

2009-08-19  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-audio.c [NO_AUDIO]:
	define stubs when no audio support should be compiled in
	avatarsay.c (initialize): adapted

2009-08-18  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-audio.c (avt_audio_initialized): new variable
	many functions adapted

	* avatarsay.c: new option: -A, --noaudio
	many functions adapted

	* avatarsay.c (ask_manpage):
	don't use putenv, but start the command with env

2009-08-17  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (ask_manpage): use avta_pager_command

	* avtaddons.h, avtreadfile.c (avta_pager_file)
	(avta_pager_command): option: startline

	* avatarsay.c: optimization: options

	* avatarsay.c (checkoptions): code-cleanup

	* avatarsay.c: reorder: help and checkoptions closer together

2009-08-16  Andreas K. Foerster  <info@akfoerster.de>

	* avtaddons.h, avtreadfile.c (avta_pager_file)
	(avta_pager_command): new functions
	avatarsay.c: adapted

2009-08-14  Andreas K. Foerster  <info@akfoerster.de>

	* avtreadfile.c: all functions return -1 on error

2009-08-13  Andreas K. Foerster  <info@akfoerster.de>

	* avtreadfile.c: completely rewritten
	avtaddons.h, avatarsay.c: adapted

	* avatar.c (avt_pager_mb):
	deactivate external key/mouse handlers in pager mode

	* avatar.c (avt_credits):
	deactivate external key/mouse handlers in credits mode

	* avatar.c (avt_pager_mb):
	leave the pager by pressing the wheel (middle button)

2009-08-12  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (ask_manpage): show syntax

	* avtterm.c (prg_wheelhandler): new function
	(avta_term_run): adapted

	* avatar.c (avt_analyze_event):
	call ext. mousehandler also when pointer outside of balloon

	* akfavatar.h, avatar.c (avt_set_mouse_visible): new function
	avtterm.c (avta_term_run): adapted

2009-08-11  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (ask_manpage): set GROFF_NO_SGR=1

	* avatarsay.c (ask_manpage): use the new pager

2009-08-10  Andreas K. Foerster  <info@akfoerster.de>

	* avtarsay.c (checkoptions): new option --pager (-P)
	(run_pager): new function
	(main): adapted

	* avtreadfile.c (avta_read_file):
	when file_name is NULL, read from stdin

	* avtarsay.c (run_pager): accept "-" as special filename

	* avatar.c (avt_overstrike): new function
	(avt_say, avt_say_len): adapted

2009-08-09  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (handle_back_command): fix for some systems
	don't use swscanf

	* filecooser.c: new macro FILTER_DIRENT_T

2009-08-08  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (showversion, about_avatarsay):
	different implementation, possibility to show license

	* avtreadfile.c: new file
	avtaddons.h, avatarsay.c: adapted

	* avtterm.c (get_character): more robust
	don't rely on errno being unchanged

2009-08-07  Andreas K. Foerster  <info@akfoerster.de>

	* avtaddons.h: changed the type of avta_term_apc_cmd
	avtarsay.c (avatar_comman, APC_command): adapted

	* avatar.c (avt_pager_mb): support for keys: Space, f, b

2009-08-06  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (avatar_command): improved

2009-08-05  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_pager_mb):
	Q with any combination-key quits pager

2009-08-04  Andreas K. Foerster  <info@akfoerster.de>

	* avtaddons.h: common prefix "avta_"
	All implementations and callers adapted

	* avtcwio.c: fix definition of vswprintf for MinGW :-(

	* filecooser.c: renamed from avtfilechooser.c
	to fit in old style ar files

	* avtaddons.c [AVTADDONS_DLL]: new conditional

	* avtposix.c: new file
	avtarsay.c, mingw/avtwindows.c: adapted

	* avtccio.c [!__USE_GNU] (avta_vprintf):
	allow unlimited size (needs C99 compliant libc)

	* avtccio.c (avta_putchar): allow characters > 255

2009-08-03  Andreas K. Foerster  <info@akfoerster.de>

	* mingw/avttermstub.c: new file
	avatarsay.c: adapted

	* avtaddons.h, avtterm.c (avtterm_send): new function
	was static write_term - all callers adapted

2009-08-02  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (avatar_command):
	reenable the "slow"-command for demos

	* avtterm.c (get_character):
	new strategy for screen-updates

2009-08-01  Andreas K. Foerster  <info@akfoerster.de>

	* rename bell.flac into alert.flac
	avtar-audio.c, avatar.c: adapted

	* avatar.c (avt_show_text_cursor):
	don't update, when hold_update is set
	(avt_scroll_up): don't handle cursor here

	* avtterm.c (activate_cursor): new function
	All callers of avt_activate_cursor changed to activate_cursor
	(get_character): lock/unlock updates

	* avtaddon.h, avtterm.c (avtterm_slowprint): new function
	(get_character, reset_terminal, CSI_sequence): adapted
	avatarsay.c (avatar_command): adapted
	enables slowprint mode in terminal again

2009-07-29  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_pager_mb):
	avt_pager_mb_len is now avt_pager_mb, old name removed
	avatarsay.c, pascal/akfavatar.pas: adapted

	* akfavatar.h, avatar.c (avt_pager_mb):
	support for parameter startline
	avatarsay.c, pascal/akfavatar.pas: adapted

	* male_user.xpm, female_user.xpm:
	mirrored to get the light/shadow effects consistent

2009-07-25  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_pager_mb_len): new function
	avatar.c (avt_pager_line, avt_pager_screen, avt_pager_lines_back)
	(avt_pager_mb_len): rewritten

	* avatarsay.c: use avt_pager_mb_len

2009-07-24  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_lock_updates): new function

	* avtfilechooser.c (new_page, avtfc_get_file):
	speed up with avt_lock_updates
	mingw/askdrive.c (ask_drive): also

	* avatarsay.c (about_avatarsay, menu):
	speed up with avt_lock_updates

	* avatar.c (avt_lock_updates, avt_set_text_delay, avt_set_delays):
	never allow hold_updates and text_delay being set at the same time

2009-07-23  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_pager_mb): new function
	avatar.c (avt_pager_line, avt_pager_screen)
        (avt_pager_lines_back): new functions

	* avatarsay.c [NO_PTY] (run_info):
	use avt_pager_mb for documentation
	avatarsay.c (open_document): removed
	avtwindows.c (open_document): removed

	* avatarsay.c (avatar_command): new command "pager"

	* avatar.c (hold_update): new variable
	many functions adapted (only used for pager for now)

2009-07-19  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (avatar_command, handle_image_command)
	(handle_credits_command): allow stop to be NULL
	(APC_command): use NULL for stop

2009-07-18  Andreas K. Foerster  <info@akfoerster.de>

	* avtaddons.h, avtterm.c (avtterm_register_APC):
	new function
	avtterm.c (APC_sequence): adapted
	avatarsay.c (main, APC_command): adapted

2009-07-16  Andreas K. Foerster  <info@akfoerster.de>

	* avtaddons.h, avtmsg.c (msg_prgname): new function

2009-07-13  Andreas K. Foerster  <info@akfoerster.de>

	* avtaddons: new static library
	many files adapted

2009-07-10  Andreas K. Foerster  <info@akfoerster.de>

	* avtfilechooser.c [HAS_SCANDIR]:
	always use my "compare_dirent" instead of "alphasort"

	* avtfilechooser.c (filter): new function
	(get_directory, get_file): adapted

	* avtfilechooser.c (get_file):
	optimizations: no need for the vector pages anymore
	=> no need for MAXPAGES anymore

	* akfavatar.h (AVT_BEGIN_DECLS, AVT_END_DECLS):
	new macros

	* akfavatar.h (AVT_API): new macro (for later use)

	* akfavatar.h (AVT_DEPRECATED): improved handling

	* akfavatar.h, avatar.c (avt_get_color_name):
	returns const char*

2009-07-09  Andreas K. Foerster  <info@akfoerster.de>

	* avtter.c (avtterm_size, avtterm_update_size)
	(CSI_sequence, avtterm_initialize):
	better handling of max_x, max_y, region_min_y, region_max_y

2009-07-08  Andreas K. Foerster  <info@akfoerster.de>

	* renamed directory "mingw32" to "mingw"
	scripts adapted
	new target "mingw" in toplevel Makefile

2009-07-06  Andreas K. Foerster  <info@akfoerster.de>

	* avtar.c (avt_draw_balloon): add missing SDL_SetClipRect
	(avt_set_balloon_color): adapted

	* avatarsay.c (avatar_command): new command "textcolor"

	* avtar.c (avt_draw_balloon):
	when there is no avatar, center the textarea

2009-07-05  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_set_balloon_color)
	(avt_set_balloon_color_name, avt_set_text_background_ballooncolor):
	new functions
	avatar.c (avt_draw_balloon, avt_normal_text): adapted
	avtterm.c (set_background_color): adapted (15 = ballooncolor)
	akfavatar.pas (TextBackground): adapted
	avatarsay.c (avatar_command): new command "ballooncolor"

------------------------------------------------------------------------

2009-06-24  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.17.0 released

2009-06-20  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_name_to_color): export function

2009-06-19  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_get_color_name): new function

2009-06-13  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, akfavatar.pas: avt_bool_t is a char now!

	* avtfilechooser (get_file): support scandir (not on MinGW)
	(get_directory, compare_dirent): new functions

2009-06-12  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_import_image_stream)
	(avt_show_image_stream, avt_load_audio_stream):
	new functions

2009-06-11  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-default.c: neutral avatar image

	* avatar.c (avt_credits):
	fix resetting the background color

	* avatarsay.c:
	remove concept of "datadir" - use working directory

	* avatarsay.c (change_directory_of_file): new function
	(run_script): use dir of script as working directory

2009-06-10  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_load_image_xpm):
	scan for g4 and monochrome in XPM data + further optimizations

2009-06-09  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_load_image_xpm, avt_load_image_xpm_RW):
	better handling of XPM files with too few lines

	* avatar.c (avt_load_image_xpm):
	better handling of XPM files with too few columns

	* avatar.c (avt_load_image_xpm):
	do more error checking in XPM files

2009-06-08  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (load_image_initialize, load_image_done)
	(avt_import_XPM): don't use SDL_image for embedded XPM-data

	* avatar.c (avt_show_image_file, avt_show_image_data)
	(avt_import_image_data, avt_import_image_file):
	always try to use the internal XPM-loader first

2009-06-07  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_load_image_xpm):
	improved support for color names in XPM (only one word names)

2009-06-06  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_name_to_color): support X11 color names
	avtcolors.h: new file

2009-06-04  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_set_background_color_name)
	(avt_set_text_color_name)
	(avt_set_text_background_color_name): new functions
	(avt_name_to_color): new function
	(avt_load_image_xpm): adapted

	* avatarsay.c (handle_backgroundcolor_command)
	(check_config_file): use avt_set_background_color_name

	* avatar.c (avt_draw_balloon): fix calculation of shadow color

2009-06-02  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_load_image_xpm):
	organize XPM code characters in a tree
	(avt_free_xpm_tree): new function

2009-05-29  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_load_image_xpm_RW):
	improve memory handling a further

2009-05-28  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_load_image_xpm):
	support for images with more than 256 colors

	* avatar.c (avt_load_image_xpm_RW):
	improve memory handling a little

2009-05-24  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (calculate_balloonmaxheight)
	(avt_change_avatar_image, avt_initialize):
	avatarsay.c (handle_avatarimage_command):
	fix handling when avatar-image is too large

2009-05-23  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_load_image_xpm):
	support for grayscale images

2009-05-22  Andreas K. Foerster  <info@akfoerster.de>

	* configure, avatar.c (load_image_initialize):
	"./configure --disable-sdl-image"

2009-05-19  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_load_image_xpm):
	support up to 256 colors

	* avatar.c (avt_change_avatar_image, avt_initialize):
	use SDL_DisplayFormatAlpha also for images with colorkey
	(still don't know why, but it fixed a strange problem)

2009-05-16  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_load_image_xpm_RW, avt_load_image_RW)
	(avt_load_image_file): new functions
	(load_image_initialize): use new functions
	(avt_load_image_bmp): removed

2009-05-09  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-audio.c (avt_LoadAU_RW):
	try to get the data-size when it's not given in the header

	* avatar-audio.c (avt_LoadAU_RW):
	check the number of channels

2009-05-08  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-audio.c (avt_LoadAU_RW):
	rewritten not to waste memory (but may be slower)
	(avt_get_RWdata): new function

2009-05-03  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-default.c (avt_default):
	use XPM image

	* avatar.c (avt_import_XPM):
	try to avoid loading SDL_image if possible
	avatar-default.c (avt_default): use avt_import_XPM

	* avatar.c (avt_show_image_XPM):
	use avt_import_XPM

	* avatar-audio.c (avt_LoadAU_RW):
	support for 24/32Bit linear PCM (degraded)

2009-05-02  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-audio.c (avt_initialize_audio):
	bell is now raw 8kHz mu-law audio data

2009-04-30  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-audio.c ():
	SDL_MixAudio -> SDL_memcpy

2009-04-19  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-audio.c (avt_load_raw_audio_data):
	adjust endianess while loading

2009-04-13  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar-audio.c (avt_LoadAU_RW)
	(avt_load_au_file, avt_load_au_data):
	new functions

	* akfavatar.h, avatar-audio.c (avt_load_audio_RW)
	(avt_load_audio_file, avt_load_audio_data):
	new functions

2009-04-11  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar-audio.c (avt_load_raw_audio_data):
	new function, replaces avt_load_raw_data
	support for mu-law and a-law
	avatarsay.c, akfavatar.pas: adapted

2009-03-18  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (avatar_command):
	removed commands: rawaudio, rawaudioloop, loadrawaudio
	(handle_loadaudio_command): also handles raw audo files now
	(check_wave): new macro
	(check_wave_file): new function
	many other functions also adapted

2009-03-16  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (read_text_file):
	made more generic, renamed to read_file
	(handle_credits_command): adapted

	* avatarsay.c (avatar_command):
	new commands: rawaudiosettings, rawaudio, loadrawaudio
	(handle_rawaudiosettings_command, handle_rawaudio_command)
	(handle_loadrawaudio_command): new functions

2009-03-08  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.pas (sound):
	sound generator (still buggy)

2009-03-05  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar-audio.c (avt_load_raw_data):
	new function

------------------------------------------------------------------------

2009-02-24  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.16.0 released

2009-02-21  Andreas K. Foerster  <info@akfoerster.de>

	* avtarsay.c (run_info):
	enforce UTF-8 for german info pages

2009-02-15  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-audio.c (fillaudio):
	pause the sound system after playing the sound

2009-02-14  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_choice):
	use of mouse-wheel + other changes

2009-02-10  Andreas K. Foerster  <info@akfoerster.de>

	* avtterm.c (avtterm_initialize):
	support macro USE_OPENPTY for old/broken systems

2009-02-09  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (set_encoding), avtterm.c (set_encoding):
	fallback to US-ASCII if encoding not supported by iconv

2009-02-06  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (avatar_command):
	command: avatarimage info

2009-02-04  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_wait_button, avt_wait_key, avt_decide):
	call avt_analyze_event, better handling of screen positions

2009-02-02  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (background_color):
	new variable, many functions adapted

2009-01-30  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_decide):
	new function

2009-01-29  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (handle_back_command):
	accepts text to be printed

	* avatarsay.c (say_line):
	no backspace before line-ending

	* akfavatar.h, avatar.c (avt_home_position):
	new function

2009-01-26  Andreas K. Foerster  <info@akfoerster.de>

	* bdfread.c:
	rewrite bdfread.pas to plain C (with some help from p2c)

	* Makefile.in, configure:
	generate code for fonts from bdf file using bdfread
	no longer support qvga

2009-01-25  Andreas K. Foerster  <info@akfoerster.de>

	* bdfread.pas:
	fix code for isolated characters (closes bug #25402)

	* avtfilechooser.c (get_file):
	from root directory do back to main menu

2009-01-22  Andreas K. Foerster  <info@akfoerster.de>

	* avtfilechooser.c (get_file):
	ask again for drive letter when appropriete

2009-01-20  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_wait_button):
	new button design

2009-01-19  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_initialize, avt_quit):
	use a specific mouse-pointer

	* avatar.c:
	fix: typo: SDL_BIG_ENDIAN

2009-01-16  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c:
	use circle.xpm, balloonpointer.xpm instead of handwritten code

	* bdfread.pas:
	changes to make it usable with p2c

2009-01-15  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_load_image_xpm):
	added limited support for XPM without SDL_image

	* avatarsay.c (run_info):
	use internal info image info.xpm

	* avatarsay.c (checkoptions, help):
	new options: -I, --info

2009-01-13  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (menu, run_info), avtwindows.c (open_document):
	show manual in webbrowser under Windows

2009-01-12  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (run_info):
	show info with no avatar, full-size balloon

	* akfavatar.h, avatar.c (avt_choice):
	use number of items instead of end_line
	result starting from 1
	avatarsay.c, avtfilechooser.c, akfavatar.pas: adapted

2009-01-11  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_choice):
	new function, replaces avt_menu (for easier language-bindings)
	avatarsay.c, avtfilechooser.c, akfavatar.pas: adapted

2009-01-10  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (say_line):
	handle newline at the beginning and filter out \r\n

2009-01-04  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-audio.c (avt_play_audio):
	set audio buffer size to lower value for lower latency

2009-01-03  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (iscommand, handle_audio_command):
	new commands: loadaudio, playaudio, playaudioloop

2009-01-01  Andreas K. Foerster  <info@akfoerster.de>

	* avatar-audio.c (avt_play_audio):
	fix: only set soundleft when device could be opened
	(fixes bug #25263)

2008-12-02  Andreas K. Foerster  <info@akfoerster.de>

	* avtmsg.c: split off the code for mingw

	* avtmsg.c (info_msg):
	new function
	avatarsay.c (showversion): adapted

	* mingw/avtwindows.c:
	new file - separating out windows specific stuff
	avatarsay.c, avtfilechooser.c: adapted

2008-11-22  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (start_shell):
	new function

2008-11-21  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (get_user_home):
	work with a preallocated buffer
	(run_shell, initialize_datadir): adapped

2008-11-20  Andreas K. Foerster  <info@akfoerster.de>

	* avtterm.c, avtterm.h (avtterm_start):
	new parameter: working_dir
	avatarsay.c: adapted

2008-11-16  Andreas K. Foerster  <info@akfoerster.de>

	* avtfilechooser.c (ask_drive):
	new function (Windows only)

2008-11-12  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_draw_balloon, avt_draw_balloon2):
	improved using SDL_BlitSurface

	* avatar.c (putpixel): removed - no longer needed

2008-11-08  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (SHADOWOFFSET):
	new macro

	* avatar.c (avt_draw_balloon, avt_draw_balloon2):
	better approach to draw a shadow

2008-11-07  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_credits):
	fix: print one last empty line to avoid streaks

	* avatar.c (avt_draw_balloon):
	balloon drops a shadow

2008-11-05  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_credits, avt_credits_up):
	optimization: just one line in buffer

2008-11-03  Andreas K. Foerster  <info@akfoerster.de>

	* avtterm.c (write_term): new function
	fix warnings

	* avatarsay.c: check value for chdir
	fix warnings

	* arch.c: always check value for read
	fix warnings

	* arch.c (arch_get_data):
	improved handling of read

2008-10-26  Andreas K. Foerster  <info@akfoerster.de>

	* configure (AVTVERSIONNR): new macro
	avtterm.c (avtterm_start):
	use number-only-value for env-var AKFAVTTERM

2008-10-24  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_draw_balloon):
	when there is no avatar, put balloon at the top

	* avatarsay.c (avatar_command):
	new command: empty

2008-10-22  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (help, checkoptions):
	option -e reserved for different later use

2008-10-20  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (process_script):
	fix handling of initialisation

	* avatar.c (avt_draw_balloon):
	fix: update whole screen

2008-10-13  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.pas (BalloonSize, BalloonHeight, BalloonWidth):
	new functions

	* akfavatar.pas (AvatarImageFile, AvatarImageData, initializeAvatar):
	allow changing the avatar while running

2008-10-09  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (read_text_file): new function
	(handle_credits_command): use read_text_file

	* avatarsay.c (handle_width_command, handle_height_command)
	(handle_size_command): initialize if needed

2008-10-07  Andreas K. Foerster  <info@akfoerster.de>

	* avtterm.c (avtterm_run):
	reject filedescriptors less than zero

	* avtterm.c (avtterm_start): code cleanup

2008-10-05  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (handle_title_command):
	remove leading whitespace

	* avtterm (escape_sequence, CSI_sequence):
	hooks for application keypad (not really supported yet)

2008-10-04  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_set_title):
	new functions
	(avt_initialize): improve handling of NULL for title, icontitle

2008-10-03  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (avatar_command):
	commands: slow on, slow off

	* avatarsay.c (menu):
	always check if the avatarimage was changed
	(ask_file): remove the check there

	* avatarsay.c (change_avatar_image):
	new function
	(handle_avatarimage_command): adapted
	(avatar_command): "avatarimage none"
	(avatar_command): avatarimage with no name restores default img

	* avtterm.h, avtterm.c:
	renamed functions:
	execute_process -> avtterm_start
	process_subprogram -> avtterm_run
	avtarsay.c: adapted

	* avtterm.h, avtterm.c (avtterm_update_size):
	new function
	avtarsay.c: adapted

	* avatar.c (avt_draw_balloon):
	fix drawing the balloon with no avatar image

2008-10-01  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay (avatar_command):
	allow "size", "height" and "width" with no parameters

	* avatarsay (avatar_command):
	new commands: wait, move in, move out

2008-09-30  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay (handle_audio_command):
	fix: stop audio before freeing it
	(menu): stop audio if it's still running

	* avatarsay (avatar_command):
	new commands: audioloop, stopaudio

2008-09-29  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (avatar_command): new function
	(iscommand): adapted
	avtterm.c (APC_sequence): use avatar_command
	avtcmd: new script

2008-09-27  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (get_data_file, iscommand):
	command datadir not allowed in scriptfiles anymore

	* avatarsay.c (create_file):
	adapted to new syntax

	* avatarsay.c (get_program_path): removed

2008-09-25  Andreas K. Foerster  <info@akfoerster.de>

	* arch.c (arch_get_data):
	add 4 bytes zero at the end of the buffer

2008-09-24  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (move_out, main):
	moved wait-loop

	* akfavatar.h, avatar.c (avt_credits, avt_credits_mb):
	new functions

	* avatarsay.c (handle_credits_command):
	new function
	(iscommand): adapted

	* avatar.c (avt_drawchar):
	new parameter: surface

2008-09-23  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (dont_edit_archive):
	new function

2008-09-22  Andreas K. Foerster  <info@akfoerster.de>

	* arch.h, arch.c:
	new files - separated out of avatarsay.c
	avatarsay.c: adapted

2008-09-19  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (get_data_from_archive): new function
	(get_image_from_archive, get_sound_from_archive): removed
	(handle_image_command, handle_avatarimage_command)
	(handle_audio_command): adapted

	* avatarsay (first_archive_member): new function
	(first_archive_entry): removed
	(open_script, multi_menu): adapted

2008-09-18  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (O_BINARY, O_NONBLOCK):
	define dummy macros for compatibility between some systems

2008-09-15  Andreas K. Foerster  <info@akfoerster.de>

	* avtterm.c (APC_sequence):
	new function - prepare to use APC sequences later

	* avatarsay.c (process_script, iscommand):
	better handling of [end] and [stop] commands

	* avatarsay.c (handle_avatarimage_command):
	don't move the avatar out

	* avatarsay.c (handle_image_command):
	just set the variable stop and don't exit

2008-09-14  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_inverse, avt_drawchar, avt_put_character):
	better handling of inverse characters

	* avtterm.c (OSC_sequence):
	new function - just skip OSC sequences for now

2008-09-12  Andreas K. Foerster  <info@akfoerster.de>

	* avtterm.c (CSI_sequence):
	support for changing the balloon size with an esc-sequence

	* avatarsay.c (get_user_home):
	for MinGW now uses HOMEDRIVE and HOMEPATH
	must be freed by the caller now
	(initialize_datadir): new function
	(run_shell): adapted

2008-09-11  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (first_archive_entry):
	support for multi-part archives
	(multi_menu, read_multi_entry): new funtions

	* avatarsay.c (first_archive_entry):
	new funtion - First archive entry must start with AKFAvatar-

2008-09-10  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c:
	script commands are to be enclosed in square brackets now

	* avatarsay.c (read_error_is_eof):
	reintroduced global variable
	(get_character, ask_manpage, open_script): adapted

	* avatarsay.c (ask_manpage, ask_edit_file):
	smaller textentry fields

	* avatar.c (avt_put_character):
	check the value of auto_margin before calling check_auto_margin

2008-09-09  Andreas K. Foerster  <info@akfoerster.de>

	* avtterm.c (execute_process, process_subprogram):
	moved the keyboard initialization to process_subprogram

	* avatarsay.c (menu):
	different balloon-size, no viewport anymore
	several other funtions adapted

	* avatarsay.c (ask_manpage):
	fix: clear file buffer

2008-09-08  Andreas K. Foerster  <info@akfoerster.de>

	* avtterm.c (reset_terminal):
	new function
	(escape_sequence, process_subprogram): adapted

	* avatar.c (check_auto_margin):
	new function
	(avt_forward, avt_put_character): adapted
	only automatic linebreaks, when there is something printable

2008-09-07  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_draw_balloon):
	more work in alignment of the balloon

2008-09-06  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_set_balloon_width, avt_set_alloon_height):
	balloon is redrawn
	(avt_set_balloon_size): new function

	* avatar.c (avt_draw_balloon):
	more work in alignment of the balloon

2008-08-29  Andreas K. Foerster  <info@akfoerster.de>

	* avtterm.h (execute_process):
	using encoding as parameter
	(avatarsay.c): adapted

2008-08-28  Andreas K. Foerster  <info@akfoerster.de>

	* avtmsg.h, avtmsg.c, avtterm.h, avtterm.c:
	new files - split-offs of avatarsay.c
	avatarsay.c: adapted

2008-08-27  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay:
	reordering code

2008-08-26  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay:
	new commands: .height, .width, .size, .scrolling

	* avatar.c (avt_set_balloon_width):
	enforce a minimum width

2008-08-25  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_initialize): scrollmode not reset here

	* avatar.c (avt_scroll_up):
	scrollmode -1 for really doing nothing

	* avatar.c (calculate_balloonmaxheight):
	new function

	* akfavatar.h, avatar.c (avt_set_balloon_width)
	(avt_set_balloon_height):
	new functions

	* avatar.c (avt_draw_balloon, avt_get_max_x, avt_get_max_y)
	(avt_change_avatar_image, avt_initialize):
	balloonheight and balloonwidth stored as number of characters

2008-08-24  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (open_script):
	script name now "AKFAvatar" + proper error handling

	* avatarsay.c (say_line):
	new function - handles underlining

	* avatarsay.c (process_new_line):
	function removed - handled now in say_line

	* avatarsay.c (say_line):
	handle troff style underlining and bold printing

	* avatar.c (avt_say, avt_say_len):
	don't handle backspace tricks here (avatarsay does now)

	* avatarsay.c (process_script):
	a stripline may start the text (ie. empty lines after that count)

2008-08-19  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_change_avatar_image):
	new function

	* avatarsay:
	handle changing the avatar-image in scripts

	* avatarsay.c:
	support for archive files (ar)

------------------------------------------------------------------------

2008-08-15  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.15.2 released

2008-08-13  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c:
	set the default background color right at the start

	* Makefile.in:
	use $(srcdir) in every rule
	(more portable than relying on VPATH and $<)

	* configure:
	options get quoted in the generated file config.status
	(fixes bug #23781)

2008-08-12  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c:
	restore background-color after playing a demo

	* avatar.c (avt_set_background_color):
	update the whole screen again after drawing the balloon

2008-08-11  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (execute_process):
	change settings of terminal before forking

	* avatarsay.c (process_subprogram):
	avoid checking the encoding (fixes bug with short prompts)

2008-08-10  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (windowmode_size):
	new variable
	save size of window for switching back from fullscreen mode

2008-08-09  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h (avt_toggle_fullscreen):
	newly exported

	* avatarsay.c (menu):
	toggle fullscreen in menu

	* avatarsay.c (initialize_start_dir):
	new function
	(main, quit, run_info): adapted
	work even harder to find the documentation when it's not installed

2008-08-08  Andreas K. Foerster  <info@akfoerster.de>

	* bdfread.pas, ucsfont4x6.c, ucsfont7x14.c, ucsfont9x18.c,
	avatar.c (avt_drawchar):
	optimized font-lookup algorithm

2008-08-07  Andreas K. Foerster  <info@akfoerster.de>

	* avtfilechooser.c (get_file):
	recognize symbolic links pointig to a directory as directory

	* avatarsay.c (menu, run_shell):
	hide balloon while starting up the shell

	* avtfilechooser.c (get_file):
	no direct index keys anymore

	* avatar.c (avt_menu):
	new function - replaces avt_get_menu
	supports continued menus
        avtfilechooser.c: adapted

2008-08-06  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (update_menu_bar):
	new function

	* avatar.c (avt_get_menu):
	support for arrow keys - use right or enter to select

	* avatar.c (avt_get_menu):
	use a menu-bar

	* avatar.c (cursor_color):
	new global variable - used for the cursor and for the menu-bar

2008-07-22  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_say_len):
	allow a string to start with binary zeros

	* avatar.c (avt_say, avt_say_len, avt_put_character):
	when string is empty then at least check for events

2008-07-04  Andreas K. Foerster  <info@akfoerster.de>

	* ucsfont4x6.c, ucsfont7x14.c, ucsfont7x14B.c, ucsfont9x18.c:
	font data marked as const

2008-06-20  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (process_subprogram, ask_manpage):
	use NULL for wait, since I don't use the value anyway

2008-06-20  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (process_subprogram, ask_manpage):
	get the exitcode from subprocesses, to avoid zombie processes
	(fixes bug #23655)

2008-06-17  Andreas K. Foerster  <info@akfoerster.de>

	* lrun: simplified and no INFOPATH anymore

------------------------------------------------------------------------

2008-06-15  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.15.1 released

2008-06-12  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (PATH_LENGTH):
	new macro, used instead of PATH_MAX, which may be too large

2008-06-11  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c:
	default background color: pale brown (like the website)

	* avatarsay.c (run_info):
	first search for the info files in ./doc/

	* avtfilechooser.c:
	don't use PATH_MAX

2008-06-04  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c:
	quit-request: return to the main-menu first

	* avtfilechooser.c (get_file): improved
	* avatar.c (avt_get_menu): improved

2008-06-03  Andreas K. Foerster  <info@akfoerster.de>

	* avtfilechooser.c (get_file):
	major rewrite

	* avatar.c (avt_get_menu):
	feedback for mouse-motion in menu

2008-06-01  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (CSI_sequence):
	ignore CSI [ + 1 char

2008-05-31  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c:
	suppress warning for deprecated function (GCC 4 or later)

	* Makefile.in:
	use bzip2 to compress distribution files

	* avatar.c:
	cleanup: reorganize loading of image-data in a more object oriented way

2008-05-30  Andreas K. Foerster  <info@akfoerster.de>

	* configure:
	support --enable-link-sdl-image to directly link to SDL_image

	* avatar.c:
	support LINK_SDL_IMAGE definition

2008-05-29  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c:
	bundle up SDL_image stuff into one structure

	* akfavatar.h, avatar.c (avt_import_XPM, avt_show_image_XPM):
	new functions

2008-05-18  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (set_encoding, escape_sequence, process_subprogram):
	support for VT100 graphic characters

	* avatarsay.c (escape_sequence, CSI_sequence):
	ignore binray zero in datastream

	* avatarsay.c (process_subprogram, escape_sequence):
	experimental support for charsets G0 and G1 (linux-compatible)

	* avatarsay.c (escape_sequence, CSI_sequence):
	CAN or SUB cancel the escape sequence

	* avatarsay.c (escape_sequence):
	switching to UTF-8 and back to default (ESC % G, ESC % @)

2008-05-17  Andreas K. Foerster  <info@akfoerster.de>

	* avatarsay.c (process_subprogram):
	set encoding to default_encoding

	* avatarsay.c (process_subprogram, escape_sequence, CSI_sequence):
	support for single byte CSI code

	* avatarsay.c (escape_sequence):
	Extension: CSI ? 56 h  - switch slow-print on (l for off)

2008-04-14  Andreas K. Foerster  <info@akfoerster.de>

	* avatar.c (avt_backspace):
	fix: just go back, don't clear the character
	(avt_ask): adapted

	* avatarsay.c (init_language_info): handle long language names
	case-insensitive

	* avtfilechooser.c (MARK, PARENT_DIRECTORY, RESTART, CONTINUE)
	(LONGER, DIRECTORY): new macros
	(get_file): mark longer entries

	* avtfilechooser.c (get_file):
	use avt_auto_margin, remove show_name
	mark directory entries

	* akfavatar.h, avatar.c (avt_auto_margin):
	new function
	(avt_forward, avt_initialize): use/set new variable auto_margin

	* avatarsay.c (check_config_file):
	keyword BACKGROUNDCOLOR
	make keywords case insensitive

------------------------------------------------------------------------

2008-03-29  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.15.0 released

	* akfavatar.h (AVT_DEPRECATED, AVT_UNUSED):
	new macro used to mark deprecated or unused stuff (gcc only)

	* avatarsay.c (get_user_home):
	new function
	(run_shell): chdir to home directory before starting the shell

	* avatarsay.c (get_user_shell):
	first search for the environment variable SHELL

	* avtfilechooser.c:
	new file
	avatarsay.c (ask_file): use avtfilechooser

	* avatar.c (avt_initialize):
	balloon height must be at least 10 lines

	* akfavatar.h, avatar.c (avt_button_quit):
	new function

	* akfavatar.h (AKFAVATAR):
	new macro

	* akfavatar.h, avatar.c (avt_normal_text):
	new function

	* akfavatar.h, avatar.c (avt_inverse, avt_get_inverse):
	new functions

	* akfavatar.h, avatar.c (avt_save_position, avt_restore_position):
	new functions

	* akfavatar.h, avatar.c (avt_move_xy):
	new function

	* akfavatar.h, avatar.c (avt_reserve_single_keys):
	new function
	(avt_stop_on_esc): removed

	* avatarsay.c:
	support options -b, --nocolor
	remove options -s, --saypipe

	* avatarsay.c (check_encoding, getwline):
	don't remove byte order marks, but ignore them while reading

	* avatarsay.c (process_file):
	skip lines "@echo off" through "exit" (for Windows/ReactOS)

	* avatar.c (avt_say, avt_say_len, backspace_trick):
	support backspace trick for underlining and bold printing

	* avatar.c:
	no text-delay as default

	* avatar-audio.c (short_audio_sound):
	avoid sound to interrupt itself or other sounds

        * avatar.c (text_background_color):
	new variable

	* avatar.c (avt_drawchar):
	optimized, support for bold and underline

	* akfavatar.h, avatar.c (avt_bold, avt_get_bold):
	new functions

	* akfavatar.h, avatar.c (avt_underlined, avt_get_underlined):
	new functions

	* akfavatar.h, avatar.c (AVT_MAKE_BOOL):
	new macro

	* akfavatar.h, avatar.c (avt_get_menu):
	new function

	* akfavatar.h, avatar.c (avt_next_tab, avt_last_tab)
	  (avt_clear_tab_stops, avt_set_tab):
	new functions

	* avatar.c (avt_next_tab, avt_reset_tab_stops):
	new tab handling

	* avatarsay.c (check_config_file):
	new function
	config file: /etc/avatarsay

	* akfavatar.h, avatar.c (avt_activate_cursor):
	new function
	support for text-cursor

	* akfavatar.h, avatar.c (avt_set_origin_mode, avt_get_origin_mode):
	new functions

	* avatar.c (avt_initialize):
	enable key repeat mode

	* akfavatar.h, avatar.c (avt_clear_bol, avt_clear_line):
	(avt_clear_up, avt_clear_down):
	new functions

	* avatar.c (avt_put_character):
	interprets cariage return

	* akfavatar.h, avatar.c (avt_put_character, avt_mb_encode):
	new functions

	* avatarsay.c:
	ability to run lineoriented programs (not for Windows)
	program has a main menu now
	code cleanups and reorganizations
	fix: rawmode (fixes bug #21889)
	(checkoptions): sanity checks
	(execute_process): no blocking, while program outputs nothing

	* akfavatar.h:
	renamed macros to always use the AVT_ prefix
	new type avt_boolean_t

	* avatar.c (avt_init_SDL):
	new function

	* avatar.c:
	more runtime checks

	* akfavatar.h, avatar.c (avt_set_background_color):
	can be called after initialisation

	* akfavatar.h, avatar.c (avt_initialized):
	new function

	* avatar.c (avt_wait_button, avt_wait_key):
	show mouse pointer while waiting for a key (or mouse button)

        * avatar.c (avt_quit)
          avatar-audio.c (avt_initialize_audio, avt_quit_audio):
        avt_quit automatically calls avt_quit_audio if appropriete

	* avatar.c (avt_analyze_event):
	Ctrl + Q also sets AVATARQUIT event

	* avatar.c (avt_mb_encoding):
	get internal WCHAR_ENCODING purely from preprocessor definitions

	* akfavatar.h:
	remove keyword "extern" from prototypes (just a cosmetic change)

	* akfavatar.h, avatar.c (avt_switch_mode):
	new function

	* avatar.c (avt_toggle_fullscreen):
	set avt_mode

	* akfavatar.h, avatar.c (avt_wait_button):
	new function

	* akfavatar.h, avatar.c (avt_wait_key):
	fix: deleting message

	* akfavatar.h, avatar.c (avt_get_key):
	new function

------------------------------------------------------------------------

2007-12-07  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.14.5 released

	* image human-peasant.bmp removed

	* C++ comaptibility improvements
	(wint_t is used again)

	* akfavatar.h, avatar.c (avt_register_keyhandler):
	use new type avt_keyhandler

	* avatarsay.c:
	major rewrite -> low level file handling,
	supports UTF-16/UTF-32 files now, better FIFO handling
	experimental support for calling external programs
	uses nl_langinfo to get the current encoding
	uses getopt_long to parse options

	* akfavatar.h, avatar.c (avt_update):
	new function

	* avatar.c (avt_put_char):
	don't ignore false BOM anymore, just the real BOM

	* akfavatar.pas:
	use avt_say_mb_len
	fix fo FPC: for output only the flush function gets defined

        * akfavatar.h (avt_mb_decode, avt_free):
	new functions

	* avatar.c (avt_put_char):
	new function

	* akfavatar.h, avatar.c (avt_say_len, avt_say_mb_len):
	new functions

	* avatar.c (avt_mb_decode):
	decode a given size, input string needn't be terminated anymore
	incomplete sequences are stored for later use (up to 9 bytes)

------------------------------------------------------------------------

2007-10-28  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.14.4 released

	* configure, avatar-audio.c:
	fixes for old SDL versions (1.2.0)

	* balloonpointer.c, circle.c:
	fixes for old compilers

	* akfavatar.h, avatar.c (avt_initialize):
	new mode: AUTOMODE

	* avatarsay (processfile):
	fix: use clearerr when ignore_eof is set

	* configure, Makefile.in:
	compatiblity to FreeBSD (pmake)

	* avatar.c (avt_mb_encoding):
	try to autodetect internal encoding

	* avatar.c (MB_DEFAULT_ENCODING):
	fixed typo

	* avatar.c (avt_drawchar, avt_ask):
	don't use wint_t for compatiblity reasons
	(reintroduced in later versions)

------------------------------------------------------------------------

2007-10-16  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.14.3 released

	* akfavatar.pas (ScreenSize):
	implemented as functuion (was a variable)

	* akfavatar.pas (AvatarImageData, LoadSoundData, ShowImageData):
	new functions

	* font.c, avatar.c:
	support for 9x18 font with 800x600 resolution
	640x480 only used, when compiled for symbol "VGA"

	* avatar.c (avt_drawchar):
	added general support for fixed fontwidth > 8 <= 16

	* avatarsay:
	new option: --popup

	* gnome-avatarsay:
	write .encoding into new files

	* avatar.c (avt_delete_lines, avt_insert_lines):
	optimized scrolling

	* configure, Makefile.in:
	can be build from a separate build directory

------------------------------------------------------------------------

2007-10-07  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.14.2 released

	* gnome-akfavatar:
	german translation

	* acatarsay.c (move_out):
	don't wait after moving out, unless running as loop

	* avatarsay.c (checkoptions, help):
	new option: "--encoding="

	* avatar.c (avt_mb_decode):
	error-tolerance for broken multibyte encodings (UTF-8)

	* avatarsay.c (check_system_encoding):
	new function: try to get encoding from LC_ALL, LC_CTYPE or LANG

	* gnome-akfavatar:
	open Website from menu

	* avatarsay.c (help, handle_image_command)
	(handle_avatarimage_command, handle_audio_command):
	datadir needs no trailing slash anymore

------------------------------------------------------------------------

2007-09-27  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.14.1 released

	* avatar.c (avt_say):
	fix: check for events with each char, when the delay is switched off

	* akfavatar.h, avatar.c (avt_set_text_delay, avt_set_flip_page_delay):
	new functions
	(avt_set_delays): marked deprecated

	* akfavatar.pas (SetTextDelay, SetFlipPageDelay)
	new functions

	* akfavatar.pas
	(MoveAvatarIn): fix: after initializing the system, the avatar
	  isn't moved in a second time
	(MoveAvatarOut): if not initialized, do nothing

	* avatar.c (avt_initialize):
	ballonheight is aligned with the LINEHEIGHT

	* akfavatar.h, avatar.c (avt_set_scroll_mode, avt_get_scroll_mode):
	new functions

	* akfavatar.h, avatar.c (avt_delete_lines, avt_insert_lines):
	new functions

	* akfavatar.pas (ClearKeys):
	new procedure

	* avatar.c (avt_say, avt_new_line):
	fix: new line after the last line make the text scroll or page flip
	(fixes bug introduced in 0.13.1)

	* avatar.c (avt_say, avt_ask):
	fix: off-by-one error fixes

        * akfavatar.pas (fpc_io_read, gpc_io_read):
	fix: clear keyboard buffer

	* akfavatar.h, avatar.c (avt_viewport):
	new function

	* akfavatar.h, avatar.c (avt_bell, avt_flash):
	new functions

	* akfavatar.pas (beep, flash):
	new procedures

	* akfavatar.pas (initializeAvatar):
	always try to initialize the audio system

	* avatar.c (avt_say, avt_ask):
	support avt_bell

	* avatar-audio.c (avt_initialize_audio, avt_quit_audio):
	register audio sound with bell function
	(short_audio_sound): new function

	* separate compilation of the font

	* avatar.c (avt_drawchar):
	fix: font-rendering for QVGA fixed

------------------------------------------------------------------------

2007-09-14  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.14.0 released

	* reorganized creation of binary-packages

	* link directly to SDL on Windows and Mac

2007-09-07  Andreas K. Foerster  <info@akfoerster.de>

	* akfavatar.h, avatar.c (avt_stop_on_esc):
	new function

	* akfavatar.h, avatar.c (avt_set_delays):
	new function
	dodelay: variable removed

	* avatarsay.c (keyhandler): new function

	* avatar.c (avt_analyze_event):
	don't check for the Esc key or space key
	these have to be handled externally

	* akfavatar.h, avatar.c (avt_reset_status): removed
	(avt_set_status): new function

	* avatar.pas renamed to akfavatar.pas

	* akfavatar.pas:
	no need to link to SDL or pthread directly

	* akfavatar.h, avatar.c (avt_register_keyhandler):
	new function

	* avatar.c (avt_analyze_event):
	support for external keyhandler

	* akfavatar.pas:
	support for writing to TextAttr
	support for KeyPressed, ReadKey
	support for CheckBreak
	support for CheckEsc
	dummys for CheckEof, CheckSnow, DirectVideo
	dummy for Sound

------------------------------------------------------------------------

2007-08-28  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.13.1 released

	* switching to a 3 number version scheme with 2 numbers in the so-name

	* major rewrite of character and color handling

	* joined header files together to akfavatar.h

	* akfavatar.h, avatar.c (avt_clear_screen):
	new function

	* akfavatar.h, avatar.c (avt_clear_eol):
	new function

	* akfavatar.h, avatar.c
	(avt_set_text_color, avt_set_text_background_color):
	new functions

	* avatar.pas:
	(PlaySoundFile): renamed from PlayAudioFile
	(WaitSoundEnd): renamed from WaitAudioEnd
	(NoSound): renamed from StopAudio
	(Sound): added as dummy function, full support planned

	* avatar.pas (TextColor, TextBackground, ClrEol):
	(NormVideo, HighVideo, LowVideo):
	new functions
	(TextAttr, WindMin, WindMax):
	new variables (just for reading!)

	* avatar.c (avt_wait_key):
	fix: message gets cleared again

	* renamed library to libakfavatar

	* avatar.pas (Initialize):
	don't close input/output (fixes problem under Windows)

	* avatar.c (avt_new_line, avt_say, avt_ask):
	a new line doesn't enforce a new page yet, only actually trying
	to print something outside the area does

	* gpcavatar, fpcavatar:
	define the symbol AKFAvatar

	* avatar.pas (initializeAvatar):
	use "AKFAvatar" as title and icon name

------------------------------------------------------------------------

2007-08-20  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.12 released
	migration to Savannah

	* renamed documentation to akfavatar-en.texinfo

        * akfavatar.xpm, regicon.c:
	new icon

	* avatar.h (avt_default): prototype added
	avatarsay.c: prototype avt_default removed

------------------------------------------------------------------------

2007-08-18  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.11 released

	* avatar.c (avt_say):
	ignore a BOM and derived forms

	* avatarsay.c (check_bom): new function
	(processfile): use check_bom

	* avatarsay.c (process_line_end, processfile):
	support for \r\n as line ending

	* avatarsay.c (main):
	changed option list (SDL-hack needed for Windows)

	* avatar.c (avt_toggle_fullscreen):
	new method to toggle the fullscreen mode
	(should also work on Windows?)

	* avatarsay.c (iscommand, handle_backgoundcolor_command):
	new command: .backgroundcolor

------------------------------------------------------------------------

2007-08-11  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.10 released

	* avatar.c avatar.h (avt_set_background_color):
	new function

	* avatar.c [OLD_SDL] (_avt_iconv):
	new function: imitates SDL_iconv () for old SDL versions

	* avatar.c, avatar.h:
	(avt_mb_encoding): new function
	(avt_say_mb, avt_wait_key_mb, avt_ask_mb, avt_quit): adapted
	avatarsay.c (set_encoding): new function
	(main, iscommand): adapted

	* avatar.c (avt_mb_encoding):
        use macro ICONV_TARGET

	* avatar.c (avt_ask_mb):
	fix: string termination

	* avatar.c (avt_drawchar):
	try to fix font drawing again

	* configure, avatar.c:
	support for "./configure --with-oldsdl"

------------------------------------------------------------------------

2007-08-06  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.9 released

	* avatar.c (avt_wait), avatar-audio.c (avt_wait_audio_end):
	only sleep for one process cycle

	* avatar.c (avt_move_in, avt_move_out):
	rewritten (no fixed framerate anymore)

	* avatar.c (avt_analyze_event):
	Left Alt + Return -> avt_toggle_fullscreen
	Left Alt + Ctrl + F -> avt_toggle_fullscreen

	* avatar.c (avt_toggle_fullscreen):
	new function

	* gnome-akfavatar (show_command):
	show a warning

	* gnome-akfavatar:
	fix: exit code 0 when stopped with the cancel button
	search for avatarsay in PATH before the current dir
	reordered the main menu

------------------------------------------------------------------------

2007-07-29  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.8a released

	* gnome-akfavatar:
	improved main menu
	save settings

	* avtman, gnome-akfavatar (show_manpage):
	use Latin1 encoding (workaround: man outputs broken UTF-8 code)

------------------------------------------------------------------------

2007-07-28  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.8 released

	* avatar.c, avatar.h (avt_version, avt_copyright, avt_license):
	new functions

	* gnome-akfavatar:
	new script

	* avatarsay.c (iscommand):
	silently ignore .avatarimage command when it's too late

	* avatarsay.c (checkenvironment):
	errors while loading the AVATARIMAGE are considered fatal

	* avatar.c (avt_initialize):
	don't try to center the window
	switch handling of not needed events off
	support for alpha channel in avatar image

	* avatar.c (avt_drawbaloon):
	cut balloonpointer if it's too large

	* avatarsay.c (notice):
	new function for unimportant notices

	* avatar-default.c:
	support for smaller image

	* avatar.c, ucsfont4x6.c:
	support for tiny font

	* avatar.c (avt_drawchar):
	fixed font interpretation

------------------------------------------------------------------------

2007-07-19  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.7 released

	* avatarsay.c (help, showversion, warning, error):
	use MessageBox under Windows

	* avatar.c (avt_initialize, avt_resize):
	screenflags as global variable

------------------------------------------------------------------------

2007-07-17  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.6 released

	* avatar.c (avt_set_colors):
	new function (fixes wrong colors after resizing)

------------------------------------------------------------------------

2007-07-16  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.5 released

	* avatar.pas:
	GPC: link with pthread under GNU/Linux

	* avatar.c (avt_import_image_data):
	can use SDL_image

	* avatar.c (load_SDL_image):
	load function "IMG_Load_RW"

	* avatar.c (avt_show_image_data):
	new function

	* avatar.c, avatar.h (avt_show_image):
	made static, removed from header

------------------------------------------------------------------------

2007-07-13  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.4 released

        * avatarsay.c (processfile):
	fixes bugs with ignore_eof

	* avatarsay.c: eliminated some possible buffer-overflows

	* avatarsay.c (iscommand, handle_image_command):
	(handle_audio_command, handle_back_command, handle_read_command):
	check for all commands whether the avatar is initialized or not

	* avatarsay.c (iscommand): support for ".encoding"

	* configure: exports "srcdir"
	creates "doc/version.texi"

	* fsdemo-??, avtcharset:
	run with ./avatarsay-s

	* avatarsay.c (help, checkoptions):
	support for -F, --fullfullscreen

	* avatarsay.c (avt_analyze_event):
	don't toggle fullscreenmode when FULLSCREENNOSWITCH is requested

        * avatarsay.c (avt_initialize, avt_analyze_event, avt_ask)
	(avt_move_in, avt_move_out, avt_wait_key):
	support for resizing the window
	(avt_resize): new function

	* avatarsay.c (avt_initialize):
	renamed variable "mymode" to "screenflags"
	avt_mode as global variable

	* avatarsay.c (iscommand): support for "stripline"
	changed: \f as first caracter - rest of line is ignored

	* avatar.c (avt_initialize): don't even try to initialize the
	mouse with the fbcon driver

	* Makefile.in (install) (install-strip):
	create directories if necessary

	* avtman: uses "./avatarsay-s" when it exists

	* Makefile.in: target uninstall,
	make avatarsay-s as default

------------------------------------------------------------------------

2007-07-01  Andreas K. Foerster  <info@akfoerster.de>

	* version 0.3 released
