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;