1
2
3
4
5
6
7
8
9
10
11
|
// rendermd2.cpp: loader code adapted from a nehe tutorial
#include "cube.h"
#import "DynamicEntity.h"
#import "MD2.h"
#import "MapModelInfo.h"
#import "OFString+Cube.h"
static OFMutableDictionary<OFString *, MD2 *> *mdllookup = nil;
static OFMutableArray<MD2 *> *mapmodels = nil;
|
>
|
1
2
3
4
5
6
7
8
9
10
11
12
|
// rendermd2.cpp: loader code adapted from a nehe tutorial
#include "cube.h"
#import "Command.h"
#import "DynamicEntity.h"
#import "MD2.h"
#import "MapModelInfo.h"
#import "OFString+Cube.h"
static OFMutableDictionary<OFString *, MD2 *> *mdllookup = nil;
static OFMutableArray<MD2 *> *mapmodels = nil;
|
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
mdllookup = [[OFMutableDictionary alloc] init];
mdllookup[name] = m;
return m;
}
void
mapmodel(
OFString *rad, OFString *h, OFString *zoff, OFString *snap, OFString *name)
{
MD2 *m = loadmodel([name stringByReplacingOccurrencesOfString:@"\\"
withString:@"/"]);
m.mmi = [MapModelInfo infoWithRad:rad.cube_intValue
h:h.cube_intValue
zoff:zoff.cube_intValue
snap:snap.cube_intValue
name:m.loadname];
if (mapmodels == nil)
mapmodels = [[OFMutableArray alloc] init];
[mapmodels addObject:m];
}
COMMAND(mapmodel, ARG_5STR)
void
mapmodelreset()
{
[mapmodels removeAllObjects];
}
COMMAND(mapmodelreset, ARG_NONE)
MapModelInfo *
getmminfo(int i)
{
return i < mapmodels.count ? mapmodels[i].mmi : nil;
}
|
<
|
|
<
>
>
|
|
|
|
|
|
|
|
|
|
|
<
<
|
<
|
<
|
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
mdllookup = [[OFMutableDictionary alloc] init];
mdllookup[name] = m;
return m;
}
COMMAND(mapmodel, ARG_5STR,
^(OFString *rad, OFString *h, OFString *zoff, OFString *snap,
OFString *name) {
MD2 *m =
loadmodel([name stringByReplacingOccurrencesOfString:@"\\"
withString:@"/"]);
m.mmi = [MapModelInfo infoWithRad:rad.cube_intValue
h:h.cube_intValue
zoff:zoff.cube_intValue
snap:snap.cube_intValue
name:m.loadname];
if (mapmodels == nil)
mapmodels = [[OFMutableArray alloc] init];
[mapmodels addObject:m];
})
COMMAND(mapmodelreset, ARG_NONE, ^{
[mapmodels removeAllObjects];
})
MapModelInfo *
getmminfo(int i)
{
return i < mapmodels.count ? mapmodels[i].mmi : nil;
}
|