haha, i was over-complicating this in my mind way more than i needed to
if anyone cares this is the function i'm using to do it lol
function rotateVector(%vector, %axis, %val)
{
switch(%val)
{
case 1:
%nX = getWord(%axis, 0) + (getWord(%vector, 1) - getWord(%axis, 1));
%nY = getWord(%axis, 1) - (getWord(%vector, 0) - getWord(%axis, 0));
%new = %nX SPC %nY SPC getWord(%vector, 2);
case 2:
%nX = getWord(%axis, 0) - (getWord(%vector, 0) - getWord(%axis, 0));
%nY = getWord(%axis, 1) - (getWord(%vector, 1) - getWord(%axis, 1));
%new = %nX SPC %nY SPC getWord(%vector, 2);
case 3:
%nX = getWord(%axis, 0) - (getWord(%vector, 1) - getWord(%axis, 1));
%nY = getWord(%axis, 1) + (getWord(%vector, 0) - getWord(%axis, 0));
%new = %nx SPC %nY SPC getWord(%vector, 2);
default: %new = vectorAdd(%vector, %axis);
}
return %new;
}
works fine now, thanks everyone