* gumps/Spellbook_gump.*: Keyboard controls for spellbook: page up/down will
  change current page, arrow keys will move the bookmark, home/end will move
  to first/last page, enter moves to the bookmark.
* gumps/*.h: Removing some warnings.


git-svn-id: https://exult.svn.sourceforge.net/svnroot/exult/exult/trunk@7321 67c084eb-e78b-48f3-b8e7-bfa43f95ef20
* actors.cc: A few improvements to charm alignment, which is now generally
  updated when alignment is and the NPC is not charmed. Inverted rev #7300
  so that only goblins in goblin ville are always on the lookout for foes.
  This matches the originals, in which only combat and patrol schedules will
  seek foes and fixes bug #3601595 "Bee's in Bee Cave Hostile before picking
  up honey".


git-svn-id: https://exult.svn.sourceforge.net/svnroot/exult/exult/trunk@7322 67c084eb-e78b-48f3-b8e7-bfa43f95ef20
* gamewin.cc: Fixed bug #3601596 "Music in Bee Cave conflict".


git-svn-id: https://exult.svn.sourceforge.net/svnroot/exult/exult/trunk@7323 67c084eb-e78b-48f3-b8e7-bfa43f95ef20
* actions.*: Improved pickup/put down action to show the standing frame at
  the end. Added new action to change the shape, frame and quality of a game
  object.
* paths.*: Added pathfinder to approach an object or actor that takes into
  consideration the size of the destination.
* actors.*: Added optional override for schedule location. This is mainly
  useful for street maintenance schedule, so the NPC continues from where he
  left off.
* schedule.*, shapes/items.h, usecode/usefuns.h: Added 3 static methods to
  Schedule class: one to procure an item (tries inventory first, then tries
  to find a match nearby, then creates it as a last resort); one to create
  a pick-up action sequence; and one to scan for the closest object in the
  given object vector. Added light sources to street maintenance schedule,
  so candles will be lit/put out/replaced as needed. Street maintenance will
  now return the NPC to his/her pre-street maintenance position (for patrol
  schedule mainly). Pace schedule no longer checks for street maintenance.
  Patrol schedule now starts from the nearest path egg as a workaround to
  fix the automaton at Freedom when saving/reloading (until saving the state
  of schedules is implemented). Patrol schedule reanalyzed and updated; only
  missing are 'kneel at tombstone' (which dropped flowers at tombs in BG but
  not in SI, as there are no tombs), and 'wait for semaphore' and 'release
  semaphore' activities, as they are all unused in the original (see their
  comments for more on them). Most notably, patrol should work identically
  to the original games except for 'repeat forever' (which works around a
  few quality bugs in BG's Isle of the Avatar pirate fort) and 'horiz. pace'
  which did not work in the original. Fixed a list corruption bug with the
  patrol hammer. Implemented hard-coded ugliness in SS maze for usecode path
  eggs in patrol schedule.


git-svn-id: https://exult.svn.sourceforge.net/svnroot/exult/exult/trunk@7324 67c084eb-e78b-48f3-b8e7-bfa43f95ef20
* gamemgr/modmgr.*: Eliminating warnings.
* Makefile.{am,common}, usecode/ucxt/src/*: Making UCXT use the GameManager
  class if loading from config file.


git-svn-id: https://exult.svn.sourceforge.net/svnroot/exult/exult/trunk@7325 67c084eb-e78b-48f3-b8e7-bfa43f95ef20
Update ucxt objects in common Makefile.

git-svn-id: https://exult.svn.sourceforge.net/svnroot/exult/exult/trunk@7326 67c084eb-e78b-48f3-b8e7-bfa43f95ef20
Fix ucxt objects in common Makefile.

git-svn-id: https://exult.svn.sourceforge.net/svnroot/exult/exult/trunk@7327 67c084eb-e78b-48f3-b8e7-bfa43f95ef20
* usecode/ucxt/data/u7opcodes.data: SETR opcode should also set the return
  flag.
* usecode/ucxt/src/ucfunc.cc: Adding output of the void, shape# and object#
  qualifiers in function declarations. Labels are now unindented, with all
  of the code in functions being idented at 1 tab. Fixed bug #1205926 "UCXT:
  Functions with no params are decompiled as having one". Fixed bug #1205910
  "UCXT: Parameter order reversed in function definitions".
* all: Performance: using ++it instead of it++ for iterators.


git-svn-id: https://exult.svn.sourceforge.net/svnroot/exult/exult/trunk@7328 67c084eb-e78b-48f3-b8e7-bfa43f95ef20
* keys.cc, keyactions.cc: Made "usefood" more useful and shown by default.
  Key actions of type Action::dont_show will now show under normal keys if
  they have a supplied optional comment; this fixes bug #3601627 'help gump
  doesn't show "useitem" commands'.
* data/bg/defaultkeys.txt: Using improved "usefood" for feeding.
* data/si/defaultkeys.txt: Removing redundant "usefood" Ctrl+F keybinding.


git-svn-id: https://exult.svn.sourceforge.net/svnroot/exult/exult/trunk@7329 67c084eb-e78b-48f3-b8e7-bfa43f95ef20
* gumps/Gump_manager.cc: Fix main_actor_can_act check that could be bypassed
  if double click closes gumps was disabled.
* exult.cc, gumps/Gump_button.h, gumps/misc_buttons.h: Allow left clicking
  on a check mark even when the Avatar cannot move. This fixes bug
  #3598889 "HP < 1 will not allow you to close gumps with the check mark"

git-svn-id: https://exult.svn.sourceforge.net/svnroot/exult/exult/trunk@7330 67c084eb-e78b-48f3-b8e7-bfa43f95ef20
* keys.cc: Missing is_movement initializer for ActionScrollLeft. Warnings.


git-svn-id: https://exult.svn.sourceforge.net/svnroot/exult/exult/trunk@7331 67c084eb-e78b-48f3-b8e7-bfa43f95ef20
* all: Eliminating more warnings.
* imagewin/savepcx.cc: malloc/free to new[]/delete[].
* audio/midi_drivers/mt32emu/freeverb.h: Updated handling of denormals.


git-svn-id: https://exult.svn.sourceforge.net/svnroot/exult/exult/trunk@7332 67c084eb-e78b-48f3-b8e7-bfa43f95ef20
* all: Eliminating more warnings.
* audio/midi_drivers/fmopl.cpp: malloc/free to new[]/delete[].
* audio/midi_drivers/timidity/timidity.cpp: Reformatted for more consistent
  spacing.


git-svn-id: https://exult.svn.sourceforge.net/svnroot/exult/exult/trunk@7333 67c084eb-e78b-48f3-b8e7-bfa43f95ef20
* audio/midi_drivers/mt32emu/*: Last MT32Emu warnings I will eliminate until
  bug #3149070 "MT-32: sysex is not delayed properly (exc. buffer overflow)"
  is fixed.


git-svn-id: https://exult.svn.sourceforge.net/svnroot/exult/exult/trunk@7334 67c084eb-e78b-48f3-b8e7-bfa43f95ef20
* gamedat.cc: Fixed regression from rev #7332 causing corruption on the save
  screen.


git-svn-id: https://exult.svn.sourceforge.net/svnroot/exult/exult/trunk@7335 67c084eb-e78b-48f3-b8e7-bfa43f95ef20
* usecode/ucinternal.cc: Also print usecode function number in debug tracing
  if the function has an associated name.


git-svn-id: https://exult.svn.sourceforge.net/svnroot/exult/exult/trunk@7336 67c084eb-e78b-48f3-b8e7-bfa43f95ef20
* audio/midi_drivers/FluidSynthMidiDriver.*: Eliminated warnings. Added the
  ability to specify multiple soundfonts for FluidSynth in exult.cfg which
  will make use of FuildSynth's soundfont stack. Soundfonts are specified in
  the fluidsynth_soundfontN keys (N = 0 to 9) which are loaded in numerical
  order (0 first), plus the old fluidsynth_soundfont key, which loads after
  all others.


git-svn-id: https://exult.svn.sourceforge.net/svnroot/exult/exult/trunk@7337 67c084eb-e78b-48f3-b8e7-bfa43f95ef20
* files/listfiles.cc: Fixed memory leak on Amiga and MorphOS. Would be good
  to be able to test...


git-svn-id: https://exult.svn.sourceforge.net/svnroot/exult/exult/trunk@7338 67c084eb-e78b-48f3-b8e7-bfa43f95ef20
* files/snprintf.cc: Fixed spacing.
* imagewin/savepcx.cc: Removing no longer needed using directives.
* imagewin/*.h: Synchronized comments with code.
* mapedit/*: Removed a handful of warnings. Fixed GtkTreeIter memory leaks.
  Close all windows, unload all data, free all memory and switch out of the
  groups tab when switching games or mods. These changes fix bug #3136375
  "Exult Studio crash, Groups tab doesn't update on game change".


git-svn-id: https://exult.svn.sourceforge.net/svnroot/exult/exult/trunk@7339 67c084eb-e78b-48f3-b8e7-bfa43f95ef20
* actors.cc: Clearing frame_time when avatar and NPCs aren't performing an
  action (since actions force a delay at the end to prevent skipping steps).
  When clearing casting frames, add them as dirty before changing mode so
  they will be cleared from the screen.
* effects.cc: Fixed Death Vortex and Energy Mist. Fixed missile drops.
* exult.cc: SetIcon is unused on MacOSX. Deprecated literal conversion to
  char * in Windows and Mac OSX. Variable last_fps is debug-only.
* conf/Configuration.cc: Spacing.
* files/zip/*.c, audio/midi_drivers/FMOplMidiDriver.cpp: Clang noise.
* imagewin/manip.h: Uninitialized variable being assigned to itself.
* imagewin/scale_xbr.h: Fixed forward declaration.
* tools/wuc.c: Missing initializers.
* usecode/ucdisasm.cc: 32-bits is 8 hex digits.
* usecode/ucinternal.cc: Usecode_Trace and Usecode_TraceReturn are used only
  in debug.
* usecode/ucxt/*/*: Portability: typeof is GNU extension.


git-svn-id: https://exult.svn.sourceforge.net/svnroot/exult/exult/trunk@7340 67c084eb-e78b-48f3-b8e7-bfa43f95ef20