mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-14 08:50:58 +00:00
75ec6bf244
This is a nasty commit, sorry, but 99% of the commit is interdependent.
48 lines
743 B
R
48 lines
743 B
R
#include "Frame.h"
|
|
|
|
@implementation Frame
|
|
+ (id) newWithSize: (integer) sz link: (Frame []) l
|
|
{
|
|
return [[self alloc] initWithSize: sz link: l];
|
|
}
|
|
|
|
- (id) initWithSize: (integer) sz link: (Frame []) l
|
|
{
|
|
self = [super init];
|
|
size = sz;
|
|
link = l;
|
|
array = obj_malloc(@sizeof (id) * size);
|
|
return self;
|
|
}
|
|
|
|
- (void) set: (integer) index to: (SchemeObject []) o
|
|
{
|
|
array[index] = o;
|
|
}
|
|
|
|
- (SchemeObject []) get: (integer) index
|
|
{
|
|
return array[index];
|
|
}
|
|
|
|
- (Frame []) getLink
|
|
{
|
|
return link;
|
|
}
|
|
|
|
- (void) markReachable
|
|
{
|
|
local integer index;
|
|
for (index = 0; index < size; index++) {
|
|
[array[index] mark];
|
|
}
|
|
[link mark];
|
|
}
|
|
|
|
- (void) dealloc
|
|
{
|
|
obj_free(array);
|
|
[super dealloc];
|
|
}
|
|
|
|
@end
|