code
//Extend-only mod: negative script number sets extend
if(enemy->Attributes[11] < 0 ){
enemy->Extend = 3;
enemy->TileWidth = 2; //If Attrib 12 is negative, tile width/height is 2x2
enemy->TileHeight = 2;
enemy->HitWidth = enemy->Attributes[10]*-1; //Negative attrib 11 = width in pixels
enemy->HitHeight = enemy->Attributes[11]*-1; //Negative attrib 11 = height in pixels
if(enemy->HitWidth == 0 )
enemy->DrawXOffset = 15;
if(enemy->HitWidth == 1 )
enemy->DrawXOffset = 15;
if(enemy->HitWidth == 2 )
enemy->DrawXOffset = 15;
if(enemy->HitWidth == 3 )
enemy->DrawXOffset = 14;
if(enemy->HitWidth == 4 )
enemy->DrawXOffset = 14;
if(enemy->HitWidth == 5 )
enemy->DrawXOffset = 13;
if(enemy->HitWidth == 6 )
enemy->DrawXOffset = 13;
if(enemy->HitWidth == 7 )
enemy->DrawXOffset = 12;
if(enemy->HitWidth == 8 )
enemy->DrawXOffset = 12;
if(enemy->HitWidth == 9 )
enemy->DrawXOffset = 11;
if(enemy->HitWidth == 10 )
enemy->DrawXOffset = 11;
if(enemy->HitWidth == 11 )
enemy->DrawXOffset = 10;
if(enemy->HitWidth == 12 )
enemy->DrawXOffset = 10;
if(enemy->HitWidth == 13 )
enemy->DrawXOffset = 9;
if(enemy->HitWidth == 14 )
enemy->DrawXOffset = 9;
if(enemy->HitWidth == 15 )
enemy->DrawXOffset = 8;
if(enemy->HitWidth == 16 )
enemy->DrawXOffset = 8;
if(enemy->HitWidth == 17 )
enemy->DrawXOffset = 7;
if(enemy->HitWidth == 18 )
enemy->DrawXOffset = 7;
if(enemy->HitWidth == 19 )
enemy->DrawXOffset = 6;
if(enemy->HitWidth == 20 )
enemy->DrawXOffset = 6;
if(enemy->HitWidth == 21 )
enemy->DrawXOffset = 5;
if(enemy->HitWidth == 22 )
enemy->DrawXOffset = 5;
if(enemy->HitWidth == 23 )
enemy->DrawXOffset = 4;
if(enemy->HitWidth == 24 )
enemy->DrawXOffset = 4;
if(enemy->HitWidth == 25 )
enemy->DrawXOffset = 3;
if(enemy->HitWidth == 26 )
enemy->DrawXOffset = 3;
if(enemy->HitWidth == 27 )
enemy->DrawXOffset = 2;
if(enemy->HitWidth == 28 )
enemy->DrawXOffset = 2;
if(enemy->HitWidth == 29 )
enemy->DrawXOffset = 1;
if(enemy->HitWidth == 30 )
enemy->DrawXOffset = 1;
if(enemy->HitWidth == 31 )
enemy->DrawXOffset = 0;
if(enemy->HitWidth == 32 )
enemy->DrawXOffset = 0;
if(enemy->HitHeight == 0 )
enemy->DrawYOffset = 15;
if(enemy->HitHeight == 1 )
enemy->DrawYOffset = 15;
if(enemy->HitHeight == 2 )
enemy->DrawYOffset = 15;
if(enemy->HitHeight == 3 )
enemy->DrawYOffset = 14;
if(enemy->HitHeight == 4 )
enemy->DrawYOffset = 14;
if(enemy->HitHeight == 5 )
enemy->DrawYOffset = 13;
if(enemy->HitHeight == 6 )
enemy->DrawYOffset = 13;
if(enemy->HitHeight == 7 )
enemy->DrawYOffset = 12;
if(enemy->HitHeight == 8 )
enemy->DrawYOffset = 12;
if(enemy->HitHeight == 9 )
enemy->DrawYOffset = 11;
if(enemy->HitHeight == 10 )
enemy->DrawYOffset = 11;
if(enemy->HitHeight == 11 )
enemy->DrawYOffset = 10;
if(enemy->HitHeight == 12 )
enemy->DrawYOffset = 10;
if(enemy->HitHeight == 13 )
enemy->DrawYOffset = 9;
if(enemy->HitHeight == 14 )
enemy->DrawYOffset = 9;
if(enemy->HitHeight == 15 )
enemy->DrawYOffset = 8;
if(enemy->HitHeight == 16 )
enemy->DrawYOffset = 8;
if(enemy->HitHeight == 17 )
enemy->DrawYOffset = 7;
if(enemy->HitHeight == 18 )
enemy->DrawYOffset = 7;
if(enemy->HitHeight == 19 )
enemy->DrawYOffset = 6;
if(enemy->HitHeight == 20 )
enemy->DrawYOffset = 6;
if(enemy->HitHeight == 21 )
enemy->DrawYOffset = 5;
if(enemy->HitHeight == 22 )
enemy->DrawYOffset = 5;
if(enemy->HitHeight == 23 )
enemy->DrawYOffset = 4;
if(enemy->HitHeight == 24 )
enemy->DrawYOffset = 4;
if(enemy->HitHeight == 25 )
enemy->DrawYOffset = 3;
if(enemy->HitHeight == 26 )
enemy->DrawYOffset = 3;
if(enemy->HitHeight == 27 )
enemy->DrawYOffset = 2;
if(enemy->HitHeight == 28 )
enemy->DrawYOffset = 2;
if(enemy->HitHeight == 29 )
enemy->DrawYOffset = 1;
if(enemy->HitHeight == 30 )
enemy->DrawYOffset = 1;
if(enemy->HitHeight == 31 )
enemy->DrawYOffset = 0;
if(enemy->HitHeight == 32 )
enemy->DrawYOffset = 0;
enemy->Misc[__GHI_IN_USE] = 1;
continue;
}
CODE
//Extend-only mod: negative script number sets extend
if(enemy->Attributes[11] < 0 ){
enemy->Extend = 3;
enemy->TileWidth = 2; //If Attrib 12 is negative, tile width/height is 2x2
enemy->TileHeight = 2;
enemy->HitWidth = enemy->Attributes[10]*-1; //Negative attrib 11 = width in pixels
enemy->HitHeight = enemy->Attributes[11]*-1; //Negative attrib 11 = height in pixels
if(enemy->HitWidth == 0 )
enemy->DrawXOffset = 15;
if(enemy->HitWidth == 1 )
enemy->DrawXOffset = 15;
if(enemy->HitWidth == 2 )
enemy->DrawXOffset = 15;
if(enemy->HitWidth == 3 )
enemy->DrawXOffset = 14;
if(enemy->HitWidth == 4 )
enemy->DrawXOffset = 14;
if(enemy->HitWidth == 5 )
enemy->DrawXOffset = 13;
if(enemy->HitWidth == 6 )
enemy->DrawXOffset = 13;
if(enemy->HitWidth == 7 )
enemy->DrawXOffset = 12;
if(enemy->HitWidth == 8 )
enemy->DrawXOffset = 12;
if(enemy->HitWidth == 9 )
enemy->DrawXOffset = 11;
if(enemy->HitWidth == 10 )
enemy->DrawXOffset = 11;
if(enemy->HitWidth == 11 )
enemy->DrawXOffset = 10;
if(enemy->HitWidth == 12 )
enemy->DrawXOffset = 10;
if(enemy->HitWidth == 13 )
enemy->DrawXOffset = 9;
if(enemy->HitWidth == 14 )
enemy->DrawXOffset = 9;
if(enemy->HitWidth == 15 )
enemy->DrawXOffset = 8;
if(enemy->HitWidth == 16 )
enemy->DrawXOffset = 8;
if(enemy->HitWidth == 17 )
enemy->DrawXOffset = 7;
if(enemy->HitWidth == 18 )
enemy->DrawXOffset = 7;
if(enemy->HitWidth == 19 )
enemy->DrawXOffset = 6;
if(enemy->HitWidth == 20 )
enemy->DrawXOffset = 6;
if(enemy->HitWidth == 21 )
enemy->DrawXOffset = 5;
if(enemy->HitWidth == 22 )
enemy->DrawXOffset = 5;
if(enemy->HitWidth == 23 )
enemy->DrawXOffset = 4;
if(enemy->HitWidth == 24 )
enemy->DrawXOffset = 4;
if(enemy->HitWidth == 25 )
enemy->DrawXOffset = 3;
if(enemy->HitWidth == 26 )
enemy->DrawXOffset = 3;
if(enemy->HitWidth == 27 )
enemy->DrawXOffset = 2;
if(enemy->HitWidth == 28 )
enemy->DrawXOffset = 2;
if(enemy->HitWidth == 29 )
enemy->DrawXOffset = 1;
if(enemy->HitWidth == 30 )
enemy->DrawXOffset = 1;
if(enemy->HitWidth == 31 )
enemy->DrawXOffset = 0;
if(enemy->HitWidth == 32 )
enemy->DrawXOffset = 0;
if(enemy->HitHeight == 0 )
enemy->DrawYOffset = 15;
if(enemy->HitHeight == 1 )
enemy->DrawYOffset = 15;
if(enemy->HitHeight == 2 )
enemy->DrawYOffset = 15;
if(enemy->HitHeight == 3 )
enemy->DrawYOffset = 14;
if(enemy->HitHeight == 4 )
enemy->DrawYOffset = 14;
if(enemy->HitHeight == 5 )
enemy->DrawYOffset = 13;
if(enemy->HitHeight == 6 )
enemy->DrawYOffset = 13;
if(enemy->HitHeight == 7 )
enemy->DrawYOffset = 12;
if(enemy->HitHeight == 8 )
enemy->DrawYOffset = 12;
if(enemy->HitHeight == 9 )
enemy->DrawYOffset = 11;
if(enemy->HitHeight == 10 )
enemy->DrawYOffset = 11;
if(enemy->HitHeight == 11 )
enemy->DrawYOffset = 10;
if(enemy->HitHeight == 12 )
enemy->DrawYOffset = 10;
if(enemy->HitHeight == 13 )
enemy->DrawYOffset = 9;
if(enemy->HitHeight == 14 )
enemy->DrawYOffset = 9;
if(enemy->HitHeight == 15 )
enemy->DrawYOffset = 8;
if(enemy->HitHeight == 16 )
enemy->DrawYOffset = 8;
if(enemy->HitHeight == 17 )
enemy->DrawYOffset = 7;
if(enemy->HitHeight == 18 )
enemy->DrawYOffset = 7;
if(enemy->HitHeight == 19 )
enemy->DrawYOffset = 6;
if(enemy->HitHeight == 20 )
enemy->DrawYOffset = 6;
if(enemy->HitHeight == 21 )
enemy->DrawYOffset = 5;
if(enemy->HitHeight == 22 )
enemy->DrawYOffset = 5;
if(enemy->HitHeight == 23 )
enemy->DrawYOffset = 4;
if(enemy->HitHeight == 24 )
enemy->DrawYOffset = 4;
if(enemy->HitHeight == 25 )
enemy->DrawYOffset = 3;
if(enemy->HitHeight == 26 )
enemy->DrawYOffset = 3;
if(enemy->HitHeight == 27 )
enemy->DrawYOffset = 2;
if(enemy->HitHeight == 28 )
enemy->DrawYOffset = 2;
if(enemy->HitHeight == 29 )
enemy->DrawYOffset = 1;
if(enemy->HitHeight == 30 )
enemy->DrawYOffset = 1;
if(enemy->HitHeight == 31 )
enemy->DrawYOffset = 0;
if(enemy->HitHeight == 32 )
enemy->DrawYOffset = 0;
enemy->Misc[__GHI_IN_USE] = 1;
continue;
}
And I put "-8" in for BOTH Misc. Attr. 11 and Misc. Attr. 12.
Now it SHOULD have made an 8x8 pixel hitbox in the center of the 2x2 area, but INSTEAD
it made an 8x8 pixel hitbox that originates in the top left corner of the 2x2 area, extending 8 UP and 8 LEFT.
So now the hitbox is not even on top of the enemy. Any idea what went wrong?
Edited by Cukeman, 14 July 2012 - 06:37 PM.

