2009-11-20 Andreas K. Foerster * pascal/multiply.pas: include image of teacher pascal/teacher.inc: new file 2009-11-10 Andreas K. Foerster * lua/lua-avt.c, lua/akfavatar-lua.c: new files (further developement not documented until first release) ------------------------------------------------------------------------ 2009-11-08 Andreas K. Foerster * version 0.18.0 released * akfavatar.h (avt_bool_t): unsigned char 2009-11-07 Andreas K. Foerster * example.c: updated and more comments 2009-10-31 Andreas K. Foerster * 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 * 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 * avatar.c (avt_load_image_xbm_RW): support old X10 format (deprecated!) 2009-10-28 Andreas K. Foerster * 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 * 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 * avtar.c (avt_pager_line): ignore formfeeds at beginning of line, or treat them like newlines 2009-10-23 Andreas K. Foerster * avatar.c (avt_drawchar): work with 1Bit surface avt_initialize: adapted 2009-10-22 Andreas K. Foerster * 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 * 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 * avatar.c (avt_navigate): support for spacer * avatar.c (AVT_HIDDEN): new macro 2009-10-14 Andreas K. Foerster * akfavatar.h, avatar.c (avt_navigate): rewritten API-CHANGE! pascal/akfavatar.pas: adapted 2009-10-13 Andreas K. Foerster * colorchooser.c (avta_color_selection): also show hexadecimal values for the colors 2009-10-12 Andreas K. Foerster * avtcolors.h: removed rgb2c: new tool to convert rgb.txt on the fly 2009-10-11 Andreas K. Foerster * 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 * colorchooser.c (manual_entry): new function 2009-10-09 Andreas K. Foerster * 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 * replaced bin2c.c with my own data2c (awk) 2009-10-04 Andreas K. Foerster * pascal/xpm2pas: new tool (awk) * pascal/akfavatar.pas (AvatarImageXPM, ShowImageXPM): new procedures 2009-10-03 Andreas K. Foerster * pascal/xbm2pas: new tool (awk) * pascal/akfavatar.pas (AvatarImageXBM, ShowImageXBM): new procedures 2009-10-01 Andreas K. Foerster * 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 * 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 * avatar.c (avt_navigate): add eject and circle buttons 2009-09-23 Andreas K. Foerster * 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 * 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 * 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 * 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 * 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 * 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 * avatar.c (avt_wait_button, avt_decide): buttons are combined of two parts 2009-09-17 Andreas K. Foerster * 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 * 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 * 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 * 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 * akfavatar.h: reorganized (avt_stream): new typedef 2009-08-25 Andreas K. Foerster * avttermsys.h, avttermsys.c (avta_closeterm): new function 2009-08-23 Andreas K. Foerster * 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 * version 0.17.1 released 2009-08-19 Andreas K. Foerster * 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 * 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 * 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 * avtaddons.h, avtreadfile.c (avta_pager_file) (avta_pager_command): new functions avatarsay.c: adapted 2009-08-14 Andreas K. Foerster * avtreadfile.c: all functions return -1 on error 2009-08-13 Andreas K. Foerster * 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 * 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 * avatarsay.c (ask_manpage): set GROFF_NO_SGR=1 * avatarsay.c (ask_manpage): use the new pager 2009-08-10 Andreas K. Foerster * 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 * 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 * 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 * 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 * avatarsay.c (avatar_command): improved 2009-08-05 Andreas K. Foerster * avatar.c (avt_pager_mb): Q with any combination-key quits pager 2009-08-04 Andreas K. Foerster * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * avtaddons.h, avtmsg.c (msg_prgname): new function 2009-07-13 Andreas K. Foerster * avtaddons: new static library many files adapted 2009-07-10 Andreas K. Foerster * 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 * 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 * renamed directory "mingw32" to "mingw" scripts adapted new target "mingw" in toplevel Makefile 2009-07-06 Andreas K. Foerster * 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 * 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 * version 0.17.0 released 2009-06-20 Andreas K. Foerster * akfavatar.h, avatar.c (avt_name_to_color): export function 2009-06-19 Andreas K. Foerster * akfavatar.h, avatar.c (avt_get_color_name): new function 2009-06-13 Andreas K. Foerster * 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 * akfavatar.h, avatar.c (avt_import_image_stream) (avt_show_image_stream, avt_load_audio_stream): new functions 2009-06-11 Andreas K. Foerster * 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 * avatar.c (avt_load_image_xpm): scan for g4 and monochrome in XPM data + further optimizations 2009-06-09 Andreas K. Foerster * 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 * 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 * avatar.c (avt_load_image_xpm): improved support for color names in XPM (only one word names) 2009-06-06 Andreas K. Foerster * avatar.c (avt_name_to_color): support X11 color names avtcolors.h: new file 2009-06-04 Andreas K. Foerster * 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 * 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 * avatar.c (avt_load_image_xpm_RW): improve memory handling a further 2009-05-28 Andreas K. Foerster * 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 * 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 * avatar.c (avt_load_image_xpm): support for grayscale images 2009-05-22 Andreas K. Foerster * configure, avatar.c (load_image_initialize): "./configure --disable-sdl-image" 2009-05-19 Andreas K. Foerster * 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 * 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 * 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 * 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 * 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 * avatar-audio.c (avt_initialize_audio): bell is now raw 8kHz mu-law audio data 2009-04-30 Andreas K. Foerster * avatar-audio.c (): SDL_MixAudio -> SDL_memcpy 2009-04-19 Andreas K. Foerster * avatar-audio.c (avt_load_raw_audio_data): adjust endianess while loading 2009-04-13 Andreas K. Foerster * 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 * 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 * 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 * 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 * akfavatar.pas (sound): sound generator (still buggy) 2009-03-05 Andreas K. Foerster * akfavatar.h, avatar-audio.c (avt_load_raw_data): new function ------------------------------------------------------------------------ 2009-02-24 Andreas K. Foerster * version 0.16.0 released 2009-02-21 Andreas K. Foerster * avtarsay.c (run_info): enforce UTF-8 for german info pages 2009-02-15 Andreas K. Foerster * avatar-audio.c (fillaudio): pause the sound system after playing the sound 2009-02-14 Andreas K. Foerster * avatar.c (avt_choice): use of mouse-wheel + other changes 2009-02-10 Andreas K. Foerster * avtterm.c (avtterm_initialize): support macro USE_OPENPTY for old/broken systems 2009-02-09 Andreas K. Foerster * avatarsay.c (set_encoding), avtterm.c (set_encoding): fallback to US-ASCII if encoding not supported by iconv 2009-02-06 Andreas K. Foerster * avatarsay.c (avatar_command): command: avatarimage info 2009-02-04 Andreas K. Foerster * 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 * avatar.c (background_color): new variable, many functions adapted 2009-01-30 Andreas K. Foerster * akfavatar.h, avatar.c (avt_decide): new function 2009-01-29 Andreas K. Foerster * 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 * 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 * 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 * avtfilechooser.c (get_file): ask again for drive letter when appropriete 2009-01-20 Andreas K. Foerster * avatar.c (avt_wait_button): new button design 2009-01-19 Andreas K. Foerster * avatar.c (avt_initialize, avt_quit): use a specific mouse-pointer * avatar.c: fix: typo: SDL_BIG_ENDIAN 2009-01-16 Andreas K. Foerster * 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 * 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 * avatarsay.c (menu, run_info), avtwindows.c (open_document): show manual in webbrowser under Windows 2009-01-12 Andreas K. Foerster * 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 * 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 * avatarsay.c (say_line): handle newline at the beginning and filter out \r\n 2009-01-04 Andreas K. Foerster * avatar-audio.c (avt_play_audio): set audio buffer size to lower value for lower latency 2009-01-03 Andreas K. Foerster * avatarsay.c (iscommand, handle_audio_command): new commands: loadaudio, playaudio, playaudioloop 2009-01-01 Andreas K. Foerster * avatar-audio.c (avt_play_audio): fix: only set soundleft when device could be opened (fixes bug #25263) 2008-12-02 Andreas K. Foerster * 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 * avatarsay.c (start_shell): new function 2008-11-21 Andreas K. Foerster * avatarsay.c (get_user_home): work with a preallocated buffer (run_shell, initialize_datadir): adapped 2008-11-20 Andreas K. Foerster * avtterm.c, avtterm.h (avtterm_start): new parameter: working_dir avatarsay.c: adapted 2008-11-16 Andreas K. Foerster * avtfilechooser.c (ask_drive): new function (Windows only) 2008-11-12 Andreas K. Foerster * 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 * 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 * 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 * avatar.c (avt_credits, avt_credits_up): optimization: just one line in buffer 2008-11-03 Andreas K. Foerster * 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 * configure (AVTVERSIONNR): new macro avtterm.c (avtterm_start): use number-only-value for env-var AKFAVTTERM 2008-10-24 Andreas K. Foerster * 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 * avatarsay.c (help, checkoptions): option -e reserved for different later use 2008-10-20 Andreas K. Foerster * avatarsay.c (process_script): fix handling of initialisation * avatar.c (avt_draw_balloon): fix: update whole screen 2008-10-13 Andreas K. Foerster * akfavatar.pas (BalloonSize, BalloonHeight, BalloonWidth): new functions * akfavatar.pas (AvatarImageFile, AvatarImageData, initializeAvatar): allow changing the avatar while running 2008-10-09 Andreas K. Foerster * 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 * avtterm.c (avtterm_run): reject filedescriptors less than zero * avtterm.c (avtterm_start): code cleanup 2008-10-05 Andreas K. Foerster * 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 * akfavatar.h, avatar.c (avt_set_title): new functions (avt_initialize): improve handling of NULL for title, icontitle 2008-10-03 Andreas K. Foerster * 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 * 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 * 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 * avatarsay.c (avatar_command): new function (iscommand): adapted avtterm.c (APC_sequence): use avatar_command avtcmd: new script 2008-09-27 Andreas K. Foerster * 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 * arch.c (arch_get_data): add 4 bytes zero at the end of the buffer 2008-09-24 Andreas K. Foerster * 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 * avatarsay.c (dont_edit_archive): new function 2008-09-22 Andreas K. Foerster * arch.h, arch.c: new files - separated out of avatarsay.c avatarsay.c: adapted 2008-09-19 Andreas K. Foerster * 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 * avatarsay.c (O_BINARY, O_NONBLOCK): define dummy macros for compatibility between some systems 2008-09-15 Andreas K. Foerster * 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 * 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 * 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 * 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 * 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 * 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 * 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 * avatar.c (avt_draw_balloon): more work in alignment of the balloon 2008-09-06 Andreas K. Foerster * 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 * avtterm.h (execute_process): using encoding as parameter (avatarsay.c): adapted 2008-08-28 Andreas K. Foerster * avtmsg.h, avtmsg.c, avtterm.h, avtterm.c: new files - split-offs of avatarsay.c avatarsay.c: adapted 2008-08-27 Andreas K. Foerster * avatarsay: reordering code 2008-08-26 Andreas K. Foerster * avatarsay: new commands: .height, .width, .size, .scrolling * avatar.c (avt_set_balloon_width): enforce a minimum width 2008-08-25 Andreas K. Foerster * 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 * 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 * 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 * version 0.15.2 released 2008-08-13 Andreas K. Foerster * 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 * 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 * 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 * avatar.c (windowmode_size): new variable save size of window for switching back from fullscreen mode 2008-08-09 Andreas K. Foerster * 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 * bdfread.pas, ucsfont4x6.c, ucsfont7x14.c, ucsfont9x18.c, avatar.c (avt_drawchar): optimized font-lookup algorithm 2008-08-07 Andreas K. Foerster * 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 * 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 * 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 * ucsfont4x6.c, ucsfont7x14.c, ucsfont7x14B.c, ucsfont9x18.c: font data marked as const 2008-06-20 Andreas K. Foerster * avatarsay.c (process_subprogram, ask_manpage): use NULL for wait, since I don't use the value anyway 2008-06-20 Andreas K. Foerster * avatarsay.c (process_subprogram, ask_manpage): get the exitcode from subprocesses, to avoid zombie processes (fixes bug #23655) 2008-06-17 Andreas K. Foerster * lrun: simplified and no INFOPATH anymore ------------------------------------------------------------------------ 2008-06-15 Andreas K. Foerster * version 0.15.1 released 2008-06-12 Andreas K. Foerster * avatar.c (PATH_LENGTH): new macro, used instead of PATH_MAX, which may be too large 2008-06-11 Andreas K. Foerster * 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 * 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 * avtfilechooser.c (get_file): major rewrite * avatar.c (avt_get_menu): feedback for mouse-motion in menu 2008-06-01 Andreas K. Foerster * avatarsay.c (CSI_sequence): ignore CSI [ + 1 char 2008-05-31 Andreas K. Foerster * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * version 0.14.0 released * reorganized creation of binary-packages * link directly to SDL on Windows and Mac 2007-09-07 Andreas K. Foerster * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * version 0.6 released * avatar.c (avt_set_colors): new function (fixes wrong colors after resizing) ------------------------------------------------------------------------ 2007-07-16 Andreas K. Foerster * 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 * 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 * version 0.3 released