system: move backslashify(), add UTF-8 functions

backslashify() has been put into system.c. It also takes an extra flags
argument.

The new functions utf8u32() and utf32u8() convert individual multibytes
characters from/to UTF-8/32. These functions will be necessary to handle
multibyte characters in the configuration file and keyboard input.

Signed-off-by: zamaz <zamaz@users.sourceforge.net>
sdl: add support for non-QWERTY/ASCII symbols

This commit allows international symbols found on non-US keyboards to be
bound and entered at the prompt.

- The configuration file is now interpreted in UTF-8.
- "shift" is not interpreted as a modifier anymore when combined with
  keys that generate symbols. For instance, "shift-a" in the
  configuration file won't work anymore (one should use "A" directly),
  but "shift-right" will.
- rc_keysyms[] is much smaller because it doesn't have to handle all
  possible symbols.

Signed-off-by: zamaz <zamaz@users.sourceforge.net>
system: enhance backslashify() again

The additional argument is an arbitrary position which is increased when
characters before it expand. Completion now uses it to move the cursor.

Signed-off-by: zamaz <zamaz@users.sourceforge.net>
sdl: fix stop_events_msg()

When cursor is present, choose the area to display more carefully.

Signed-off-by: zamaz <zamaz@users.sourceforge.net>
sdl: fix prompt_replace() once again

Length checks were still not quite right.

Signed-off-by: zamaz <zamaz@users.sourceforge.net>
Import scale2x-v2.4 sources

They have been stripped from their autotools scripts and extra files to
make them smaller and ease integration. Only the core library, licensing
information and documentation are left.

Signed-off-by: zamaz <zamaz@users.sourceforge.net>
sdl: add scale2x support

Scale2x is much faster than hqx but less accurate. It has been added to
the list of scaling filters, is enabled by default by configure but can
be disabled with --disable-scale2x.

It's available in DGen for 15, 16 and 32 bpp, and supports scaling
factors of 2x2, 2x3, 2x4, 3x3 and 3x4.

Signed-off-by: zamaz <zamaz@users.sourceforge.net>
Update COPYING

Signed-off-by: zamaz <zamaz@users.sourceforge.net>
AUTHORS: correct my mail address and update with my recent work

Signed-off-by: vext01 <vext01@gmail.com>
Update AUTHORS

Credit linenoise and scale2x authors.

Signed-off-by: zamaz <zamaz@users.sourceforge.net>
main: remove useless joystick option

Joystick is enabled by default when compiled-in, so this option has no
purpose.

Signed-off-by: zamaz <zamaz@users.sourceforge.net>
sdl: DGen => DGen/SDL

Signed-off-by: zamaz <zamaz@users.sourceforge.net>
sdl: escape displayed ROM path

Signed-off-by: zamaz <zamaz@users.sourceforge.net>
Update documentation

Signed-off-by: zamaz <zamaz@users.sourceforge.net>
Update BUGS

Signed-off-by: zamaz <zamaz@users.sourceforge.net>
Update ChangeLog for v1.30

Signed-off-by: zamaz <zamaz@users.sourceforge.net>
Fix warnings in dgenrc.1

Signed-off-by: zamaz <zamaz@users.sourceforge.net>
joystick: make axes configurable

int_joystick{1,2}_axis{X,Y} remap joystick axes. Useful for controllers
with more than two axes.

When true, bool_joystick{1,2}_axis{X,Y} reverse axes.

Signed-off-by: kleph <kleph@kleph.info>
Signed-off-by: zamaz <zamaz@users.sourceforge.net>
joystick: document new configuration variables

Signed-off-by: zamaz <zamaz@users.sourceforge.net>
Merge branch 'master' of git://dgen.git.sourceforge.net/gitroot/dgen/dgen