diff --git a/.files b/.files
deleted file mode 100644
index b036e29..0000000
Binary files a/.files and /dev/null differ
diff --git a/.meta b/.meta
deleted file mode 100644
index 3081d5b..0000000
--- a/.meta
+++ /dev/null
@@ -1,19 +0,0 @@
-
- Seven Kingdoms: Ancient Adversaries
- Seven Kingdoms made departures from the traditional real-time strategy models
-of "gather resources, build a base and army, and attack". The economic model
-bears more resemblance to a turn-based strategy game. It features an espionage
-system that allows players to train and control spies individually, who each
-have a spying skill that increases over time. The player is also responsible
-for catching spies in their own kingdom. Inns built within the game allow
-players to hire mercenaries of various occupations, skill levels, and races.
-Skilled spies of enemy races are essential to a well-conducted espionage
-program, and the player can bolster his forces by grabbing a skilled fighter
-or give ones own factories, mines, and towers of science, a boost by hiring a
-skilled professional.
-
-Enlight Software decided to release the game to the Open Source community
-in August 2009. At that time everything, but the music, was released under
-the GPL v2.
-
-
diff --git a/.rev b/.rev
deleted file mode 100644
index 617ab23..0000000
--- a/.rev
+++ /dev/null
@@ -1,99 +0,0 @@
-
-
- f7647922163b74e6ed6bf07a59476a41
- 2.14.4
-
- dimstar_suse
- -------------------------------------------------------------------
-Fri Nov 7 17:04:26 UTC 2014 - nemysis@gmx.ch
-
-- Use for Recommends:%{name}-music Recommends: instead of
- Requires:%{name}-music, with dimstar help
-
--------------------------------------------------------------------
-Tue Oct 14 06:30:23 UTC 2014 - nemysis@gmx.ch
-
-- Change Web URL
-
--------------------------------------------------------------------
-Mon Oct 13 22:26:42 UTC 2014 - nemysis@gmx.ch
-
-- Binary file '7kaa-source-2.14.4.tar.bz2' has changed.
-
--------------------------------------------------------------------
-Mon Oct 13 21:53:03 UTC 2014 - nemysis@gmx.ch
-
-- Change Source0 to use proper Web URL
-- Use check for openSUSE %if 0%{?suse_version}
-- Use for BuildRequires pkgconfig(SDL_net), pkgconfig(sdl)
- instead of libSDL_net-devel, SDL-devel
-- Remove BuildRequires for pkgconfig
-
--------------------------------------------------------------------
-Sat Oct 4 21:02:03 UTC 2014 - nemysis@gmx.ch
-
-- Change %fdupes
-
--------------------------------------------------------------------
-Mon Sep 29 21:54:09 UTC 2014 - nemysis@gmx.ch
-
-- Initial package creation
- 260266
-
-
- 10740ccca3dc49afb1c6598444c0a0e2
- 2.14.5
-
- dimstar_suse
- Fixed the last submission with a proper patch (reported upstream) in the same ticket as the other one.
- 334824
-
-
- 45089bda8b7f2a6be3ca4051920807d4
- 2.14.5
-
- dimstar_suse
- 1
- 402814
-
-
- c293766aaee27eb7d5f38ab707844c91
- 2.14.6
-
- dimstar_suse
- 1
- 424877
-
-
- 7a3bf078ae8cdf59efb896fb8c1e9872
- 2.14.7
-
- dimstar_suse
-
- 539085
-
-
- efd14513d6e7221b7fe8c1ced459b538
- 2.15.1
-
- coolo
-
- 677701
-
-
- 0af470961ccc4db12513c5ce1389811d
- 2.15.3
-
- dimstar_suse
-
- 789825
-
-
- de446ef94582ddc3b77ebe7dfc5c7c7d
- 2.15.4p1
-
- dimstar_suse
-
- 821419
-
-
diff --git a/7kaa-2.15.4p1.tar.xz b/7kaa-2.15.4p1.tar.xz
deleted file mode 120000
index 08c22fe..0000000
--- a/7kaa-2.15.4p1.tar.xz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafybeict4khfq5xag5bqbzauzmcwm76x2rqrwyrwlsqpdobgitj6cigo6e
\ No newline at end of file
diff --git a/7kaa-no-return-in-nonvoid-function.patch b/7kaa-no-return-in-nonvoid-function.patch
deleted file mode 100644
index 5a94269..0000000
--- a/7kaa-no-return-in-nonvoid-function.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nur 7kaa-2.15.4p1/include/OFIRM.h new/include/OFIRM.h
---- 7kaa-2.15.4p1/include/OFIRM.h 2020-07-11 04:47:28.000000000 +0200
-+++ new/include/OFIRM.h 2020-07-13 17:12:35.540867933 +0200
-@@ -322,7 +322,7 @@
- void detect_info_both();
-
- virtual void put_info(int refreshFlag) {;}
-- virtual int detect_info() {;}
-+ virtual int detect_info() {return 0;}
- void sort_worker();
-
- void process_animation();
diff --git a/7kaa.changes b/7kaa.changes
deleted file mode 100644
index 38678be..0000000
--- a/7kaa.changes
+++ /dev/null
@@ -1,193 +0,0 @@
--------------------------------------------------------------------
-Sun Jul 12 15:49:42 UTC 2020 - Carsten Ziepke
-
-- Update to 2.15.4p1
- * This is a patch release to fix a few issues with 2.15.4.
- All users should upgrade.
-- Update to 2.15.4
- * Fixed a problem in multiplayer that halted the game play.
- * Added option to play with the original seven kingdoms, and
- enabled on original scenarios.
- * Apply the leadership bonus when the general is in fort for
- defending soldiers in range.
- * Fixed the mobile general range calculation for the leadership
- bonus to not apply to the troop anywhere on the map.
- * Apply the leadership bonus when the general is on a ship for
- defending soldiers in range.
- * Updated translations.
- * Added hotkeys for managing the build menu in the War Factory,
- Harbor, and Town.
- * Restored support for real full screen resolution that requires
- a screen mode change.
- * Improved dynamic UI button and text layout.
- * Added Polish translation.
- * Added trade locations to the trade report.
- * Sort and filter trade locations based on the map selected
- caravan.
- * Allow setting stops using the trade report.
- * Allow copying trade routes using the trade report.
-- Add 7kaa-no-return-in-nonvoid-function.patch
-- Clean with spec-cleaner
-
--------------------------------------------------------------------
-Fri Mar 27 09:34:45 UTC 2020 - Christophe Giboudeaux
-
-- Update to 2.15.3. Changes since 2.15.2:
- * Fixed corrupt characters and fields in various in game messages.
- * Improved translation support.
- * Updated translations.
- * Added some UI improvements.
- * Fixed some crashing issues related to spies.
- * Standardized on FPU code generation for better cross-platform
- compatibility.
- * Added more advanced config options.
- * Improved manual.
- * Added key binding support.
- * Prevented chat keystrokes registering as a hotkey too.
- * Fixed sometimes hiring wrong unit in the inn.
- * Added scenario advanced config presets to restore default
- scenario game play to original game design parameters.
- * Ensure screen redraw when dropping spy identity.
- * Improved alternate font set.
- * Added scroll button for long tutor messages.
- * Removed gong sound for unsent AI diplomatic messages.
- * Re-enabled AI ability to request direct military aid;
- expect allied AI to work together on defending now.
- * Removed uninitialized parameter in Caravan CRC check.
- * Removed improper variable-size cast, causing incorrect
- action processing on 64-bit platforms.
- * Correct replay initialization for weather sync.
-
--------------------------------------------------------------------
-Tue Feb 19 20:32:22 UTC 2019 - Matthias Eliasson
-
-- Update to 2.15.1
- * Fixed desync on mobilizing workers.
- * Fixed desync on troop sortie, by making troop sorting deterministic.
- * Fixed desync on AI attack planning, by making AI fort sorting deterministic.
- * Fixed error that caused multiplayer save files appear out of sync.
- * Changed the Button class to not block on holding down the mouse button,
- smoothing multiplayer games when alot of clicking may be happening.
- * Prevent mobilizing foreign workers from your Firms, however they may be
- fired back to their home town.
- * Only enable mobilize worker button when the firm is staffed with non-foreign
- workers.
- * Prefer IPv4 addressing for 7kfans.com match-making.
- * Fixed ambiguity in some translations.
- * Repack structures for Crc checking due to pointer sizing.
- * Improved cross-compilation and platform support.
- * Uppercased the data and user files, as they are supported in the code,
- maintaining consistency and without needing to guess case.
- * Fixed missing Fryhtan encyclopedia picture on some systems.
- * Fixed observation mode visibility when playing a replay.
- * Added support for center and right paragraph justification.
- * Packagers please note that the music files must be in upper-case now, see
- the latest download for the music.
-- Clean with spec-cleaner
-- Make sure we recommend new 7kaa-music version
-
--------------------------------------------------------------------
-Sat Nov 4 19:40:35 UTC 2017 - aavindraa@gmail.com
-
-- Update to 2.14.7
- * improving usability of the 7K multiplayer service at 7kfans.com
- * added NAT punch-through support when using 7kfans.com, which will
- make online play easier and more reliable.
- * Game balancing changes and fixes, making the game more challenging
- + The Fryhtans can attack more often.
- + Spies are more stealthy.
- + Greater being mana exploit has been fixed.
- + Harder to brutally capture towns.
-- File under correct Group
-- Lint .spec file
-- Rebase gcc6_char_cast.patch
-
--------------------------------------------------------------------
-Mon Sep 5 17:54:01 UTC 2016 - nemysis@openSUSE.org
-
-- Update to 2.14.6, announce message:
-
- * Added support for 7kfans.com match-making.
- * Added LAN game browsing support.
- * Added Mobilize Worker button on firms. (sraboy/Microvirus)
- * Improvements to mouse acceleration.
- * Fixes to mouse movement in fullscreen mode.
- * Fixed a bug with 64-bit multiplayer matches.
- * Begun translation work. (toaster)
- * Fix character encoding with accented characters. (MicroVirus)
- * Bugfixes…
-
-- Remove obsolete patches 7kaa-2.14.5.patch and 7kaa-2.14.5_overflow.patch,
- changed by Upstream
-- Add description for patch gcc6_char_cast.patch
-- Remove check %if 0%{?suse_version}, because is only for openSUSE
-
--------------------------------------------------------------------
-Thu Jun 16 14:03:33 UTC 2016 - normand@linux.vnet.ibm.com
-
-- new gcc6_char_cast.patch proposal for upstream issue
- https://github.com/the3dfxdude/7kaa/issues/63
-
--------------------------------------------------------------------
-Tue Sep 29 15:06:37 UTC 2015 - opensuse@dstoecker.de
-
-- patch buffer overflow (7kaa-2.14.5_overflow.patch)
-
--------------------------------------------------------------------
-Fri Sep 25 18:32:04 UTC 2015 - nemysis@openSUSE.org
-
-- Update to 2.14.5, announce message:
-
- * Switched to using SDL2.
- * Gained support for full-screen stretching.
- * Gained support for MacOS.
- * Switched to using enet, replacing SDL_net.
- * Audio code improvements.
- * The multiplayer connection code has stablized.
- * New game hotkeys.
- * Migrate population across extended town networks.
- * Added ability to migrate 10 people at a time across between towns.
- * Gettext translation support.
- * Several bug fixes.
-
-- Add patch 7kaa-2.14.5.patch, - fix build
-- Remove BuildRequires for desktop-file-utils
-- Add BuildRequires, changed by Upstream for enet-devel and sdl2
-- Remove BuildRequires, changed by Upstream for SDL_net and sdl
-- Fix build with gcc5, add CXXFLAGS="%{optflags} -fno-strict-aliasing"
-
--------------------------------------------------------------------
-Fri Nov 7 17:04:26 UTC 2014 - nemysis@gmx.ch
-
-- Use for Recommends:%{name}-music Recommends: instead of
- Requires:%{name}-music, with dimstar help
-
--------------------------------------------------------------------
-Tue Oct 14 06:30:23 UTC 2014 - nemysis@gmx.ch
-
-- Change Web URL
-
--------------------------------------------------------------------
-Mon Oct 13 22:26:42 UTC 2014 - nemysis@gmx.ch
-
-- Binary file '7kaa-source-2.14.4.tar.bz2' has changed.
-
--------------------------------------------------------------------
-Mon Oct 13 21:53:03 UTC 2014 - nemysis@gmx.ch
-
-- Change Source0 to use proper Web URL
-- Use check for openSUSE %if 0%{?suse_version}
-- Use for BuildRequires pkgconfig(SDL_net), pkgconfig(sdl)
- instead of libSDL_net-devel, SDL-devel
-- Remove BuildRequires for pkgconfig
-
--------------------------------------------------------------------
-Sat Oct 4 21:02:03 UTC 2014 - nemysis@gmx.ch
-
-- Change %fdupes
-
--------------------------------------------------------------------
-Mon Sep 29 21:54:09 UTC 2014 - nemysis@gmx.ch
-
-- Initial package creation
-
diff --git a/7kaa.desktop b/7kaa.desktop
deleted file mode 100644
index f0c2d8b..0000000
--- a/7kaa.desktop
+++ /dev/null
@@ -1,9 +0,0 @@
-[Desktop Entry]
-Name=Seven Kingdoms
-GenericName=Seven Kingdoms
-Comment=Seven Kingdoms: Ancient Adversaries
-Type=Application
-Exec=7kaa
-Icon=7kaa
-Categories=Game;StrategyGame;
-StartupNotify=false
\ No newline at end of file
diff --git a/7kaa.png b/7kaa.png
deleted file mode 100644
index 988108c..0000000
Binary files a/7kaa.png and /dev/null differ
diff --git a/7kaa.spec b/7kaa.spec
deleted file mode 100644
index 961928a..0000000
--- a/7kaa.spec
+++ /dev/null
@@ -1,94 +0,0 @@
-#
-# spec file for package 7kaa
-#
-# Copyright (c) 2020 SUSE LLC
-#
-# All modifications and additions to the file contributed by third parties
-# remain the property of their copyright owners, unless otherwise agreed
-# upon. The license for this file, and modifications and additions to the
-# file, is the same license as for the pristine package itself (unless the
-# license for the pristine package is not an Open Source License, in which
-# case the license is the MIT License). An "Open Source License" is a
-# license that conforms to the Open Source Definition (Version 1.9)
-# published by the Open Source Initiative.
-
-# Please submit bugfixes or comments via https://bugs.opensuse.org/
-#
-
-
-Name: 7kaa
-Version: 2.15.4p1
-Release: 0
-Summary: Seven Kingdoms: Ancient Adversaries
-License: GPL-2.0-only
-Group: Amusements/Games/Strategy/Real Time
-URL: https://7kfans.com/
-Source0: https://github.com/the3dfxdude/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.xz
-Source1: %{name}.png
-Source2: %{name}.desktop
-# PATCH-FIX-UPSTREAM - gcc6_char_cast.patch -- https://github.com/the3dfxdude/7kaa/issues/63
-Patch0: gcc6_char_cast.patch
-# PATCH-FIX-UPSTREAM - 7kaa-no-return-in-nonvoid-function.patch -- gh#the3dfxdude/7kaa#192
-Patch1: 7kaa-no-return-in-nonvoid-function.patch
-BuildRequires: curl-devel
-BuildRequires: fdupes
-BuildRequires: gcc-c++
-BuildRequires: pkgconfig
-BuildRequires: update-desktop-files
-BuildRequires: pkgconfig(libenet)
-BuildRequires: pkgconfig(openal)
-BuildRequires: pkgconfig(sdl2)
-Recommends: %{name}-music >= 20181228
-
-%description
-Seven Kingdoms made departures from the traditional real-time strategy models
-of "gather resources, build a base and army, and attack". The economic model
-bears more resemblance to a turn-based strategy game. It features an espionage
-system that allows players to train and control spies individually, who each
-have a spying skill that increases over time. The player is also responsible
-for catching spies in their own kingdom. Inns built within the game allow
-players to hire mercenaries of various occupations, skill levels, and races.
-Skilled spies of enemy races are essential to a well-conducted espionage
-program, and the player can bolster his forces by grabbing a skilled fighter
-or give ones own factories, mines, and towers of science, a boost by hiring a
-skilled professional.
-
-Enlight Software decided to release the game to the Open Source community
-in August 2009. At that time everything, but the music, was released under
-the GPL v2.
-
-%prep
-%setup -q
-%patch0 -p1
-%patch1 -p1
-
-%build
-export CXXFLAGS="%{optflags} -fno-strict-aliasing"
-%configure --docdir=%{_docdir}/%{name}
-%make_build
-
-%install
-%make_install
-
-# install icon
-install -Dm 0644 %{SOURCE1} %{buildroot}%{_datadir}/pixmaps/%{name}.png
-
-# install Desktop file
-install -Dm 0644 %{SOURCE2} %{buildroot}%{_datadir}/applications/%{name}.desktop
-
-%suse_update_desktop_file %{name}
-%fdupes -s %{buildroot}%{_prefix}
-%find_lang %{name}
-
-# remove duplicate COPYING file
-rm -f %{buildroot}%{_docdir}/7kaa/COPYING
-
-%files -f %{name}.lang
-%license COPYING
-%doc README
-%{_bindir}/%{name}
-%{_datadir}/applications/%{name}.desktop
-%{_datadir}/pixmaps/%{name}.png
-%{_datadir}/%{name}
-
-%changelog
diff --git a/gcc6_char_cast.patch b/gcc6_char_cast.patch
deleted file mode 100644
index d522c10..0000000
--- a/gcc6_char_cast.patch
+++ /dev/null
@@ -1,646 +0,0 @@
----
- src/OBULLET.cpp | 4
- src/OGAMMAIN.cpp | 2
- src/OUNITAAT.cpp | 12 -
- src/OUNITATB.cpp | 512 ++++++++++++++++++++++++------------------------
- src/OU_MARI.cpp | 6
- 5 files changed, 268 insertions(+), 268 deletions(-)
-
-Index: a/src/OBULLET.cpp
-===================================================================
---- a/src/OBULLET.cpp
-+++ b/src/OBULLET.cpp
-@@ -38,9 +38,9 @@ const int SCAN_RANGE = SCAN_RADIUS * 2 +
-
- // from the closet to the far
- static char spiral_x[SCAN_RANGE*SCAN_RANGE] =
-- { 0, 0,-1, 0, 1,-1,-1, 1, 1, 0,-2, 0, 2, -1,-2,-2,-1, 1, 2, 2, 1,-2,-2, 2, 2};
-+ { 0, 0,(char)-1, 0, 1,(char)-1,(char)-1, 1, 1, 0,(char)-2, 0, 2, (char)-1,(char)-2,(char)-2,(char)-1, 1, 2, 2, 1,(char)-2,(char)-2, 2, 2};
- static char spiral_y[SCAN_RANGE*SCAN_RANGE] =
-- { 0,-1, 0, 1, 0,-1, 1, 1,-1,-2, 0, 2, 0, -2,-1, 1, 2, 2, 1,-1,-2,-2, 2, 2,-2};
-+ { 0,(char)-1, 0, 1, 0,(char)-1, 1, 1,(char)-1,(char)-2, 0, 2, 0, (char)-2,(char)-1, 1, 2, 2, 1,(char)-1,(char)-2,(char)-2, 2, 2,(char)-2};
-
- //--------- Begin of function Bullet::Bullet -------//
-
-Index: a/src/OGAMMAIN.cpp
-===================================================================
---- a/src/OGAMMAIN.cpp
-+++ b/src/OGAMMAIN.cpp
-@@ -671,7 +671,7 @@ void Game::multi_player_menu(int lobbied
-
- static char multi_player_option_flag[MULTI_PLAYER_OPTION_COUNT] =
- {
-- -1, 1, 1, -1, 1,
-+ (char)-1, 1, 1, (char)-1, 1,
- };
-
- game_mode = GAME_MULTI_PLAYER;
-Index: a/src/OUNITAAT.cpp
-===================================================================
---- a/src/OUNITAAT.cpp
-+++ b/src/OUNITAAT.cpp
-@@ -1513,8 +1513,8 @@ void UnitArray::arrange_units_in_group(i
- //
- int UnitArray::analyse_surround_location(int targetXLoc, int targetYLoc, int targetWidth, int targetHeight, char mobileType)
- {
-- static char xIncreTable[4] = { 1, 0, -1, 0};
-- static char yIncreTable[4] = { 0, 1, 0, -1};
-+ static char xIncreTable[4] = { 1, 0, (char)-1, 0};
-+ static char yIncreTable[4] = { 0, 1, 0, (char)-1};
-
- err_when(targetWidth<1 || targetWidth>4);
- Location *locPtr;
-@@ -1581,10 +1581,10 @@ void UnitArray::check_nearby_location(in
- #endif
- debug_result_check(analyseResult, targetWidth, targetHeight);
-
-- static char leftXIncreTable[4] = { 1, 0, -1, 0};
-- static char leftYIncreTable[4] = { 0, 1, 0, -1};
-- static char rightXIncreTable[4] = { -1, 0, 1, 0};
-- static char rightYIncreTable[4] = { 0, 1, 0, -1};
-+ static char leftXIncreTable[4] = { 1, 0, (char)-1, 0};
-+ static char leftYIncreTable[4] = { 0, 1, 0, (char)-1};
-+ static char rightXIncreTable[4] = { (char)-1, 0, 1, 0};
-+ static char rightYIncreTable[4] = { 0, 1, 0, (char)-1};
-
- err_when(targetWidth<1 || targetWidth>4);
- Location *locPtr;
-Index: a/src/OUNITATB.cpp
-===================================================================
---- a/src/OUNITATB.cpp
-+++ b/src/OUNITATB.cpp
-@@ -45,294 +45,294 @@
- //------------------------------------------------------------------------------//
-
- static char attack_x_offset11[ATTACK_DIR][8] // target size 1x1
--= { { -1, -1, -1, 0, 0, 1, 1, 1},
-- { -1, 0, -1, 1, -1, 1, 0, 1},
-- { 0, 1, -1, 1, -1, 1, -1, 0},
-- { 1, 1, 0, 1, -1, 0, -1, -1},
-- { 1, 1, 1, 0, 0, -1, -1, -1},
-- { 1, 0, 1, -1, 1, -1, 0, -1},
-- { 0, -1, 1, -1, 1, -1, 1, 0},
-- { -1, -1, 0, -1, 1, 0, 1, 1}};
-+= { { (char)-1, (char)-1, (char)-1, 0, 0, 1, 1, 1},
-+ { (char)-1, 0, (char)-1, 1, (char)-1, 1, 0, 1},
-+ { 0, 1, (char)-1, 1, (char)-1, 1, (char)-1, 0},
-+ { 1, 1, 0, 1, (char)-1, 0, (char)-1, (char)-1},
-+ { 1, 1, 1, 0, 0, (char)-1, (char)-1, (char)-1},
-+ { 1, 0, 1, (char)-1, 1, (char)-1, 0, (char)-1},
-+ { 0, (char)-1, 1, (char)-1, 1, (char)-1, 1, 0},
-+ { (char)-1, (char)-1, 0, (char)-1, 1, 0, 1, 1}};
- static char attack_x_offset12[ATTACK_DIR][10] // target size 1x2
--= { { -1, -1, -1, -1, 0, 0, 1, 1, 1, 1},
-- { -1, -1, 0, -1, 1, -1, 1, 0, 1, 1},
-- { 0, 1, -1, 1, -1, 1, -1, 1, -1, 0},
-- { 1, 1, 0, 1, -1, 1, -1, 0, -1, -1},
-- { 1, 1, 1, 1, 0, 0, -1, -1, -1, -1},
-- { 1, 1, 0, 1, -1, 1, -1, 0, -1, -1},
-- { 0, -1, 1, -1, 1, -1, 1, -1, 1, 0},
-- { -1, -1, 0, -1, 1, -1, 1, 0, 1, 1}};
-+= { { (char)-1, (char)-1, (char)-1, (char)-1, 0, 0, 1, 1, 1, 1},
-+ { (char)-1, (char)-1, 0, (char)-1, 1, (char)-1, 1, 0, 1, 1},
-+ { 0, 1, (char)-1, 1, (char)-1, 1, (char)-1, 1, (char)-1, 0},
-+ { 1, 1, 0, 1, (char)-1, 1, (char)-1, 0, (char)-1, (char)-1},
-+ { 1, 1, 1, 1, 0, 0, (char)-1, (char)-1, (char)-1, (char)-1},
-+ { 1, 1, 0, 1, (char)-1, 1, (char)-1, 0, (char)-1, (char)-1},
-+ { 0, (char)-1, 1, (char)-1, 1, (char)-1, 1, (char)-1, 1, 0},
-+ { (char)-1, (char)-1, 0, (char)-1, 1, (char)-1, 1, 0, 1, 1}};
- static char attack_x_offset13[ATTACK_DIR][12] // target size 1x3
--= { { -1, -1, -1, -1, -1, 0, 0, 1, 1, 1, 1, 1},
-- { -1, -1, 0, -1, 1, -1, 1, -1, 1, 0, 1, 1},
-- { 0, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 0},
-- { 1, 1, 0, 1, -1, 1, -1, 1, -1, 0, -1, -1},
-- { 1, 1, 1, 1, 1, 0, 0, -1, -1, -1, -1, -1},
-- { 1, 1, 0, 1, -1, 1, -1, 1, -1, 0, -1, -1},
-- { 0, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 0},
-- { -1, -1, 0, -1, 1, -1, 1, -1, 1, 0, 1, 1}};
-+= { { (char)-1, (char)-1, (char)-1, (char)-1, (char)-1, 0, 0, 1, 1, 1, 1, 1},
-+ { (char)-1, (char)-1, 0, (char)-1, 1, (char)-1, 1, (char)-1, 1, 0, 1, 1},
-+ { 0, 1, (char)-1, 1, (char)-1, 1, (char)-1, 1, (char)-1, 1, (char)-1, 0},
-+ { 1, 1, 0, 1, (char)-1, 1, (char)-1, 1, (char)-1, 0, (char)-1, (char)-1},
-+ { 1, 1, 1, 1, 1, 0, 0, (char)-1, (char)-1, (char)-1, (char)-1, (char)-1},
-+ { 1, 1, 0, 1, (char)-1, 1, (char)-1, 1, (char)-1, 0, (char)-1, (char)-1},
-+ { 0, (char)-1, 1, (char)-1, 1, (char)-1, 1, (char)-1, 1, (char)-1, 1, 0},
-+ { (char)-1, (char)-1, 0, (char)-1, 1, (char)-1, 1, (char)-1, 1, 0, 1, 1}};
- static char attack_x_offset14[ATTACK_DIR][14] // target size 1x4
--= { { -1, -1, -1, -1, -1, -1, 0, 0, 1, 1, 1, 1, 1, 1},
-- { -1, -1, 0, -1, 1, -1, 1, -1, 1, -1, 1, 0, 1, 1},
-- { 0, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 0},
-- { 1, 1, 0, 1, -1, 1, -1, 1, -1, 1, -1, 0, -1, -1},
-- { 1, 1, 1, 1, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1},
-- { 1, 1, 0, 1, -1, 1, -1, 1, -1, 1, -1, 0, -1, -1},
-- { 0, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 0},
-- { -1, -1, 0, -1, 1, -1, 1, -1, 1, -1, 1, 0, 1, 1}};
-+= { { (char)-1, (char)-1, (char)-1, (char)-1, (char)-1, (char)-1, 0, 0, 1, 1, 1, 1, 1, 1},
-+ { (char)-1, (char)-1, 0, (char)-1, 1, (char)-1, 1, (char)-1, 1, (char)-1, 1, 0, 1, 1},
-+ { 0, 1, (char)-1, 1, (char)-1, 1, (char)-1, 1, (char)-1, 1, (char)-1, 1, (char)-1, 0},
-+ { 1, 1, 0, 1, (char)-1, 1, (char)-1, 1, (char)-1, 1, (char)-1, 0, (char)-1, (char)-1},
-+ { 1, 1, 1, 1, 1, 1, 0, 0, (char)-1, (char)-1, (char)-1, (char)-1, (char)-1, (char)-1},
-+ { 1, 1, 0, 1, (char)-1, 1, (char)-1, 1, (char)-1, 1, (char)-1, 0, (char)-1, (char)-1},
-+ { 0, (char)-1, 1, (char)-1, 1, (char)-1, 1, (char)-1, 1, (char)-1, 1, (char)-1, 1, 0},
-+ { (char)-1, (char)-1, 0, (char)-1, 1, (char)-1, 1, (char)-1, 1, (char)-1, 1, 0, 1, 1}};
- static char attack_x_offset21[ATTACK_DIR][10] // target size 2x1
--= { { -1, -1, -1, 0, 0, 1, 1, 2, 2, 2},
-- { -1, 0, -1, 1, -1, 2, 0, 2, 1, 2},
-- { 0, 1, -1, 2, -1, 2, -1, 2, 0, 1},
-- { 2, 1, 2, 0, 2, -1, 1, -1, 0, -1},
-- { 2, 2, 2, 1, 1, 0, 0, -1, -1, -1},
-- { 2, 1, 2, 0, 2, -1, 1, -1, 0, -1},
-- { 0, 1, -1, 2, -1, 2, -1, 2, 0, 1},
-- { -1, 0, -1, 1, -1, 2, 0, 2, 1, 2}};
-+= { { (char)-1, (char)-1, (char)-1, 0, 0, 1, 1, 2, 2, 2},
-+ { (char)-1, 0, (char)-1, 1, (char)-1, 2, 0, 2, 1, 2},
-+ { 0, 1, (char)-1, 2, (char)-1, 2, (char)-1, 2, 0, 1},
-+ { 2, 1, 2, 0, 2, (char)-1, 1, (char)-1, 0, (char)-1},
-+ { 2, 2, 2, 1, 1, 0, 0, (char)-1, (char)-1, (char)-1},
-+ { 2, 1, 2, 0, 2, (char)-1, 1, (char)-1, 0, (char)-1},
-+ { 0, 1, (char)-1, 2, (char)-1, 2, (char)-1, 2, 0, 1},
-+ { (char)-1, 0, (char)-1, 1, (char)-1, 2, 0, 2, 1, 2}};
- static char attack_x_offset22[ATTACK_DIR][12] // target size 2x2
--= { { -1, -1, -1, -1, 0, 0, 1, 1, 2, 2, 2, 2},
-- { -1, 0, -1, 1, -1, 2, -1, 2, 0, 2, 1, 2},
-- { 0, 1, -1, 2, -1, 2, -1, 2, -1, 2, 0, 1},
-- { 2, 2, 1, 2, 0, 2, -1, 1, -1, 0, -1, -1},
-- { 2, 2, 2, 2, 1, 1, 0, 0, -1, -1, -1, -1},
-- { 2, 1, 2, 0, 2, -1, 2, -1, 1, -1, 0, -1},
-- { 1, 0, 2, -1, 2, -1, 2, -1, 2, -1, 1, 0},
-- { -1, -1, 0, -1, 1, -1, 2, 0, 2, 1, 2, 2}};
-+= { { (char)-1, (char)-1, (char)-1, (char)-1, 0, 0, 1, 1, 2, 2, 2, 2},
-+ { (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 2, 0, 2, 1, 2},
-+ { 0, 1, (char)-1, 2, (char)-1, 2, (char)-1, 2, (char)-1, 2, 0, 1},
-+ { 2, 2, 1, 2, 0, 2, (char)-1, 1, (char)-1, 0, (char)-1, (char)-1},
-+ { 2, 2, 2, 2, 1, 1, 0, 0, (char)-1, (char)-1, (char)-1, (char)-1},
-+ { 2, 1, 2, 0, 2, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1},
-+ { 1, 0, 2, (char)-1, 2, (char)-1, 2, (char)-1, 2, (char)-1, 1, 0},
-+ { (char)-1, (char)-1, 0, (char)-1, 1, (char)-1, 2, 0, 2, 1, 2, 2}};
- static char attack_x_offset23[ATTACK_DIR][14] // target size 2x3
--= { { -1, -1, -1, -1, -1, 0, 0, 1, 1, 2, 2, 2, 2, 2},
-- { -1, -1, 0, -1, 1, -1, 2, -1, 2, 0, 2, 1, 2, 2},
-- { 0, 1, -1, 2, -1, 2, -1, 2, -1, 2, -1, 2, 0, 1},
-- { 2, 2, 1, 2, 0, 2, -1, 2, -1, 1, -1, 0, -1, -1},
-- { 2, 2, 2, 2, 2, 1, 1, 0, 0, -1, -1, -1, -1, -1},
-- { 2, 2, 1, 2, 0, 2, -1, 2, -1, 1, -1, 0, -1, -1},
-- { 0, 1, -1, 2, -1, 2, -1, 2, -1, 2, -1, 2, 0, 1},
-- { -1, -1, 0, -1, 1, -1, 2, -1, 2, 0, 2, 1, 2, 2}};
-+= { { (char)-1, (char)-1, (char)-1, (char)-1, (char)-1, 0, 0, 1, 1, 2, 2, 2, 2, 2},
-+ { (char)-1, (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 2, 0, 2, 1, 2, 2},
-+ { 0, 1, (char)-1, 2, (char)-1, 2, (char)-1, 2, (char)-1, 2, (char)-1, 2, 0, 1},
-+ { 2, 2, 1, 2, 0, 2, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1, (char)-1},
-+ { 2, 2, 2, 2, 2, 1, 1, 0, 0, (char)-1, (char)-1, (char)-1, (char)-1, (char)-1},
-+ { 2, 2, 1, 2, 0, 2, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1, (char)-1},
-+ { 0, 1, (char)-1, 2, (char)-1, 2, (char)-1, 2, (char)-1, 2, (char)-1, 2, 0, 1},
-+ { (char)-1, (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 2, 0, 2, 1, 2, 2}};
- static char attack_x_offset24[ATTACK_DIR][16] // target size 2x4
--= { { -1, -1, -1, -1, -1, -1, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2},
-- { -1, -1, 0, -1, 1, -1, 2, -1, 2, -1, 2, 0, 2, 1, 2, 2},
-- { 0, 1, -1, 2, -1, 2, -1, 2, -1, 2, -1, 2, -1, 2, 0, 1},
-- { 2, 2, 1, 2, 0, 2, -1, 2, -1, 2, -1, 1, -1, 0, -1, -1},
-- { 2, 2, 2, 2, 2, 2, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1},
-- { 2, 2, 1, 2, 0, 2, -1, 2, -1, 2, -1, 1, -1, 0, -1, -1},
-- { 0, 1, -1, 2, -1, 2, -1, 2, -1, 2, -1, 2, -1, 2, 0, 1},
-- { -1, -1, 0, -1, 1, -1, 2, -1, 2, -1, 2, 0, 2, 1, 2, 2}};
-+= { { (char)-1, (char)-1, (char)-1, (char)-1, (char)-1, (char)-1, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2},
-+ { (char)-1, (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 2, (char)-1, 2, 0, 2, 1, 2, 2},
-+ { 0, 1, (char)-1, 2, (char)-1, 2, (char)-1, 2, (char)-1, 2, (char)-1, 2, (char)-1, 2, 0, 1},
-+ { 2, 2, 1, 2, 0, 2, (char)-1, 2, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1, (char)-1},
-+ { 2, 2, 2, 2, 2, 2, 1, 1, 0, 0, (char)-1, (char)-1, (char)-1, (char)-1, (char)-1, (char)-1},
-+ { 2, 2, 1, 2, 0, 2, (char)-1, 2, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1, (char)-1},
-+ { 0, 1, (char)-1, 2, (char)-1, 2, (char)-1, 2, (char)-1, 2, (char)-1, 2, (char)-1, 2, 0, 1},
-+ { (char)-1, (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 2, (char)-1, 2, 0, 2, 1, 2, 2}};
- static char attack_x_offset31[ATTACK_DIR][12] // target size 3x1
--= { { -1, -1, -1, 0, 0, 1, 1, 2, 2, 3, 3, 3},
-- { -1, 0, -1, 1, -1, 2, 0, 3, 1, 3, 2, 3},
-- { 1, 2, 0, 3, -1, 3, -1, 3, -1, 2, 0, 1},
-- { 3, 2, 3, 1, 3, 0, 2, -1, 1, -1, 0, -1},
-- { 3, 3, 3, 2, 2, 1, 1, 0, 0, -1, -1, -1},
-- { 3, 2, 3, 1, 3, 0, 2, -1, 1, -1, 0, -1},
-- { 1, 0, 2, -1, 3, -1, 3, -1, 3, 0, 2, 1},
-- { -1, 0, -1, 1, -1, 2, 0, 3, 1, 3, 2, 3}};
-+= { { (char)-1, (char)-1, (char)-1, 0, 0, 1, 1, 2, 2, 3, 3, 3},
-+ { (char)-1, 0, (char)-1, 1, (char)-1, 2, 0, 3, 1, 3, 2, 3},
-+ { 1, 2, 0, 3, (char)-1, 3, (char)-1, 3, (char)-1, 2, 0, 1},
-+ { 3, 2, 3, 1, 3, 0, 2, (char)-1, 1, (char)-1, 0, (char)-1},
-+ { 3, 3, 3, 2, 2, 1, 1, 0, 0, (char)-1, (char)-1, (char)-1},
-+ { 3, 2, 3, 1, 3, 0, 2, (char)-1, 1, (char)-1, 0, (char)-1},
-+ { 1, 0, 2, (char)-1, 3, (char)-1, 3, (char)-1, 3, 0, 2, 1},
-+ { (char)-1, 0, (char)-1, 1, (char)-1, 2, 0, 3, 1, 3, 2, 3}};
- static char attack_x_offset32[ATTACK_DIR][14] // target size 3x2
--= { { -1, -1, -1, -1, 0, 0, 1, 1, 2, 2, 3, 3, 3, 3},
-- { -1, 0, -1, 1, -1, 2, -1, 3, 0, 3, 1, 3, 2, 3},
-- { 1, 2, 0, 3, -1, 3, -1, 3, -1, 3, -1, 2, 0, 1},
-- { 3, 2, 3, 1, 3, 0, 3, -1, 2, -1, 1, -1, 0, -1},
-- { 3, 3, 3, 3, 2, 2, 1, 1, 0, 0, -1, -1, -1, -1},
-- { 3, 2, 3, 1, 3, 0, 3, -1, 2, -1, 1, -1, 0, -1},
-- { 1, 0, 2, -1, 3, -1, 3, -1, 3, -1, 3, 0, 2, 1},
-- { -1, 0, -1, 1, -1, 2, -1, 3, 0, 3, 1, 3, 2, 3}};
-+= { { (char)-1, (char)-1, (char)-1, (char)-1, 0, 0, 1, 1, 2, 2, 3, 3, 3, 3},
-+ { (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 3, 0, 3, 1, 3, 2, 3},
-+ { 1, 2, 0, 3, (char)-1, 3, (char)-1, 3, (char)-1, 3, (char)-1, 2, 0, 1},
-+ { 3, 2, 3, 1, 3, 0, 3, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1},
-+ { 3, 3, 3, 3, 2, 2, 1, 1, 0, 0, (char)-1, (char)-1, (char)-1, (char)-1},
-+ { 3, 2, 3, 1, 3, 0, 3, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1},
-+ { 1, 0, 2, (char)-1, 3, (char)-1, 3, (char)-1, 3, (char)-1, 3, 0, 2, 1},
-+ { (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 3, 0, 3, 1, 3, 2, 3}};
- static char attack_x_offset33[ATTACK_DIR][16] // target size 3x3
--= { { -1, -1, -1, -1, -1, 0, 0, 1, 1, 2, 2, 3, 3, 3, 3, 3},
-- { -1, 0, -1, 1, -1, 2, -1, 3, -1, 3, 0, 3, 1, 3, 2, 3},
-- { 1, 2, 0, 3, -1, 3, -1, 3, -1, 3, -1, 3, -1, 2, 0, 1},
-- { 3, 3, 2, 3, 1, 3, 0, 3, -1, 2, -1, 1, -1, 0, -1, -1},
-- { 3, 3, 3, 3, 3, 2, 2, 1, 1, 0, 0, -1, -1, -1, -1, -1},
-- { 3, 2, 3, 1, 3, 0, 3, -1, 3, -1, 2, -1, 1, -1, 0, -1},
-- { 1, 0, 2, -1, 3, -1, 3, -1, 3, -1, 3, -1, 3, 0, 2, 1},
-- { -1, -1, 0, -1, 1, -1, 2, -1, 3, 0, 3, 1, 3, 2, 3, 3}};
-+= { { (char)-1, (char)-1, (char)-1, (char)-1, (char)-1, 0, 0, 1, 1, 2, 2, 3, 3, 3, 3, 3},
-+ { (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 3, (char)-1, 3, 0, 3, 1, 3, 2, 3},
-+ { 1, 2, 0, 3, (char)-1, 3, (char)-1, 3, (char)-1, 3, (char)-1, 3, (char)-1, 2, 0, 1},
-+ { 3, 3, 2, 3, 1, 3, 0, 3, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1, (char)-1},
-+ { 3, 3, 3, 3, 3, 2, 2, 1, 1, 0, 0, (char)-1, (char)-1, (char)-1, (char)-1, (char)-1},
-+ { 3, 2, 3, 1, 3, 0, 3, (char)-1, 3, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1},
-+ { 1, 0, 2, (char)-1, 3, (char)-1, 3, (char)-1, 3, (char)-1, 3, (char)-1, 3, 0, 2, 1},
-+ { (char)-1, (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 3, 0, 3, 1, 3, 2, 3, 3}};
- static char attack_x_offset34[ATTACK_DIR][18] // target size 3x4
--= { { -1, -1, -1, -1, -1, -1, 0, 0, 1, 1, 2, 2, 3, 3, 3, 3, 3, 3},
-- { -1, -1, 0, -1, 1, -1, 2, -1, 3, -1, 3, 0, 3, 1, 3, 2, 3, 3},
-- { 1, 2, 0, 3, -1, 3, -1, 3, -1, 3, -1, 3, -1, 3, -1, 2, 0, 1},
-- { 3, 3, 2, 3, 1, 3, 0, 3, -1, 3, -1, 2, -1, 1, -1, 0, -1, -1},
-- { 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1},
-- { 3, 3, 2, 3, 1, 3, 0, 3, -1, 3, -1, 2, -1, 1, -1, 0, -1, -1},
-- { 1, 0, 2, -1, 3, -1, 3, -1, 3, -1, 3, -1, 3, -1, 3, 0, 2, 1},
-- { -1, -1, 0, -1, 1, -1, 2, -1, 3, -1, 3, 0, 3, 1, 3, 2, 3, 3}};
-+= { { (char)-1, (char)-1, (char)-1, (char)-1, (char)-1, (char)-1, 0, 0, 1, 1, 2, 2, 3, 3, 3, 3, 3, 3},
-+ { (char)-1, (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 3, (char)-1, 3, 0, 3, 1, 3, 2, 3, 3},
-+ { 1, 2, 0, 3, (char)-1, 3, (char)-1, 3, (char)-1, 3, (char)-1, 3, (char)-1, 3, (char)-1, 2, 0, 1},
-+ { 3, 3, 2, 3, 1, 3, 0, 3, (char)-1, 3, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1, (char)-1},
-+ { 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 0, 0, (char)-1, (char)-1, (char)-1, (char)-1, (char)-1, (char)-1},
-+ { 3, 3, 2, 3, 1, 3, 0, 3, (char)-1, 3, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1, (char)-1},
-+ { 1, 0, 2, (char)-1, 3, (char)-1, 3, (char)-1, 3, (char)-1, 3, (char)-1, 3, (char)-1, 3, 0, 2, 1},
-+ { (char)-1, (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 3, (char)-1, 3, 0, 3, 1, 3, 2, 3, 3}};
- static char attack_x_offset41[ATTACK_DIR][14] // target size 4x1
--= { { -1, -1, -1, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 4},
-- { -1, 0, -1, 1, -1, 2, 0, 3, 1, 4, 2, 4, 3, 4},
-- { 1, 2, 0, 3, -1, 4, -1, 4, -1, 4, 0, 3, 1, 2},
-- { 4, 3, 4, 2, 4, 1, 3, 0, 2, -1, 1, -1, 0, -1},
-- { 4, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0, -1, -1, -1},
-- { 4, 3, 4, 2, 4, 1, 3, 0, 2, -1, 1, -1, 0, -1},
-- { 1, 2, 0, 3, -1, 4, -1, 4, -1, 4, 0, 3, 1, 2},
-- { -1, 0, -1, 1, -1, 2, 0, 3, 1, 4, 2, 4, 3, 4}};
-+= { { (char)-1, (char)-1, (char)-1, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 4},
-+ { (char)-1, 0, (char)-1, 1, (char)-1, 2, 0, 3, 1, 4, 2, 4, 3, 4},
-+ { 1, 2, 0, 3, (char)-1, 4, (char)-1, 4, (char)-1, 4, 0, 3, 1, 2},
-+ { 4, 3, 4, 2, 4, 1, 3, 0, 2, (char)-1, 1, (char)-1, 0, (char)-1},
-+ { 4, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0, (char)-1, (char)-1, (char)-1},
-+ { 4, 3, 4, 2, 4, 1, 3, 0, 2, (char)-1, 1, (char)-1, 0, (char)-1},
-+ { 1, 2, 0, 3, (char)-1, 4, (char)-1, 4, (char)-1, 4, 0, 3, 1, 2},
-+ { (char)-1, 0, (char)-1, 1, (char)-1, 2, 0, 3, 1, 4, 2, 4, 3, 4}};
- static char attack_x_offset42[ATTACK_DIR][16] // target size 4x2
--= { { -1, -1, -1, -1, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 4},
-- { -1, 0, -1, 1, -1, 2, -1, 3, 0, 4, 1, 4, 2, 4, 3, 4},
-- { 1, 2, 0, 3, -1, 4, -1, 4, -1, 4, -1, 4, 0, 3, 1, 2},
-- { 4, 3, 4, 2, 4, 1, 4, 0, 3, -1, 2, -1, 1, -1, 0, -1},
-- { 4, 4, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0, -1, -1, -1, -1},
-- { 4, 3, 4, 2, 4, 1, 4, 0, 3, -1, 2, -1, 1, -1, 0, -1},
-- { 1, 2, 0, 3, -1, 4, -1, 4, -1, 4, -1, 4, 0, 3, 1, 2},
-- { -1, 0, -1, 1, -1, 2, -1, 3, 0, 4, 1, 4, 2, 4, 3, 4}};
-+= { { (char)-1, (char)-1, (char)-1, (char)-1, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 4},
-+ { (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 3, 0, 4, 1, 4, 2, 4, 3, 4},
-+ { 1, 2, 0, 3, (char)-1, 4, (char)-1, 4, (char)-1, 4, (char)-1, 4, 0, 3, 1, 2},
-+ { 4, 3, 4, 2, 4, 1, 4, 0, 3, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1},
-+ { 4, 4, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0, (char)-1, (char)-1, (char)-1, (char)-1},
-+ { 4, 3, 4, 2, 4, 1, 4, 0, 3, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1},
-+ { 1, 2, 0, 3, (char)-1, 4, (char)-1, 4, (char)-1, 4, (char)-1, 4, 0, 3, 1, 2},
-+ { (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 3, 0, 4, 1, 4, 2, 4, 3, 4}};
- static char attack_x_offset43[ATTACK_DIR][18] // target size 4x3
--= { { -1, -1, -1, -1, -1, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 4, 4},
-- { -1, 0, -1, 1, -1, 2, -1, 3, -1, 4, 0, 4, 1, 4, 2, 4, 3, 4},
-- { 1, 2, 0, 3, -1, 4, -1, 4, -1, 4, -1, 4, -1, 4, 0, 3, 1, 2},
-- { 4, 3, 4, 2, 4, 1, 4, 0, 4, -1, 3, -1, 2, -1, 1, -1, 0, -1},
-- { 4, 4, 4, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0, -1, -1, -1, -1, -1},
-- { 4, 3, 4, 2, 4, 1, 4, 0, 4, -1, 3, -1, 2, -1, 1, -1, 0, -1},
-- { 1, 2, 0, 3, -1, 4, -1, 4, -1, 4, -1, 4, -1, 4, 0, 3, 1, 2},
-- { -1, 0, -1, 1, -1, 2, -1, 3, -1, 4, 0, 4, 1, 4, 2, 4, 3, 4}};
-+= { { (char)-1, (char)-1, (char)-1, (char)-1, (char)-1, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 4, 4},
-+ { (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 3, (char)-1, 4, 0, 4, 1, 4, 2, 4, 3, 4},
-+ { 1, 2, 0, 3, (char)-1, 4, (char)-1, 4, (char)-1, 4, (char)-1, 4, (char)-1, 4, 0, 3, 1, 2},
-+ { 4, 3, 4, 2, 4, 1, 4, 0, 4, (char)-1, 3, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1},
-+ { 4, 4, 4, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0, (char)-1, (char)-1, (char)-1, (char)-1, (char)-1},
-+ { 4, 3, 4, 2, 4, 1, 4, 0, 4, (char)-1, 3, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1},
-+ { 1, 2, 0, 3, (char)-1, 4, (char)-1, 4, (char)-1, 4, (char)-1, 4, (char)-1, 4, 0, 3, 1, 2},
-+ { (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 3, (char)-1, 4, 0, 4, 1, 4, 2, 4, 3, 4}};
- static char attack_x_offset44[ATTACK_DIR][20] // target size 4x4
--= { { -1, -1, -1, -1, -1, -1, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 4, 4, 4},
-- { -1, 0, -1, 1, -1, 2, -1, 3, -1, 4, -1, 4, 0, 4, 1, 4, 2, 4, 3, 4},
-- { 1, 2, 0, 3, -1, 4, -1, 4, -1, 4, -1, 4, -1, 4, -1, 4, 0, 3, 1, 2},
-- { 4, 4, 3, 4, 2, 4, 1, 4, 0, 4, -1, 3, -1, 2, -1, 1, -1, 0, -1, -1},
-- { 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1},
-- { 4, 3, 4, 2, 4, 1, 4, 0, 4, -1, 4, -1, 3, -1, 2, -1, 1, -1, 0, -1},
-- { 2, 1, 3, 0, 4, -1, 4, -1, 4, -1, 4, -1, 4, -1, 4, -1, 3, 0, 2, 1},
-- { -1, -1, 0, -1, 1, -1, 2, -1, 3, -1, 4, 0, 4, 1, 4, 2, 4, 3, 4, 4}};
-+= { { (char)-1, (char)-1, (char)-1, (char)-1, (char)-1, (char)-1, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 4, 4, 4},
-+ { (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 3, (char)-1, 4, (char)-1, 4, 0, 4, 1, 4, 2, 4, 3, 4},
-+ { 1, 2, 0, 3, (char)-1, 4, (char)-1, 4, (char)-1, 4, (char)-1, 4, (char)-1, 4, (char)-1, 4, 0, 3, 1, 2},
-+ { 4, 4, 3, 4, 2, 4, 1, 4, 0, 4, (char)-1, 3, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1, (char)-1},
-+ { 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0, (char)-1, (char)-1, (char)-1, (char)-1, (char)-1, (char)-1},
-+ { 4, 3, 4, 2, 4, 1, 4, 0, 4, (char)-1, 4, (char)-1, 3, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1},
-+ { 2, 1, 3, 0, 4, (char)-1, 4, (char)-1, 4, (char)-1, 4, (char)-1, 4, (char)-1, 4, (char)-1, 3, 0, 2, 1},
-+ { (char)-1, (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 3, (char)-1, 4, 0, 4, 1, 4, 2, 4, 3, 4, 4}};
-
- static char attack_y_offset11[ATTACK_DIR][8] // target size 1x1
--= { { 0, 1, -1, 1, -1, 1, -1, 0},
-- { 1, 1, 0, 1, -1, 0, -1, -1},
-- { 1, 1, 1, 0, 0, -1, -1, -1},
-- { 1, 0, 1, -1, 1, -1, 0, -1},
-- { 0, -1, 1, -1, 1, -1, 1, 0},
-- { -1, -1, 0, -1, 1, 0, 1, 1},
-- { -1, -1, -1, 0, 0, 1, 1, 1},
-- { -1, 0, -1, 1, -1, 1, 0, 1}};
-+= { { 0, 1, (char)-1, 1, (char)-1, 1, (char)-1, 0},
-+ { 1, 1, 0, 1, (char)-1, 0, (char)-1, (char)-1},
-+ { 1, 1, 1, 0, 0, (char)-1, (char)-1, (char)-1},
-+ { 1, 0, 1, (char)-1, 1, (char)-1, 0, (char)-1},
-+ { 0, (char)-1, 1, (char)-1, 1, (char)-1, 1, 0},
-+ { (char)-1, (char)-1, 0, (char)-1, 1, 0, 1, 1},
-+ { (char)-1, (char)-1, (char)-1, 0, 0, 1, 1, 1},
-+ { (char)-1, 0, (char)-1, 1, (char)-1, 1, 0, 1}};
- static char attack_y_offset12[ATTACK_DIR][10] // target size 1x2
--= { { 0, 1, -1, 2, -1, 2, -1, 2, 0, 1},
-- { 2, 1, 2, 0, 2, -1, 1, -1, 0, -1},
-- { 2, 2, 2, 1, 1, 0, 0, -1, -1, -1},
-- { 2, 1, 2, 0, 2, -1, 1, -1, 0, -1},
-- { 0, 1, -1, 2, -1, 2, -1, 2, 0, 1},
-- { -1, 0, -1, 1, -1, 2, 0, 2, 1, 2},
-- { -1, -1, -1, 0, 0, 1, 1, 2, 2, 2},
-- { -1, 0, -1, 1, -1, 2, 0, 2, 1, 2}};
-+= { { 0, 1, (char)-1, 2, (char)-1, 2, (char)-1, 2, 0, 1},
-+ { 2, 1, 2, 0, 2, (char)-1, 1, (char)-1, 0, (char)-1},
-+ { 2, 2, 2, 1, 1, 0, 0, (char)-1, (char)-1, (char)-1},
-+ { 2, 1, 2, 0, 2, (char)-1, 1, (char)-1, 0, (char)-1},
-+ { 0, 1, (char)-1, 2, (char)-1, 2, (char)-1, 2, 0, 1},
-+ { (char)-1, 0, (char)-1, 1, (char)-1, 2, 0, 2, 1, 2},
-+ { (char)-1, (char)-1, (char)-1, 0, 0, 1, 1, 2, 2, 2},
-+ { (char)-1, 0, (char)-1, 1, (char)-1, 2, 0, 2, 1, 2}};
- static char attack_y_offset13[ATTACK_DIR][12] // target size 1x3
--= { { 1, 2, 0, 3, -1, 3, -1, 3, -1, 2, 0, 1},
-- { 3, 2, 3, 1, 3, 0, 2, -1, 1, -1, 0, -1},
-- { 3, 3, 3, 2, 2, 1, 1, 0, 0, -1, -1, -1},
-- { 3, 2, 3, 1, 3, 0, 2, -1, 1, -1, 0, -1},
-- { 1, 0, 2, -1, 3, -1, 3, -1, 3, 0, 2, 1},
-- { -1, 0, -1, 1, -1, 2, 0, 3, 1, 3, 2, 3},
-- { -1, -1, -1, 0, 0, 1, 1, 2, 2, 3, 3, 3},
-- { -1, 0, -1, 1, -1, 2, 0, 3, 1, 3, 2, 3}};
-+= { { 1, 2, 0, 3, (char)-1, 3, (char)-1, 3, (char)-1, 2, 0, 1},
-+ { 3, 2, 3, 1, 3, 0, 2, (char)-1, 1, (char)-1, 0, (char)-1},
-+ { 3, 3, 3, 2, 2, 1, 1, 0, 0, (char)-1, (char)-1, (char)-1},
-+ { 3, 2, 3, 1, 3, 0, 2, (char)-1, 1, (char)-1, 0, (char)-1},
-+ { 1, 0, 2, (char)-1, 3, (char)-1, 3, (char)-1, 3, 0, 2, 1},
-+ { (char)-1, 0, (char)-1, 1, (char)-1, 2, 0, 3, 1, 3, 2, 3},
-+ { (char)-1, (char)-1, (char)-1, 0, 0, 1, 1, 2, 2, 3, 3, 3},
-+ { (char)-1, 0, (char)-1, 1, (char)-1, 2, 0, 3, 1, 3, 2, 3}};
- static char attack_y_offset14[ATTACK_DIR][14] // target size 1x4
--= { { 1, 2, 0, 3, -1, 4, -1, 4, -1, 4, 0, 3, 1, 2},
-- { 4, 3, 4, 2, 4, 1, 3, 0, 2, -1, 1, -1, 0, -1},
-- { 4, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0, -1, -1, -1},
-- { 4, 3, 4, 2, 4, 1, 3, 0, 2, -1, 1, -1, 0, -1},
-- { 1, 2, 0, 3, -1, 4, -1, 4, -1, 4, 0, 3, 1, 2},
-- { -1, 0, -1, 1, -1, 2, 0, 3, 1, 4, 2, 4, 3, 4},
-- { -1, -1, -1, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 4},
-- { -1, 0, -1, 1, -1, 2, 0, 3, 1, 4, 2, 4, 3, 4}};
-+= { { 1, 2, 0, 3, (char)-1, 4, (char)-1, 4, (char)-1, 4, 0, 3, 1, 2},
-+ { 4, 3, 4, 2, 4, 1, 3, 0, 2, (char)-1, 1, (char)-1, 0, (char)-1},
-+ { 4, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0, (char)-1, (char)-1, (char)-1},
-+ { 4, 3, 4, 2, 4, 1, 3, 0, 2, (char)-1, 1, (char)-1, 0, (char)-1},
-+ { 1, 2, 0, 3, (char)-1, 4, (char)-1, 4, (char)-1, 4, 0, 3, 1, 2},
-+ { (char)-1, 0, (char)-1, 1, (char)-1, 2, 0, 3, 1, 4, 2, 4, 3, 4},
-+ { (char)-1, (char)-1, (char)-1, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 4},
-+ { (char)-1, 0, (char)-1, 1, (char)-1, 2, 0, 3, 1, 4, 2, 4, 3, 4}};
- static char attack_y_offset21[ATTACK_DIR][10] // target size 2x1
--= { { 0, 1, -1, 1, -1, 1, -1, 1, -1, 0},
-- { 1, 1, 0, 1, -1, 1, -1, 0, -1, -1},
-- { 1, 1, 1, 1, 0, 0, -1, -1, -1, -1},
-- { 1, 1, 0, 1, -1, 1, -1, 0, -1, -1},
-- { 0, -1, 1, -1, 1, -1, 1, -1, 1, 0},
-- { -1, -1, 0, -1, 1, -1, 1, 0, 1, 1},
-- { -1, -1, -1, -1, 0, 0, 1, 1, 1, 1},
-- { -1, -1, 0, -1, 1, -1, 1, 0, 1, 1}};
-+= { { 0, 1, (char)-1, 1, (char)-1, 1, (char)-1, 1, (char)-1, 0},
-+ { 1, 1, 0, 1, (char)-1, 1, (char)-1, 0, (char)-1, (char)-1},
-+ { 1, 1, 1, 1, 0, 0, (char)-1, (char)-1, (char)-1, (char)-1},
-+ { 1, 1, 0, 1, (char)-1, 1, (char)-1, 0, (char)-1, (char)-1},
-+ { 0, (char)-1, 1, (char)-1, 1, (char)-1, 1, (char)-1, 1, 0},
-+ { (char)-1, (char)-1, 0, (char)-1, 1, (char)-1, 1, 0, 1, 1},
-+ { (char)-1, (char)-1, (char)-1, (char)-1, 0, 0, 1, 1, 1, 1},
-+ { (char)-1, (char)-1, 0, (char)-1, 1, (char)-1, 1, 0, 1, 1}};
- static char attack_y_offset22[ATTACK_DIR][12] // target size 2x2
--= { { 0, 1, -1, 2, -1, 2, -1, 2, -1, 2, 0, 1},
-- { 2, 2, 1, 2, 0, 2, -1, 1, -1, 0, -1, -1},
-- { 2, 2, 2, 2, 1, 1, 0, 0, -1, -1, -1, -1},
-- { 2, 1, 2, 0, 2, -1, 2, -1, 1, -1, 0, -1},
-- { 1, 0, 2, -1, 2, -1, 2, -1, 2, -1, 1, 0},
-- { -1, -1, 0, -1, 1, -1, 2, 0, 2, 1, 2, 2},
-- { -1, -1, -1, -1, 0, 0, 1, 1, 2, 2, 2, 2},
-- { -1, 0, -1, 1, -1, 2, -1, 2, 0, 2, 1, 2}};
-+= { { 0, 1, (char)-1, 2, (char)-1, 2, (char)-1, 2, (char)-1, 2, 0, 1},
-+ { 2, 2, 1, 2, 0, 2, (char)-1, 1, (char)-1, 0, (char)-1, (char)-1},
-+ { 2, 2, 2, 2, 1, 1, 0, 0, (char)-1, (char)-1, (char)-1, (char)-1},
-+ { 2, 1, 2, 0, 2, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1},
-+ { 1, 0, 2, (char)-1, 2, (char)-1, 2, (char)-1, 2, (char)-1, 1, 0},
-+ { (char)-1, (char)-1, 0, (char)-1, 1, (char)-1, 2, 0, 2, 1, 2, 2},
-+ { (char)-1, (char)-1, (char)-1, (char)-1, 0, 0, 1, 1, 2, 2, 2, 2},
-+ { (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 2, 0, 2, 1, 2}};
- static char attack_y_offset23[ATTACK_DIR][14] // target size 2x3
--= { { 1, 2, 0, 3, -1, 3, -1, 3, -1, 3, -1, 2, 0, 1},
-- { 3, 2, 3, 1, 3, 0, 3, -1, 2, -1, 1, -1, 0, -1},
-- { 3, 3, 3, 3, 2, 2, 1, 1, 0, 0, -1, -1, -1, -1},
-- { 3, 2, 3, 1, 3, 0, 3, -1, 2, -1, 1, -1, 0, -1},
-- { 1, 0, 2, -1, 3, -1, 3, -1, 3, -1, 3, 0, 2, 1},
-- { -1, 0, -1, 1, -1, 2, -1, 3, 0, 3, 1, 3, 2, 3},
-- { -1, -1, -1, -1, 0, 0, 1, 1, 2, 2, 3, 3, 3, 3},
-- { -1, 0, -1, 1, -1, 2, -1, 3, 0, 3, 1, 3, 2, 3}};
-+= { { 1, 2, 0, 3, (char)-1, 3, (char)-1, 3, (char)-1, 3, (char)-1, 2, 0, 1},
-+ { 3, 2, 3, 1, 3, 0, 3, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1},
-+ { 3, 3, 3, 3, 2, 2, 1, 1, 0, 0, (char)-1, (char)-1, (char)-1, (char)-1},
-+ { 3, 2, 3, 1, 3, 0, 3, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1},
-+ { 1, 0, 2, (char)-1, 3, (char)-1, 3, (char)-1, 3, (char)-1, 3, 0, 2, 1},
-+ { (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 3, 0, 3, 1, 3, 2, 3},
-+ { (char)-1, (char)-1, (char)-1, (char)-1, 0, 0, 1, 1, 2, 2, 3, 3, 3, 3},
-+ { (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 3, 0, 3, 1, 3, 2, 3}};
- static char attack_y_offset24[ATTACK_DIR][16] // target size 2x4
--= { { 1, 2, 0, 3, -1, 4, -1, 4, -1, 4, -1, 4, 0, 3, 1, 2},
-- { 4, 3, 4, 2, 4, 1, 4, 0, 3, -1, 2, -1, 1, -1, 0, -1},
-- { 4, 4, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0, -1, -1, -1, -1},
-- { 4, 3, 4, 2, 4, 1, 4, 0, 3, -1, 2, -1, 1, -1, 0, -1},
-- { 1, 2, 0, 3, -1, 4, -1, 4, -1, 4, -1, 4, 0, 3, 1, 2},
-- { -1, 0, -1, 1, -1, 2, -1, 3, 0, 4, 1, 4, 2, 4, 3, 4},
-- { -1, -1, -1, -1, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 4},
-- { -1, 0, -1, 1, -1, 2, -1, 3, 0, 4, 1, 4, 2, 4, 3, 4}};
-+= { { 1, 2, 0, 3, (char)-1, 4, (char)-1, 4, (char)-1, 4, (char)-1, 4, 0, 3, 1, 2},
-+ { 4, 3, 4, 2, 4, 1, 4, 0, 3, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1},
-+ { 4, 4, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0, (char)-1, (char)-1, (char)-1, (char)-1},
-+ { 4, 3, 4, 2, 4, 1, 4, 0, 3, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1},
-+ { 1, 2, 0, 3, (char)-1, 4, (char)-1, 4, (char)-1, 4, (char)-1, 4, 0, 3, 1, 2},
-+ { (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 3, 0, 4, 1, 4, 2, 4, 3, 4},
-+ { (char)-1, (char)-1, (char)-1, (char)-1, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 4},
-+ { (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 3, 0, 4, 1, 4, 2, 4, 3, 4}};
- static char attack_y_offset31[ATTACK_DIR][12] // target size 3x1
--= { { 0, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 0},
-- { 1, 1, 0, 1, -1, 1, -1, 1, -1, 0, -1, -1},
-- { 1, 1, 1, 1, 1, 0, 0, -1, -1, -1, -1, -1},
-- { 1, 1, 0, 1, -1, 1, -1, 1, -1, 0, -1, -1},
-- { 0, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 0},
-- { -1, -1, 0, -1, 1, -1, 1, -1, 1, 0, 1, 1},
-- { -1, -1, -1, -1, -1, 0, 0, 1, 1, 1, 1, 1},
-- { -1, -1, 0, -1, 1, -1, 1, -1, 1, 0, 1, 1}};
-+= { { 0, 1, (char)-1, 1, (char)-1, 1, (char)-1, 1, (char)-1, 1, (char)-1, 0},
-+ { 1, 1, 0, 1, (char)-1, 1, (char)-1, 1, (char)-1, 0, (char)-1, (char)-1},
-+ { 1, 1, 1, 1, 1, 0, 0, (char)-1, (char)-1, (char)-1, (char)-1, (char)-1},
-+ { 1, 1, 0, 1, (char)-1, 1, (char)-1, 1, (char)-1, 0, (char)-1, (char)-1},
-+ { 0, (char)-1, 1, (char)-1, 1, (char)-1, 1, (char)-1, 1, (char)-1, 1, 0},
-+ { (char)-1, (char)-1, 0, (char)-1, 1, (char)-1, 1, (char)-1, 1, 0, 1, 1},
-+ { (char)-1, (char)-1, (char)-1, (char)-1, (char)-1, 0, 0, 1, 1, 1, 1, 1},
-+ { (char)-1, (char)-1, 0, (char)-1, 1, (char)-1, 1, (char)-1, 1, 0, 1, 1}};
- static char attack_y_offset32[ATTACK_DIR][14] // target size 3x2
--= { { 0, 1, -1, 2, -1, 2, -1, 2, -1, 2, -1, 2, 0, 1},
-- { 2, 2, 1, 2, 0, 2, -1, 2, -1, 1, -1, 0, -1, -1},
-- { 2, 2, 2, 2, 2, 1, 1, 0, 0, -1, -1, -1, -1, -1},
-- { 2, 2, 1, 2, 0, 2, -1, 2, -1, 1, -1, 0, -1, -1},
-- { 0, 1, -1, 2, -1, 2, -1, 2, -1, 2, -1, 2, 0, 1},
-- { -1, -1, 0, -1, 1, -1, 2, -1, 2, 0, 2, 1, 2, 2},
-- { -1, -1, -1, -1, -1, 0, 0, 1, 1, 2, 2, 2, 2, 2},
-- { -1, -1, 0, -1, 1, -1, 2, -1, 2, 0, 2, 1, 2, 2}};
-+= { { 0, 1, (char)-1, 2, (char)-1, 2, (char)-1, 2, (char)-1, 2, (char)-1, 2, 0, 1},
-+ { 2, 2, 1, 2, 0, 2, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1, (char)-1},
-+ { 2, 2, 2, 2, 2, 1, 1, 0, 0, (char)-1, (char)-1, (char)-1, (char)-1, (char)-1},
-+ { 2, 2, 1, 2, 0, 2, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1, (char)-1},
-+ { 0, 1, (char)-1, 2, (char)-1, 2, (char)-1, 2, (char)-1, 2, (char)-1, 2, 0, 1},
-+ { (char)-1, (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 2, 0, 2, 1, 2, 2},
-+ { (char)-1, (char)-1, (char)-1, (char)-1, (char)-1, 0, 0, 1, 1, 2, 2, 2, 2, 2},
-+ { (char)-1, (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 2, 0, 2, 1, 2, 2}};
- static char attack_y_offset33[ATTACK_DIR][16] // target size 3x3
--= { { 1, 2, 0, 3, -1, 3, -1, 3, -1, 3, -1, 3, -1, 2, 0, 1},
-- { 3, 3, 2, 3, 1, 3, 0, 3, -1, 2, -1, 1, -1, 0, -1, -1},
-- { 3, 3, 3, 3, 3, 2, 2, 1, 1, 0, 0, -1, -1, -1, -1, -1},
-- { 3, 2, 3, 1, 3, 0, 3, -1, 3, -1, 2, -1, 1, -1, 0, -1},
-- { 1, 0, 2, -1, 3, -1, 3, -1, 3, -1, 3, -1, 3, 0, 2, 1},
-- { -1, -1, 0, -1, 1, -1, 2, -1, 3, 0, 3, 1, 3, 2, 3, 3},
-- { -1, -1, -1, -1, -1, 0, 0, 1, 1, 2, 2, 3, 3, 3, 3, 3},
-- { -1, 0, -1, 1, -1, 2, -1, 3, -1, 3, 0, 3, 1, 3, 2, 3}};
-+= { { 1, 2, 0, 3, (char)-1, 3, (char)-1, 3, (char)-1, 3, (char)-1, 3, (char)-1, 2, 0, 1},
-+ { 3, 3, 2, 3, 1, 3, 0, 3, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1, (char)-1},
-+ { 3, 3, 3, 3, 3, 2, 2, 1, 1, 0, 0, (char)-1, (char)-1, (char)-1, (char)-1, (char)-1},
-+ { 3, 2, 3, 1, 3, 0, 3, (char)-1, 3, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1},
-+ { 1, 0, 2, (char)-1, 3, (char)-1, 3, (char)-1, 3, (char)-1, 3, (char)-1, 3, 0, 2, 1},
-+ { (char)-1, (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 3, 0, 3, 1, 3, 2, 3, 3},
-+ { (char)-1, (char)-1, (char)-1, (char)-1, (char)-1, 0, 0, 1, 1, 2, 2, 3, 3, 3, 3, 3},
-+ { (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 3, (char)-1, 3, 0, 3, 1, 3, 2, 3}};
- static char attack_y_offset34[ATTACK_DIR][18] // target size 3x4
--= { { 1, 2, 0, 3, -1, 4, -1, 4, -1, 4, -1, 4, -1, 4, 0, 3, 1, 2},
-- { 4, 3, 4, 2, 4, 1, 4, 0, 4, -1, 3, -1, 2, -1, 1, -1, 0, -1},
-- { 4, 4, 4, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0, -1, -1, -1, -1, -1},
-- { 4, 3, 4, 2, 4, 1, 4, 0, 4, -1, 3, -1, 2, -1, 1, -1, 0, -1},
-- { 1, 2, 0, 3, -1, 4, -1, 4, -1, 4, -1, 4, -1, 4, 0, 3, 1, 2},
-- { -1, 0, -1, 1, -1, 2, -1, 3, -1, 4, 0, 4, 1, 4, 2, 4, 3, 4},
-- { -1, -1, -1, -1, -1, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 4, 4},
-- { -1, 0, -1, 1, -1, 2, -1, 3, -1, 4, 0, 4, 1, 4, 2, 4, 3, 4}};
-+= { { 1, 2, 0, 3, (char)-1, 4, (char)-1, 4, (char)-1, 4, (char)-1, 4, (char)-1, 4, 0, 3, 1, 2},
-+ { 4, 3, 4, 2, 4, 1, 4, 0, 4, (char)-1, 3, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1},
-+ { 4, 4, 4, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0, (char)-1, (char)-1, (char)-1, (char)-1, (char)-1},
-+ { 4, 3, 4, 2, 4, 1, 4, 0, 4, (char)-1, 3, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1},
-+ { 1, 2, 0, 3, (char)-1, 4, (char)-1, 4, (char)-1, 4, (char)-1, 4, (char)-1, 4, 0, 3, 1, 2},
-+ { (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 3, (char)-1, 4, 0, 4, 1, 4, 2, 4, 3, 4},
-+ { (char)-1, (char)-1, (char)-1, (char)-1, (char)-1, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 4, 4},
-+ { (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 3, (char)-1, 4, 0, 4, 1, 4, 2, 4, 3, 4}};
- static char attack_y_offset41[ATTACK_DIR][14] // target size 4x1
--= { { 0, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 0},
-- { 1, 1, 0, 1, -1, 1, -1, 1, -1, 1, -1, 0, -1, -1},
-- { 1, 1, 1, 1, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1},
-- { 1, 1, 0, 1, -1, 1, -1, 1, -1, 1, -1, 0, -1, -1},
-- { 0, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 0},
-- { -1, -1, 0, -1, 1, -1, 1, -1, 1, -1, 1, 0, 1, -1},
-- { -1, -1, -1, -1, -1, -1, 0, 0, 1, 1, 1, 1, 1, 1},
-- { -1, -1, 0, -1, 1, -1, 1, -1, 1, -1, 1, 0, 1, 1}};
-+= { { 0, 1, (char)-1, 1, (char)-1, 1, (char)-1, 1, (char)-1, 1, (char)-1, 1, (char)-1, 0},
-+ { 1, 1, 0, 1, (char)-1, 1, (char)-1, 1, (char)-1, 1, (char)-1, 0, (char)-1, (char)-1},
-+ { 1, 1, 1, 1, 1, 1, 0, 0, (char)-1, (char)-1, (char)-1, (char)-1, (char)-1, (char)-1},
-+ { 1, 1, 0, 1, (char)-1, 1, (char)-1, 1, (char)-1, 1, (char)-1, 0, (char)-1, (char)-1},
-+ { 0, (char)-1, 1, (char)-1, 1, (char)-1, 1, (char)-1, 1, (char)-1, 1, (char)-1, 1, 0},
-+ { (char)-1, (char)-1, 0, (char)-1, 1, (char)-1, 1, (char)-1, 1, (char)-1, 1, 0, 1, (char)-1},
-+ { (char)-1, (char)-1, (char)-1, (char)-1, (char)-1, (char)-1, 0, 0, 1, 1, 1, 1, 1, 1},
-+ { (char)-1, (char)-1, 0, (char)-1, 1, (char)-1, 1, (char)-1, 1, (char)-1, 1, 0, 1, 1}};
- static char attack_y_offset42[ATTACK_DIR][16] // target size 4x2
--= { { 0, 1, -1, 2, -1, 2, -1, 2, -1, 2, -1, 2, -1, 2, 0, 1},
-- { 2, 2, 1, 2, 0, 2, -1, 2, -1, 2, -1, 1, -1, 0, -1, -1},
-- { 2, 2, 2, 2, 2, 2, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1},
-- { 2, 2, 1, 2, 0, 2, -1, 2, -1, 2, -1, 1, -1, 0, -1, -1},
-- { 0, 1, -1, 2, -1, 2, -1, 2, -1, 2, -1, 2, -1, 2, 0, 1},
-- { -1, -1, 0, -1, 1, -1, 2, -1, 2, -1, 2, 0, 2, 1, 2, 2},
-- { -1, -1, -1, -1, -1, -1, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2},
-- { -1, -1, 0, -1, 1, -1, 2, -1, 2, -1, 2, 0, 2, 1, 2, 2}};
-+= { { 0, 1, (char)-1, 2, (char)-1, 2, (char)-1, 2, (char)-1, 2, (char)-1, 2, (char)-1, 2, 0, 1},
-+ { 2, 2, 1, 2, 0, 2, (char)-1, 2, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1, (char)-1},
-+ { 2, 2, 2, 2, 2, 2, 1, 1, 0, 0, (char)-1, (char)-1, (char)-1, (char)-1, (char)-1, (char)-1},
-+ { 2, 2, 1, 2, 0, 2, (char)-1, 2, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1, (char)-1},
-+ { 0, 1, (char)-1, 2, (char)-1, 2, (char)-1, 2, (char)-1, 2, (char)-1, 2, (char)-1, 2, 0, 1},
-+ { (char)-1, (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 2, (char)-1, 2, 0, 2, 1, 2, 2},
-+ { (char)-1, (char)-1, (char)-1, (char)-1, (char)-1, (char)-1, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2},
-+ { (char)-1, (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 2, (char)-1, 2, 0, 2, 1, 2, 2}};
- static char attack_y_offset43[ATTACK_DIR][18] // target size 4x3
--= { { 1, 2, 0, 3, -1, 3, -1, 3, -1, 3, -1, 3, -1, 3, -1, 2, 0, 1},
-- { 3, 3, 2, 3, 1, 3, 0, 3, -1, 3, -1, 2, -1, 1, -1, 0, -1, -1},
-- { 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1},
-- { 3, 3, 2, 3, 1, 3, 0, 3, -1, 3, -1, 2, -1, 1, -1, 0, -1, -1},
-- { 1, 0, 2, -1, 3, -1, 3, -1, 3, -1, 3, -1, 3, -1, 3, 0, 2, 1},
-- { -1, -1, 0, -1, 1, -1, 2, -1, 3, -1, 3, 0, 3, 1, 3, 2, 3, 3},
-- { -1, -1, -1, -1, -1, -1, 0, 0, 1, 1, 2, 2, 3, 3, 3, 3, 3, 3},
-- { -1, -1, 0, -1, 1, -1, 2, -1, 3, -1, 3, 0, 3, 1, 3, 2, 3, 3}};
-+= { { 1, 2, 0, 3, (char)-1, 3, (char)-1, 3, (char)-1, 3, (char)-1, 3, (char)-1, 3, (char)-1, 2, 0, 1},
-+ { 3, 3, 2, 3, 1, 3, 0, 3, (char)-1, 3, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1, (char)-1},
-+ { 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 0, 0, (char)-1, (char)-1, (char)-1, (char)-1, (char)-1, (char)-1},
-+ { 3, 3, 2, 3, 1, 3, 0, 3, (char)-1, 3, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1, (char)-1},
-+ { 1, 0, 2, (char)-1, 3, (char)-1, 3, (char)-1, 3, (char)-1, 3, (char)-1, 3, (char)-1, 3, 0, 2, 1},
-+ { (char)-1, (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 3, (char)-1, 3, 0, 3, 1, 3, 2, 3, 3},
-+ { (char)-1, (char)-1, (char)-1, (char)-1, (char)-1, (char)-1, 0, 0, 1, 1, 2, 2, 3, 3, 3, 3, 3, 3},
-+ { (char)-1, (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 3, (char)-1, 3, 0, 3, 1, 3, 2, 3, 3}};
- static char attack_y_offset44[ATTACK_DIR][20] // target size 4x4
--= { { 1, 2, 0, 3, -1, 4, -1, 4, -1, 4, -1, 4, -1, 4, -1, 4, 0, 3, 1, 2},
-- { 4, 4, 3, 4, 2, 4, 1, 4, 0, 4, -1, 3, -1, 2, -1, 1, -1, 0, -1, -1},
-- { 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1},
-- { 4, 3, 4, 2, 4, 1, 4, 0, 4, -1, 4, -1, 3, -1, 2, -1, 1, -1, 0, -1},
-- { 2, 1, 3, 0, 4, -1, 4, -1, 4, -1, 4, -1, 4, -1, 4, -1, 3, 0, 2, 1},
-- { -1, -1, 0, -1, 1, -1, 2, -1, 3, -1, 4, 0, 4, 1, 4, 2, 4, 3, 4, 4},
-- { -1, -1, -1, -1, -1, -1, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 4, 4, 4},
-- { -1, 0, -1, 1, -1, 2, -1, 3, -1, 4, -1, 4, 0, 4, 1, 4, 2, 4, 3, 4}};
-+= { { 1, 2, 0, 3, (char)-1, 4, (char)-1, 4, (char)-1, 4, (char)-1, 4, (char)-1, 4, (char)-1, 4, 0, 3, 1, 2},
-+ { 4, 4, 3, 4, 2, 4, 1, 4, 0, 4, (char)-1, 3, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1, (char)-1},
-+ { 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0, (char)-1, (char)-1, (char)-1, (char)-1, (char)-1, (char)-1},
-+ { 4, 3, 4, 2, 4, 1, 4, 0, 4, (char)-1, 4, (char)-1, 3, (char)-1, 2, (char)-1, 1, (char)-1, 0, (char)-1},
-+ { 2, 1, 3, 0, 4, (char)-1, 4, (char)-1, 4, (char)-1, 4, (char)-1, 4, (char)-1, 4, (char)-1, 3, 0, 2, 1},
-+ { (char)-1, (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 3, (char)-1, 4, 0, 4, 1, 4, 2, 4, 3, 4, 4},
-+ { (char)-1, (char)-1, (char)-1, (char)-1, (char)-1, (char)-1, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 4, 4, 4},
-+ { (char)-1, 0, (char)-1, 1, (char)-1, 2, (char)-1, 3, (char)-1, 4, (char)-1, 4, 0, 4, 1, 4, 2, 4, 3, 4}};
-
- //--------- Begin of function UnitArray::get_target_x_offset ---------//
- // return x offset
-Index: a/src/OU_MARI.cpp
-===================================================================
---- a/src/OU_MARI.cpp
-+++ b/src/OU_MARI.cpp
-@@ -552,7 +552,7 @@ int UnitMarine::is_on_coast()
- //--------- Begin of function UnitMarine::extra_move ---------//
- void UnitMarine::extra_move()
- {
-- static char offset[3] = {0, 1, -1};
-+ static char offset[3] = {0, 1, (char)-1};
-
- int curXLoc = next_x_loc();
- int curYLoc = next_y_loc();
-@@ -619,8 +619,8 @@ void UnitMarine::extra_move()
-
- void UnitMarine::process_extra_move()
- {
-- static short vector_x_array[] = { 0, 1, 1, 1, 0, -1, -1, -1}; // default vectors, temporary only
-- static short vector_y_array[] = {-1, -1, 0, 1, 1, 1, 0, -1};
-+ static short vector_x_array[] = { 0, 1, 1, 1, 0, (char)-1, (char)-1, (char)-1}; // default vectors, temporary only
-+ static short vector_y_array[] = {(char)-1, (char)-1, 0, 1, 1, 1, 0, (char)-1};
-
- if(!match_dir()) // process turning
- return;