From 9b1cbbf920ed4d2b095cd8f982ed844f08580d23 Mon Sep 17 00:00:00 2001 From: jubalh <> Date: May 02 2022 14:40:11 +0000 Subject: Update 7kaa to version 2.15.5 / rev 10 via SR 974335 https://build.opensuse.org/request/show/974335 by user jubalh + dimstar_suse --- diff --git a/.files b/.files index 6001a57..b6bb1f0 100644 Binary files a/.files and b/.files differ diff --git a/.rev b/.rev index 1ca94b7..c9a61dc 100644 --- a/.rev +++ b/.rev @@ -104,4 +104,12 @@ Mon Sep 29 21:54:09 UTC 2014 - nemysis@gmx.ch 889360 + + 2af182562fde865722d406ed16b660ab + 2.15.5 + + dimstar_suse + + 974335 + 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-2.15.5.tar.xz b/7kaa-2.15.5.tar.xz new file mode 120000 index 0000000..8d2393c --- /dev/null +++ b/7kaa-2.15.5.tar.xz @@ -0,0 +1 @@ +/ipfs/bafybeiei6u6qxsyzabxxoxs3g4mjk3qo2g6lnp3cz3btihzbbaji2vc55y \ 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 index 5f4037b..bdd53b5 100644 --- a/7kaa.changes +++ b/7kaa.changes @@ -1,4 +1,40 @@ ------------------------------------------------------------------- +Sun May 1 10:18:31 UTC 2022 - Ferdinand Thiessen + +- Update to 2.15.5 + * Added Esperanto translation + * Added a credits screen + * Added support for copying trade routes for trade ships + * Added a copy trade route button when hovering the mouse over + units in the trade report + * Added a request builder button when a building is selected + * Improved stability of starting a multiplayer game + * Improved AI's handling of combat mission at sea + * Improved formatting of the game manual + * Improved idle-attack detection when there are many units in the game + * Improved the AI's ability to send help to an ally + * Improved Fryhtan AI to help an Ordo under attack + * Reduced load of crc checking in multiplayer + * Reset powered attack type when line-of-sight is broken + * Do not cycle powered attack when the target moves, + correcting the usage behavior of Egyptian fire arrows + * More trade report improvements + * Set the default for mobilizing civilians to non-aggressive mode + to prevent inadvertently sending them to their death + * Corrected building linkage when buildings are densely placed + * Corrected AI related bugs + * Fixed wrongly applied leadership gain when the leader was not in range + * Fixed more crashes + * Fixed UI regression in setting auto taxing + * Fixed incorrect pathing when unit is in a building or on a ship + * Fixed crashes related to bullets + * Fixed spy vision of a spy on a ship + * Fixed spy vision of a spy assigned to building for construction or repair +- Drop upstream resolved patches + * gcc6_char_cast.patch + * 7kaa-no-return-in-nonvoid-function.patch + +------------------------------------------------------------------- Tue Apr 27 22:55:46 UTC 2021 - Ferdinand Thiessen - Fixed music version requirement (align with music package) diff --git a/7kaa.spec b/7kaa.spec index 43bab3c..9c35b96 100644 --- a/7kaa.spec +++ b/7kaa.spec @@ -1,7 +1,7 @@ # # spec file for package 7kaa # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ %define base_version 2.15 Name: 7kaa -Version: %{base_version}.4p1 +Version: %{base_version}.5 Release: 0 Summary: Seven Kingdoms: Ancient Adversaries License: GPL-2.0-only @@ -27,10 +27,6 @@ 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++ @@ -60,8 +56,6 @@ the GPL v2. %prep %setup -q -%patch0 -p1 -%patch1 -p1 %build export CXXFLAGS="%{optflags} -fno-strict-aliasing" 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;