All pastes #910864 Raw Edit

Unnamed

public text v1 · immutable
·published 2008-02-20 07:46 UTC
rendered paste body
function fship::breakDir(%reg,%speed)
{
	echo("FSHIP BREAK DIR");

	%az = free::getShipData(%reg,"az",4);
	%axy = free::getShipData(%reg,"axy",4);
	echo("AZ " @ %az);
	echo("AXY " @ %axy);
	
	%x = 0;
	if (%axy == 0 || %axy == 360) { %x = 0; }
	if (%axy > 0 && %axy < 90) { %x = %axy / 90; %x = %x * 100; }
	if (%axy == 90) { %x = 100; }
	if (%axy > 90 && %axy < 180) { %n = %axy - 90; %n = 90 - %n; %n = %n / 90; %x = %n * 100; }
	if (%axy == 180) { %x = 0; }
	if (%axy > 180 && %axy < 270) { %n = %axy - 180; %n = %n / 90; %x = %n * 100; }
	if (%axy == 270) { %x = 100; }
	if (%axy > 270 && %axy < 360) { %n = %axy - 270; %n = 90 - %n; %n = %n / 90; %x = %n * 100; }
	
	%y = 0;
	if (%axy == 0 || %axy == 360) { %y = 100; }
	if (%axy > 0 && %axy < 90) { %n = 90 - %axy; %n = %n / 90; %y = %n * 100; }
	if (%axy == 90) { %y = 0; }
	if (%axy > 90 && %axy < 180) { %n = %axy - 90; %n = %n / 90; %y = %n * 100; }
	if (%axy == 180) { %y = 100; }
	if (%axy > 180 && %axy < 270) { %n = %axy - 180; %n = 90 - %n; %n = %n / 90; %y = %n * 100; }
	if (%axy == 270) { %y = 0; }
	if (%axy > 270 && %axy < 360) { %n = %axy - 270; %n = 90 - %n; %n = %n / 90; %y = %n * 100; }

	%z = 0;
	if (%az == 0) { %z = 0; }
	if (%az < 0 && %az > -90) { %n = 90 + %az; %n = -90 + %n; %n = fstring::negtopos(%n); %n = %n / 90; %z = %n * 100; }
	if (%az == -90) { %z = 100; %y = 0; %x = 0; }
	if (%az > 0 && %az < 90) { %n = %az / 90; %z = %n * 100; }
	if (%az == 90) { %z = 100; %y = 0; %x = 0; }
	echo("ZM " @ %zm);

	%zm = 0; %xm = 0; %ym = 0;
	%x = %x / 100; %xm = %speed * %x; if (%axy >= 0 && %axy <= 180) { %xm = %xm; } 
	else { %xm = fstring::postoneg(%xm); }
	%y = %y / 100; %ym = %speed * %y; if (%axy >= 90 && %axy <= 270) { %ym = fstring::postoneg(%ym); } 
	else { %ym = %ym; }
	%z = %z / 100; %zm = %speed * %z; if (%az <= 0) { %zm = fstring::postoneg(%zm); } 
	else { %zm = %zm; }
	
	%z = %z * 100;
	echo("Z IS " @ %z);
	%xsub = 100 - %z; %xsub = %xsub / 100; echo("XM " @ %xm); echo("XSUB " @ %xsub); %xm = %xm * %xsub;
	%ysub = 100 - %z; %ysub = %ysub / 100; %ym = %ym * %ysub;

	return %xm @ " " @ %ym @ " " @ %zm;
}