Fixed PTime on OS X. OpenGL performance still terrible on OS X.

master
kts 2014-02-26 16:36:12 -08:00
parent ffa74bd574
commit 2f596f4d50
15 changed files with 192 additions and 143 deletions

View File

@ -50,6 +50,7 @@ int interfaceInit() {
tick_time.n = (1000000000/25);
tick_time.m = tick_time.n/1000000;
tick_time.s = 0;
g_cap_framerate = 1;
g_accumulator = 0;
vid_frames = 0;
@ -103,6 +104,7 @@ int interfaceRun() {
while(g_accumulator >= tick_time.n) {
// handle input and pass to state
while(SDL_PollEvent(&event)) {
printf("EVENT\n");
switch(event.type) {
case SDL_KEYDOWN:
ts_event.type = TS_KEYBOARD;

View File

@ -29,6 +29,11 @@ void r_gl_Init() {
glMatrixMode( GL_MODELVIEW );
glLoadIdentity();
/* enable transparency */
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
/* spritesheets */
r_gl_createTexture(&(spritesheet_ui->texture), spritesheet_ui->surface);
r_gl_createTexture(&(menu_bg->texture), menu_bg->surface);
@ -136,9 +141,6 @@ void r_gl_renderText(struct Font *font, const char *string, int x, int y) {
/* draw a clipped portion of our font texture to a quad*/
glTranslated(x+x_render, y+y_render, 1.0f);
//glTranslated(font->width, y_render, 0.0f);
/* enable transparency */
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
/* draw that quad !*/
glBegin(GL_QUADS);
// tl
@ -163,25 +165,21 @@ void r_gl_renderText(struct Font *font, const char *string, int x, int y) {
}
void r_gl_renderSprite(struct Spritesheet *sheet, SDL_Surface *surface, int id, int x, int y) {
int x_offset, y_offset;
/* get the width and height of each sprite in gl texture terms */
double sx = 1.0f/(sheet->surface->w / sheet->width);
double sy = 1.0f/(sheet->surface->h / sheet->height);
glBindTexture(GL_TEXTURE_2D, sheet->texture);
float sx = 1.0f/(sheet->surface->w / sheet->width);
float sy = 1.0f/(sheet->surface->h / sheet->height);
y_offset = id / sheet->columns;
x_offset = id - (y_offset*sheet->columns);
int y_offset = id / sheet->columns;
int x_offset = id - (y_offset*sheet->columns);
/* get the texture offsets for the target sprite */
double tx = (x_offset == 0 ? 0.0f : 1.0f/((float)(sheet->columns/x_offset)));
double ty = (y_offset == 0 ? 0.0f : 1.0f/((sheet->surface->w/sheet->width)/y_offset));
float tx = (x_offset == 0 ? 0.0f : 1.0f/((float)(sheet->columns/x_offset)));
float ty = (y_offset == 0 ? 0.0f : 1.0f/((sheet->surface->w/sheet->width)/y_offset));
/* reset view */
glLoadIdentity();
/* bind our texture */
glBindTexture(GL_TEXTURE_2D, sheet->texture);
/* draw a clipped portion of our sheet texture to a quad*/
glTranslated(x, y, 0.0f);
/* enable transparency */
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
/* draw that quad !*/
glBegin(GL_QUADS);
// tl
@ -194,7 +192,7 @@ void r_gl_renderSprite(struct Spritesheet *sheet, SDL_Surface *surface, int id,
glTexCoord2d(tx,ty+sy); glVertex2f(0,sheet->height*sheet->scale_y);
glEnd();
glLoadIdentity();
//glLoadIdentity();
}

View File

@ -7,12 +7,12 @@
#include "../globals.h"
void r_soft_Init() {
if ((screen = SDL_SetVideoMode(g_video_width, g_video_height, 32, SDL_SWSURFACE|SDL_DOUBLEBUF|SDL_RESIZABLE|g_video_fullscreen)) == NULL)
if ((screen = SDL_SetVideoMode(g_video_width, g_video_height, 32, SDL_HWSURFACE|SDL_DOUBLEBUF|SDL_RESIZABLE|g_video_fullscreen)) == NULL)
return;
}
void r_soft_Reinit() {
if ((screen = SDL_SetVideoMode(g_video_width, g_video_height, 32, SDL_SWSURFACE|SDL_DOUBLEBUF|SDL_RESIZABLE|g_video_fullscreen)) == NULL)
if ((screen = SDL_SetVideoMode(g_video_width, g_video_height, 32, SDL_HWSURFACE|SDL_DOUBLEBUF|SDL_RESIZABLE|g_video_fullscreen)) == NULL)
return;
}

View File

@ -1,4 +1,9 @@
#include "timer.h"
#if __MACH__
#include <CoreServices/CoreServices.h>
#include <mach/mach.h>
#include <mach/mach_time.h>
#endif
int64_t setPTime(struct PTime *time, int64_t seconds, int64_t milliseconds, int64_t nanoseconds) {
time->n = nanoseconds + (milliseconds*1000000) + (seconds*1000000000);
@ -14,15 +19,16 @@ int64_t getPTime(struct PTime *time) {
time->m = ticks;
time->n = ticks*1000000;
#elif __MACH__
clock_serv_t cclock;
mach_timespec_t mts;
host_get_clock_service(mach_host_self(), CALENDAR_CLOCK, &cclock);
clock_get_time(cclock, &mts);
mach_port_deallocate(mach_task_self(), cclock);
mach_timebase_info_data_t info;
mach_timebase_info(&info);
time->s = mts.tv_sec;
time->n = (mts.tv_sec * 1000000000) + mts.tv_nsec;
time->m = time->n / 1000000;
uint64_t m_time = mach_absolute_time();
m_time *= info.numer;
m_time /= info.denom;
time->n = m_time;
time->m = m_time / 1000000;
time->s = time->m / 1000;
/*#elif __i586__
struct { int32 low, high; } counter;
@ -76,6 +82,5 @@ inline void doNanoSleep(int64_t nanoseconds) {
//printf("snoozing for %lds and %ldns\n", ts.tv_sec, ts.tv_nsec);
if (nanosleep(&ts, NULL) < 0)
printf("ERR: had trouble sleeping\n"); // FIXME: THIS ERRORS ALOT
//nanosleep(&ts, NULL);
#endif
}

View File

@ -228,8 +228,6 @@
<key>Layout</key>
<array>
<dict>
<key>BecomeActive</key>
<true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@ -268,22 +266,18 @@
<string>29B97314FDCFA39411CA2CEA</string>
<string>29B97317FDCFA39411CA2CEA</string>
<string>1C37FBAC04509CD000000102</string>
<string>20B2ED9D18BCAD1D00A898D2</string>
<string>20B2EDCC18BCB09000A898D2</string>
<string>1C37FAAC04509CD000000102</string>
<string>1C37FABC05509CD000000102</string>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
<integer>48</integer>
<integer>47</integer>
<integer>45</integer>
<integer>42</integer>
<integer>46</integer>
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
<string>{{0, 469}, {186, 364}}</string>
<string>{{0, 323}, {186, 493}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@ -295,14 +289,14 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{0, 0}, {203, 382}}</string>
<string>{{0, 0}, {203, 511}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
<real>186</real>
</array>
<key>RubberWindowFrame</key>
<string>-3 323 810 423 0 0 1024 746 </string>
<string>93 103 841 552 0 0 1024 746 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@ -313,12 +307,14 @@
<key>Dock</key>
<array>
<dict>
<key>BecomeActive</key>
<true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>1CE0B20306471E060097A5F4</string>
<key>PBXProjectModuleLabel</key>
<string>r_soft.c</string>
<string>r_gl.c</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@ -326,11 +322,11 @@
<key>PBXProjectModuleGUID</key>
<string>1CE0B20406471E060097A5F4</string>
<key>PBXProjectModuleLabel</key>
<string>r_soft.c</string>
<string>r_gl.c</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
<string>20B2EE0B18BCB65800A898D2</string>
<string>20935BB818BEBF2000C1B0F9</string>
<key>history</key>
<array>
<string>206D60391808F3A600C0DE49</string>
@ -373,11 +369,11 @@
<string>20A19DB518B8A04500FAE3FF</string>
<string>20B2EDCE18BCB09000A898D2</string>
<string>20B2EDCF18BCB09000A898D2</string>
<string>20B2EDD018BCB09000A898D2</string>
<string>20B2EDF318BCB32C00A898D2</string>
<string>20B2EE0118BCB62700A898D2</string>
<string>20B2EE0218BCB62700A898D2</string>
<string>20B2EE0318BCB62700A898D2</string>
<string>20935BB018BEBF2000C1B0F9</string>
<string>20935BB118BEBF2000C1B0F9</string>
<string>20935BB218BEBF2000C1B0F9</string>
</array>
<key>prevStack</key>
<array>
@ -427,8 +423,12 @@
<string>20B2EDD418BCB09000A898D2</string>
<string>20B2EDD518BCB09000A898D2</string>
<string>20B2EDF518BCB32C00A898D2</string>
<string>20B2EE0418BCB62700A898D2</string>
<string>20B2EE0518BCB62700A898D2</string>
<string>203BB50318BCB8B200E4829F</string>
<string>20935BB318BEBF2000C1B0F9</string>
<string>20935BB418BEBF2000C1B0F9</string>
<string>20935BB518BEBF2000C1B0F9</string>
<string>20935BB618BEBF2000C1B0F9</string>
<string>20935BB718BEBF2000C1B0F9</string>
</array>
</dict>
<key>SplitCount</key>
@ -440,14 +440,14 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{0, 0}, {602, 253}}</string>
<string>{{0, 0}, {633, 382}}</string>
<key>RubberWindowFrame</key>
<string>-3 323 810 423 0 0 1024 746 </string>
<string>93 103 841 552 0 0 1024 746 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
<string>253pt</string>
<string>382pt</string>
</dict>
<dict>
<key>ContentConfiguration</key>
@ -460,9 +460,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{0, 258}, {602, 124}}</string>
<string>{{0, 387}, {633, 124}}</string>
<key>RubberWindowFrame</key>
<string>-3 323 810 423 0 0 1024 746 </string>
<string>93 103 841 552 0 0 1024 746 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@ -471,7 +471,7 @@
</dict>
</array>
<key>Proportion</key>
<string>602pt</string>
<string>633pt</string>
</dict>
</array>
<key>Name</key>
@ -486,9 +486,9 @@
</array>
<key>TableOfContents</key>
<array>
<string>20B2EDA718BCAD2700A898D2</string>
<string>20935BB918BEBF2000C1B0F9</string>
<string>1CE0B1FE06471DED0097A5F4</string>
<string>20B2EDA818BCAD2700A898D2</string>
<string>20935BBA18BEBF2000C1B0F9</string>
<string>1CE0B20306471E060097A5F4</string>
<string>1CE0B20506471E060097A5F4</string>
</array>
@ -622,15 +622,15 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
<string>20B2EDD818BCB09000A898D2</string>
<string>20B2EDD918BCB09000A898D2</string>
<string>1CD10A99069EF8BA00B06720</string>
<string>20F6A1B417E95A6200BAD261</string>
<string>20935BC318BEBF2000C1B0F9</string>
<string>20935BC418BEBF2000C1B0F9</string>
<string>1C78EAAD065D492600B07095</string>
<string>/Users/kts/Devel/timesynk/xcode/timesynk.xcodeproj</string>
<string>20F6A1B417E95A6200BAD261</string>
<string>1CD10A99069EF8BA00B06720</string>
</array>
<key>WindowString</key>
<string>-3 323 810 423 0 0 1024 746 </string>
<string>93 103 841 552 0 0 1024 746 </string>
<key>WindowToolsV3</key>
<array>
<dict>
@ -709,7 +709,7 @@
<key>TableOfContents</key>
<array>
<string>20F6A1B417E95A6200BAD261</string>
<string>20B2EDC418BCB08C00A898D2</string>
<string>20935BBB18BEBF2000C1B0F9</string>
<string>1CD0528F0623707200166675</string>
<string>XCMainBuildResultsModuleGUID</string>
</array>
@ -803,10 +803,10 @@
<key>Frame</key>
<string>{{383, 0}, {458, 207}}</string>
<key>RubberWindowFrame</key>
<string>133 266 841 429 0 0 1024 746 </string>
<string>133 267 841 429 0 0 1024 746 </string>
</dict>
<key>RubberWindowFrame</key>
<string>133 266 841 429 0 0 1024 746 </string>
<string>133 267 841 429 0 0 1024 746 </string>
</dict>
<key>Module</key>
<string>PBXDebugSessionModule</string>
@ -829,18 +829,18 @@
<key>TableOfContents</key>
<array>
<string>1CD10A99069EF8BA00B06720</string>
<string>20B2EDC518BCB08C00A898D2</string>
<string>20935BBC18BEBF2000C1B0F9</string>
<string>1C162984064C10D400B95A72</string>
<string>20B2EDC618BCB08C00A898D2</string>
<string>20B2EDC718BCB08C00A898D2</string>
<string>20B2EDC818BCB08C00A898D2</string>
<string>20B2EDC918BCB08C00A898D2</string>
<string>20B2EDCA18BCB08C00A898D2</string>
<string>20935BBD18BEBF2000C1B0F9</string>
<string>20935BBE18BEBF2000C1B0F9</string>
<string>20935BBF18BEBF2000C1B0F9</string>
<string>20935BC018BEBF2000C1B0F9</string>
<string>20935BC118BEBF2000C1B0F9</string>
</array>
<key>ToolbarConfiguration</key>
<string>xcode.toolbar.config.debugV3</string>
<key>WindowString</key>
<string>133 266 841 429 0 0 1024 746 </string>
<string>133 267 841 429 0 0 1024 746 </string>
<key>WindowToolGUID</key>
<string>1CD10A99069EF8BA00B06720</string>
<key>WindowToolIsVisible</key>
@ -999,7 +999,7 @@
<key>TableOfContents</key>
<array>
<string>1C78EAAD065D492600B07095</string>
<string>20B2EDCB18BCB08C00A898D2</string>
<string>20935BC218BEBF2000C1B0F9</string>
<string>1C78EAAC065D492600B07095</string>
</array>
<key>ToolbarConfiguration</key>

View File

@ -85,6 +85,16 @@
sepNavVisRange = "{278, 391}";
};
};
203BB50318BCB8B200E4829F /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 208EB15A18B8989D00CD2A39 /* r_soft.c */;
name = "r_soft.c: 46";
rLen = 0;
rLoc = 1324;
rType = 0;
vrLen = 404;
vrLoc = 1100;
};
204EC15718285FB20035FB9D /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 20F6A1C417E95AD300BAD261 /* common.h */;
@ -564,16 +574,16 @@
};
208EB15818B8989D00CD2A39 /* r_gl.c */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1710, 3262}}";
sepNavSelRange = "{8637, 0}";
sepNavVisRange = "{2544, 1074}";
sepNavIntBoundsRect = "{{0, 0}, {630, 3318}}";
sepNavSelRange = "{8523, 0}";
sepNavVisRange = "{5617, 928}";
};
};
208EB15A18B8989D00CD2A39 /* r_soft.c */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {846, 2590}}";
sepNavIntBoundsRect = "{{0, 0}, {846, 2576}}";
sepNavSelRange = "{1324, 0}";
sepNavVisRange = "{1100, 479}";
sepNavVisRange = "{908, 608}";
};
};
208EB15C18B8989D00CD2A39 /* sdl_extra.c */ = {
@ -621,6 +631,93 @@
vrLen = 175;
vrLoc = 0;
};
20935BB018BEBF2000C1B0F9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 20B2EDB218BCAD6C00A898D2 /* timer.c */;
name = "timer.c: 87";
rLen = 0;
rLoc = 2230;
rType = 0;
vrLen = 632;
vrLoc = 0;
};
20935BB118BEBF2000C1B0F9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 208EB15A18B8989D00CD2A39 /* r_soft.c */;
name = "r_soft.c: 46";
rLen = 0;
rLoc = 1324;
rType = 0;
vrLen = 608;
vrLoc = 908;
};
20935BB218BEBF2000C1B0F9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 208EB15818B8989D00CD2A39 /* r_gl.c */;
rLen = 1;
rLoc = 166;
rType = 1;
};
20935BB318BEBF2000C1B0F9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 208EB15818B8989D00CD2A39 /* r_gl.c */;
name = "r_gl.c: 248";
rLen = 0;
rLoc = 8637;
rType = 0;
vrLen = 697;
vrLoc = 66;
};
20935BB418BEBF2000C1B0F9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 208EB15A18B8989D00CD2A39 /* r_soft.c */;
name = "r_soft.c: 46";
rLen = 0;
rLoc = 1324;
rType = 0;
vrLen = 671;
vrLoc = 908;
};
20935BB518BEBF2000C1B0F9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 20B2EDB218BCAD6C00A898D2 /* timer.c */;
name = "timer.c: 87";
rLen = 0;
rLoc = 2230;
rType = 0;
vrLen = 632;
vrLoc = 0;
};
20935BB618BEBF2000C1B0F9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 208EB15818B8989D00CD2A39 /* r_gl.c */;
name = "r_gl.c: 53";
rLen = 0;
rLoc = 1217;
rType = 0;
vrLen = 576;
vrLoc = 1133;
};
20935BB718BEBF2000C1B0F9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 208EB15A18B8989D00CD2A39 /* r_soft.c */;
name = "r_soft.c: 46";
rLen = 0;
rLoc = 1324;
rType = 0;
vrLen = 608;
vrLoc = 908;
};
20935BB818BEBF2000C1B0F9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 208EB15818B8989D00CD2A39 /* r_gl.c */;
name = "r_gl.c: 246";
rLen = 0;
rLoc = 8523;
rType = 0;
vrLen = 928;
vrLoc = 5617;
};
209A27C61812256F00B15CEC /* npc.c */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {755, 1274}}";
@ -724,9 +821,9 @@
};
20B2EDB218BCAD6C00A898D2 /* timer.c */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {439, 630}}";
sepNavSelRange = "{1073, 0}";
sepNavVisRange = "{0, 386}";
sepNavIntBoundsRect = "{{0, 0}, {600, 1176}}";
sepNavSelRange = "{2230, 0}";
sepNavVisRange = "{136, 432}";
};
};
20B2EDCE18BCB09000A898D2 /* PBXTextBookmark */ = {
@ -749,16 +846,6 @@
vrLen = 363;
vrLoc = 0;
};
20B2EDD018BCB09000A898D2 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 20B2EDB218BCAD6C00A898D2 /* timer.c */;
name = "timer.c: 42";
rLen = 0;
rLoc = 1073;
rType = 0;
vrLen = 387;
vrLoc = 0;
};
20B2EDD218BCB09000A898D2 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 208EB15818B8989D00CD2A39 /* r_gl.c */;
@ -819,16 +906,6 @@
vrLen = 694;
vrLoc = 0;
};
20B2EE0118BCB62700A898D2 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 208EB15818B8989D00CD2A39 /* r_gl.c */;
name = "r_gl.c: 56";
rLen = 0;
rLoc = 1311;
rType = 0;
vrLen = 333;
vrLoc = 1079;
};
20B2EE0218BCB62700A898D2 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 002F3A2C09D0888800EBEB88 /* SDLMain.m */;
@ -839,43 +916,6 @@
vrLen = 517;
vrLoc = 0;
};
20B2EE0318BCB62700A898D2 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 208EB15A18B8989D00CD2A39 /* r_soft.c */;
rLen = 0;
rLoc = 45;
rType = 1;
};
20B2EE0418BCB62700A898D2 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 208EB15818B8989D00CD2A39 /* r_gl.c */;
name = "r_gl.c: 56";
rLen = 0;
rLoc = 1311;
rType = 0;
vrLen = 333;
vrLoc = 1079;
};
20B2EE0518BCB62700A898D2 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 002F3A2C09D0888800EBEB88 /* SDLMain.m */;
name = "SDLMain.m: 1";
rLen = 11264;
rLoc = 0;
rType = 0;
vrLen = 517;
vrLoc = 0;
};
20B2EE0B18BCB65800A898D2 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 208EB15A18B8989D00CD2A39 /* r_soft.c */;
name = "r_soft.c: 46";
rLen = 0;
rLoc = 1324;
rType = 0;
vrLen = 479;
vrLoc = 1100;
};
20CD05AE180FBCD8005A8231 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 204F942518005466007B4DAD /* map.h */;
@ -1488,7 +1528,7 @@
PBXFileTableDataSourceColumnWidthsKey = (
22,
300,
250.58349609375,
281.58349609375,
);
PBXFileTableDataSourceColumnsKey = (
PBXExecutablesDataSource_ActiveFlagID,
@ -1556,14 +1596,15 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
PBXPerProjectTemplateStateSaveDate = 415018268;
PBXWorkspaceStateSaveDate = 415018268;
PBXPerProjectTemplateStateSaveDate = 415146221;
PBXWorkspaceStateSaveDate = 415146221;
};
perUserProjectItems = {
2007C93017ECF2EB00268653 /* PBXTextBookmark */ = 2007C93017ECF2EB00268653 /* PBXTextBookmark */;
2019284D187269BC006071D0 /* PlistBookmark */ = 2019284D187269BC006071D0 /* PlistBookmark */;
2019284E187269BC006071D0 /* PlistBookmark */ = 2019284E187269BC006071D0 /* PlistBookmark */;
201928951872766C006071D0 /* PBXTextBookmark */ = 201928951872766C006071D0 /* PBXTextBookmark */;
203BB50318BCB8B200E4829F /* PBXTextBookmark */ = 203BB50318BCB8B200E4829F /* PBXTextBookmark */;
204EC15718285FB20035FB9D /* PBXTextBookmark */ = 204EC15718285FB20035FB9D /* PBXTextBookmark */;
204EC15918285FB20035FB9D /* PBXTextBookmark */ = 204EC15918285FB20035FB9D /* PBXTextBookmark */;
204EC171182889AD0035FB9D /* PBXTextBookmark */ = 204EC171182889AD0035FB9D /* PBXTextBookmark */;
@ -1597,6 +1638,15 @@
2090289E17E95F9E0051A253 /* PBXTextBookmark */ = 2090289E17E95F9E0051A253 /* PBXTextBookmark */;
2090289F17E95F9E0051A253 /* PBXTextBookmark */ = 2090289F17E95F9E0051A253 /* PBXTextBookmark */;
209028A517E95F9E0051A253 /* PBXTextBookmark */ = 209028A517E95F9E0051A253 /* PBXTextBookmark */;
20935BB018BEBF2000C1B0F9 /* PBXTextBookmark */ = 20935BB018BEBF2000C1B0F9 /* PBXTextBookmark */;
20935BB118BEBF2000C1B0F9 /* PBXTextBookmark */ = 20935BB118BEBF2000C1B0F9 /* PBXTextBookmark */;
20935BB218BEBF2000C1B0F9 /* PBXTextBookmark */ = 20935BB218BEBF2000C1B0F9 /* PBXTextBookmark */;
20935BB318BEBF2000C1B0F9 /* PBXTextBookmark */ = 20935BB318BEBF2000C1B0F9 /* PBXTextBookmark */;
20935BB418BEBF2000C1B0F9 /* PBXTextBookmark */ = 20935BB418BEBF2000C1B0F9 /* PBXTextBookmark */;
20935BB518BEBF2000C1B0F9 /* PBXTextBookmark */ = 20935BB518BEBF2000C1B0F9 /* PBXTextBookmark */;
20935BB618BEBF2000C1B0F9 /* PBXTextBookmark */ = 20935BB618BEBF2000C1B0F9 /* PBXTextBookmark */;
20935BB718BEBF2000C1B0F9 /* PBXTextBookmark */ = 20935BB718BEBF2000C1B0F9 /* PBXTextBookmark */;
20935BB818BEBF2000C1B0F9 /* PBXTextBookmark */ = 20935BB818BEBF2000C1B0F9 /* PBXTextBookmark */;
209EE344188D6D72007B3526 /* PBXTextBookmark */ = 209EE344188D6D72007B3526 /* PBXTextBookmark */;
209EE345188D6D72007B3526 /* PBXTextBookmark */ = 209EE345188D6D72007B3526 /* PBXTextBookmark */;
209EE346188D6D72007B3526 /* PBXTextBookmark */ = 209EE346188D6D72007B3526 /* PBXTextBookmark */;
@ -1607,19 +1657,13 @@
20A770FB1837870D00BC220B /* PBXTextBookmark */ = 20A770FB1837870D00BC220B /* PBXTextBookmark */;
20B2EDCE18BCB09000A898D2 /* PBXTextBookmark */ = 20B2EDCE18BCB09000A898D2 /* PBXTextBookmark */;
20B2EDCF18BCB09000A898D2 /* PBXTextBookmark */ = 20B2EDCF18BCB09000A898D2 /* PBXTextBookmark */;
20B2EDD018BCB09000A898D2 /* PBXTextBookmark */ = 20B2EDD018BCB09000A898D2 /* PBXTextBookmark */;
20B2EDD218BCB09000A898D2 /* PBXTextBookmark */ = 20B2EDD218BCB09000A898D2 /* PBXTextBookmark */;
20B2EDD318BCB09000A898D2 /* PBXTextBookmark */ = 20B2EDD318BCB09000A898D2 /* PBXTextBookmark */;
20B2EDD418BCB09000A898D2 /* PBXTextBookmark */ = 20B2EDD418BCB09000A898D2 /* PBXTextBookmark */;
20B2EDD518BCB09000A898D2 /* PBXTextBookmark */ = 20B2EDD518BCB09000A898D2 /* PBXTextBookmark */;
20B2EDF318BCB32C00A898D2 /* PBXTextBookmark */ = 20B2EDF318BCB32C00A898D2 /* PBXTextBookmark */;
20B2EDF518BCB32C00A898D2 /* PBXTextBookmark */ = 20B2EDF518BCB32C00A898D2 /* PBXTextBookmark */;
20B2EE0118BCB62700A898D2 /* PBXTextBookmark */ = 20B2EE0118BCB62700A898D2 /* PBXTextBookmark */;
20B2EE0218BCB62700A898D2 /* PBXTextBookmark */ = 20B2EE0218BCB62700A898D2 /* PBXTextBookmark */;
20B2EE0318BCB62700A898D2 /* PBXTextBookmark */ = 20B2EE0318BCB62700A898D2 /* PBXTextBookmark */;
20B2EE0418BCB62700A898D2 /* PBXTextBookmark */ = 20B2EE0418BCB62700A898D2 /* PBXTextBookmark */;
20B2EE0518BCB62700A898D2 /* PBXTextBookmark */ = 20B2EE0518BCB62700A898D2 /* PBXTextBookmark */;
20B2EE0B18BCB65800A898D2 /* PBXTextBookmark */ = 20B2EE0B18BCB65800A898D2 /* PBXTextBookmark */;
20CD05AE180FBCD8005A8231 /* PBXTextBookmark */ = 20CD05AE180FBCD8005A8231 /* PBXTextBookmark */;
20DE9D35180500990047B2DD /* PBXTextBookmark */ = 20DE9D35180500990047B2DD /* PBXTextBookmark */;
20DE9D36180500990047B2DD /* PBXTextBookmark */ = 20DE9D36180500990047B2DD /* PBXTextBookmark */;