// // AdvancedMathModifier.m // WiiToMidi // // Created by Mike Verdone on 28/03/07. // Copyright 2007 __MyCompanyName__. All rights reserved. // #import "AdvancedMathModifier.h" #import "AdvancedMathCCode.h" // Leave this constant for now #define TIME_SINCE_LAST_CALL 167 @implementation AdvancedMathModifier -(id) init { [self setExpansionPortType:WiiExpNotAttached]; return self; } -(void) setExpansionPortType:(WiiExpansionPortType)type { _wiiExpansionPortType = type; } -(void) manipulate:(WiiStateArray)state { updateVelAndPos(state[SA_ACC_RAWX], state[SA_ACC_RAWY], state[SA_ACC_RAWZ], TIME_SINCE_LAST_CALL, &state[SA_VEL_X], &state[SA_VEL_Y], &state[SA_VEL_Z], &state[SA_POS_X], &state[SA_POS_Y], &state[SA_POS_Z]); updateOrientation(state[SA_ACC_X], state[SA_ACC_Y], state[SA_ACC_Z], TIME_SINCE_LAST_CALL, &state[SA_ORI_X], &state[SA_ORI_Y]); if (WiiNunchuk == _wiiExpansionPortType) { updateVelAndPos(state[SA_ACC_RAWNX], state[SA_ACC_RAWNY], state[SA_ACC_RAWNZ], TIME_SINCE_LAST_CALL, &state[SA_VEL_NX], &state[SA_VEL_NY], &state[SA_VEL_NZ], &state[SA_POS_NX], &state[SA_POS_NY], &state[SA_POS_NZ]); updateOrientation(state[SA_ACC_NX], state[SA_ACC_NY], state[SA_ACC_NZ], TIME_SINCE_LAST_CALL, &state[SA_ORI_NX], &state[SA_ORI_NY]); } } @end