]> Dogcows Code - chaz/thecheat/blobdiff - Variable.m
Remove support of Mac OS X 10.3 and earlier system, change codes for Mac OS X 10.7.
[chaz/thecheat] / Variable.m
index 7aa371cf6e54b720da8e30320a69535a348a467b..4630ad02c614ceb44d34336e499a212a2c78d78e 100644 (file)
@@ -1,22 +1,13 @@
 
-// **********************************************************************
-// The Cheat - A universal game cheater for Mac OS X
-// (C) 2003-2005 Chaz McGarvey (BrokenZipper)
-// 
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 1, or (at your option)
-// any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-// 
+/*
+ * The Cheat - The legendary universal game trainer for Mac OS X.
+ * http://www.brokenzipper.com/trac/wiki/TheCheat
+ *
+ * Copyright (c) 2003-2011, Charles McGarvey et al.
+ *
+ * Distributable under the terms and conditions of the 2-clause BSD
+ * license; see the file COPYING for the legal text of the license.
+ */
 
 #import "Variable.h"
 
 
 - (NSString *)addressString
 {
-       return [NSString stringWithFormat:@"%0.8X", _address];
+//             return [NSString stringWithFormat:@"%0.8X", _address];
+       return [NSString stringWithFormat:(_address & 0xffffffff00000000ULL) ? @"%0.16qX": @"%0.8X", _address];
 }
 
 - (BOOL)setAddressString:(NSString *)string
        NSScanner *scanner = [NSScanner scannerWithString:string];
        TCAddress address;
        
-       if ( [scanner scanHexInt:(unsigned *)(&address)] ) {
+       if ( [scanner scanHexLongLong:(unsigned long long *)(&address)] ) {
                [self setAddress:address];
                return YES;
        }
        switch ( _type ) {
                case TCDouble: return [NSString stringWithFormat:@"%.1lf", *(double *)[self value]];
                case TCFloat: return [NSString stringWithFormat:@"%.1f", *(float *)[self value]];
-               case TCString: return [NSString stringWithCString:[self value] length:[self valueSize]];
+               case TCString: return [[[NSString alloc] initWithBytes:[self value] length:[self valueSize] encoding:NSUTF8StringEncoding] autorelease];
        }
        if ( _integerSign == TCUnsigned ) {
                switch ( _type ) {
                case TCInt32:
                {
                        SInt32 value;
-                       if ( [scanner scanInt:(int *)(&value)] ) {
+//                     if ( [scanner scanInt:(int *)(&value)] ) {
+                       int integer;
+                       if ( [scanner scanInt:&integer] ) {
+                               value = integer;
                                [self setValue:&value];
                        }
                        break;
                }
                case TCString:
                {
-                       char *str = (char *)[string lossyCString];
+                       char *str = (char *)[string cStringUsingEncoding:NSUTF8StringEncoding];
                        unsigned len = strlen( str );
                        [self setValue:str size:len];
                        break;
@@ -475,13 +470,13 @@ void bigEndianValue(void *buffer, Variable *variable)
        _enabled = enabled;
 }
 
-
-- (int)tag
+- (NSInteger)tag
 {
        return _tag;
 }
 
-- (void)setTag:(int)tag
+
+- (void)setTag:(NSInteger)tag
 {
        _tag = tag;
 }
This page took 0.024728 seconds and 4 git commands to generate.