2012-03-04 09:30:27 +00:00
|
|
|
/*
|
|
|
|
* GameListSource.game.m
|
|
|
|
* duke3d
|
|
|
|
*
|
|
|
|
* Created by Jonathon Fowler on 24/07/09.
|
|
|
|
* Copyright 2009 __MyCompanyName__. All rights reserved.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
2014-10-20 07:37:29 +00:00
|
|
|
#import <Foundation/Foundation.h>
|
2012-03-04 09:30:27 +00:00
|
|
|
|
2014-10-16 21:03:24 +00:00
|
|
|
#include "compat.h"
|
|
|
|
|
2012-03-04 09:30:27 +00:00
|
|
|
#import "GrpFile.game.h"
|
|
|
|
#import "GameListSource.game.h"
|
|
|
|
|
|
|
|
@implementation GameListSource
|
|
|
|
- (id)init
|
|
|
|
{
|
|
|
|
self = [super init];
|
|
|
|
if (self) {
|
|
|
|
struct grpfile *p;
|
|
|
|
int i;
|
|
|
|
|
|
|
|
list = [[NSMutableArray alloc] init];
|
|
|
|
|
|
|
|
for (p = foundgrps; p; p=p->next) {
|
2013-07-13 21:05:06 +00:00
|
|
|
for (i=0; i<NUMGRPFILES; i++) if (p->crcval == internalgrpfiles[i].crcval) break;
|
2012-03-28 19:44:14 +00:00
|
|
|
if (i == NUMGRPFILES) continue;
|
2014-10-16 21:03:24 +00:00
|
|
|
[list addObject:[[GrpFile alloc] initWithGrpfile:p andName:[NSString stringWithCString:internalgrpfiles[i].name encoding:NSUTF8StringEncoding]]];
|
2012-03-04 09:30:27 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return self;
|
|
|
|
}
|
|
|
|
|
|
|
|
- (void)dealloc
|
|
|
|
{
|
|
|
|
[list release];
|
|
|
|
[super dealloc];
|
|
|
|
}
|
|
|
|
|
|
|
|
- (GrpFile*)grpAtIndex:(int)index
|
|
|
|
{
|
|
|
|
return [list objectAtIndex:index];
|
|
|
|
}
|
|
|
|
|
|
|
|
- (int)findIndexForGrpname:(NSString*)grpname
|
|
|
|
{
|
2014-10-16 21:03:24 +00:00
|
|
|
NSUInteger i, listcount = [list count];
|
|
|
|
for (i=0; i<listcount; i++) {
|
2012-03-04 09:30:27 +00:00
|
|
|
if ([[[list objectAtIndex:i] grpname] isEqual:grpname]) return i;
|
|
|
|
}
|
|
|
|
return -1;
|
|
|
|
}
|
|
|
|
|
|
|
|
- (id)tableView:(NSTableView *)aTableView
|
|
|
|
objectValueForTableColumn:(NSTableColumn *)aTableColumn
|
2014-10-16 21:03:24 +00:00
|
|
|
row:(NSInteger)rowIndex
|
2012-03-04 09:30:27 +00:00
|
|
|
{
|
2014-10-16 21:03:24 +00:00
|
|
|
UNREFERENCED_PARAMETER(aTableView);
|
|
|
|
|
|
|
|
NSParameterAssert((NSUInteger)rowIndex < [list count]);
|
2012-03-04 09:30:27 +00:00
|
|
|
switch ([[aTableColumn identifier] intValue]) {
|
|
|
|
case 0: // name column
|
|
|
|
return [[list objectAtIndex:rowIndex] name];
|
|
|
|
case 1: // grp column
|
|
|
|
return [[list objectAtIndex:rowIndex] grpname];
|
|
|
|
default: return nil;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
- (int)numberOfRowsInTableView:(NSTableView *)aTableView
|
|
|
|
{
|
2014-10-16 21:03:24 +00:00
|
|
|
UNREFERENCED_PARAMETER(aTableView);
|
|
|
|
|
2012-03-04 09:30:27 +00:00
|
|
|
return [list count];
|
|
|
|
}
|
|
|
|
@end
|
|
|
|
|