X-Git-Url: https://git.yukkurigames.com/?p=enjoyable.git;a=blobdiff_plain;f=NJInputAnalog.m;fp=NJInputAnalog.m;h=0000000000000000000000000000000000000000;hp=7b4b15a831c4d0fcfde586972e79560ceb5e93c7;hb=0064c1fbff36795885a9724081af2a17d83c20a3;hpb=56d825ba259066d847a9fc3f9c8c0c0a362a1507 diff --git a/NJInputAnalog.m b/NJInputAnalog.m deleted file mode 100644 index 7b4b15a..0000000 --- a/NJInputAnalog.m +++ /dev/null @@ -1,55 +0,0 @@ -// -// NJInputAnalog.m -// Enjoy -// -// Created by Sam McCall on 5/05/09. -// - -#define DEAD_ZONE 0.3 - -#import "NJInputAnalog.h" - -static float normalize(long p, long min, long max) { - return 2 * (p - min) / (float)(max - min) - 1; -} - -@implementation NJInputAnalog { - float magnitude; - long rawMin; - long rawMax; -} - -- (id)initWithIndex:(int)index rawMin:(long)rawMin_ rawMax:(long)rawMax_ { - if ((self = [super init])) { - self.name = [[NSString alloc] initWithFormat: @"Axis %d", index]; - self.children = @[[[NJInput alloc] initWithName:@"Low" base:self], - [[NJInput alloc] initWithName:@"High" base:self]]; - rawMax = rawMax_; - rawMin = rawMin_; - } - return self; -} - -- (id)findSubInputForValue:(IOHIDValueRef)value { - float mag = normalize(IOHIDValueGetIntegerValue(value), rawMin, rawMax); - if (mag < -DEAD_ZONE) - return self.children[0]; - else if (mag > DEAD_ZONE) - return self.children[1]; - else - return nil; -} - -- (void)notifyEvent:(IOHIDValueRef)value { - magnitude = normalize(IOHIDValueGetIntegerValue(value), rawMin, rawMax); - [self.children[0] setMagnitude:fabsf(MIN(magnitude, 0))]; - [self.children[1] setMagnitude:fabsf(MAX(magnitude, 0))]; - [self.children[0] setActive:magnitude < -DEAD_ZONE]; - [self.children[1] setActive:magnitude > DEAD_ZONE]; -} - -- (float)magnitude { - return magnitude; -} - -@end