From 2d7a45e0b535e4afeda7d01ca9690133522d83fd Mon Sep 17 00:00:00 2001 From: kts Date: Sat, 28 Sep 2013 20:50:52 -0700 Subject: [PATCH] Map now resides on a multidimensional array titled map_matrix. This stores the Tiles in a Stack structure at each cell - I believe this should instead be changed so that each Tile instead has pointers to the previous and next Tiles, so that the map_matrix only holds Tile pointers rather than Stack structs containing some variable amount of Tile pointers. Also added a visible_matrix that denotes what tiles are visible to the player. This is simply a multi-dimensional array of ints that act as bit fields for various flags (such as TILE_VISIBLE, TILE_CAN_SEE, TILE_LIGHT_ONE, TILE_LIGHT_TWO, etc. - multiple light flags can be concatted to provide a broad array of light levels). --- COMPILING.txt | 13 +- Makefile | 7 +- NOTES | 8 + display.h | 15 ++ game.c | 42 +++- game.h | 9 + interface/curses.c | 76 +++++-- interface/curses.h | 10 + interface/sdl.c | 19 +- main.c | 3 + map.h | 15 ++ player.c | 17 +- wall.c | 8 + wall.h | 18 ++ .../timesynk.pbxindex/cdecls.pbxbtree | Bin 492016 -> 492288 bytes .../timesynk.pbxindex/decls.pbxbtree | Bin 492148 -> 492420 bytes .../timesynk.pbxindex/files.pbxbtree | Bin 6172 -> 6172 bytes .../timesynk.pbxindex/imports.pbxbtree | Bin 15296 -> 15296 bytes .../timesynk.pbxindex/pbxindex.header | Bin 24 -> 24 bytes .../timesynk.pbxindex/refs.pbxbtree | Bin 373360 -> 373360 bytes .../strings.pbxstrings/control | Bin 1048596 -> 1048596 bytes .../strings.pbxstrings/strings | Bin 994274 -> 994807 bytes .../timesynk.pbxindex/symbols0.pbxsymbols | Bin 1594376 -> 1597488 bytes xcode/timesynk.xcodeproj/kts.mode1v3 | 54 ++--- xcode/timesynk.xcodeproj/kts.pbxuser | 191 +++++++++--------- xcode/timesynk.xcodeproj/project.pbxproj | 8 + 26 files changed, 367 insertions(+), 146 deletions(-) create mode 100644 NOTES create mode 100644 display.h create mode 100644 map.h create mode 100644 wall.c create mode 100644 wall.h diff --git a/COMPILING.txt b/COMPILING.txt index f0e1170..2acc359 100644 --- a/COMPILING.txt +++ b/COMPILING.txt @@ -1,12 +1,15 @@ -From the console using GNU CC and make: +From the console using GNU CC and make (*nix): make // compiles default(curses) client make curses // compiles curses client, linking to curses (-lcurses) make xcurses // compiles curses client, linking to xcurses/PDCurses library make sdl // compile sdl client -From XCode: - open xcode/timesynk.xcodeproj +From XCode (Mac OS X): + open xcode/timesynk.xcodeproj // opens the SDL client Build & Go -From Dev-Cpp: - ??? +From Dev-Cpp (Windows): + open devcpp/timesynk-pdcurses.dev // opens the curses client, linked to the PDCurses library. + - the pdcurses project assumes curses.h and pdcurses.lib to be in "../../PDCurses/". Once compiled, copy PDCurses.dll to the same directory as the timesynk.exe + open devcpp/timesynk-sdl.dev // opens the SDL client + - the SDL project is compiled against SDL-1.2.15, and as such, looks for SDL's "lib/" and "include/" directories in "../../SDL-1.2.15/". Copy SDL.dll to the same directory as timesynk.exe. diff --git a/Makefile b/Makefile index bfebd38..82c3807 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ CC = gcc PREFIX = ./ BINARY=timesynk -OBJS = main.o game.o player.o net/sockets.o +OBJS = main.o game.o player.o wall.o net/sockets.o CURSES_OBJS = interface/curses.o SDL_OBJS = interface/sdl.o DEBUG = -g @@ -28,9 +28,12 @@ all: $(BINARY) clean: rm -f $(OBJS) $(CURSES_OBJS) $(SDL_OBJS) $(BINARY) -main.o: main.c stubs.h interface/curses.c net/sockets.c +main.o: main.c stubs.h wall.h wall.c interface/curses.c net/sockets.c $(CC) $(CFLAGS) -c main.c +wall.o: wall.h wall.c + $(CC) $(CFLAGS) -c wall.c + game.o: game.h game.c $(CC) $(CFLAGS) -c game.c diff --git a/NOTES b/NOTES new file mode 100644 index 0000000..9071201 --- /dev/null +++ b/NOTES @@ -0,0 +1,8 @@ +World draw order, if all things are drawn linearly, should be: + items + walls + monsters + +If we instead use a vague display_map that instead hosts the appearance of the item/wall/monster in a multidimensional array, we would save processing power at the expense of ram. + display_map[1][3] = '#'; + display_map[1][3] = TILE_ID; diff --git a/display.h b/display.h new file mode 100644 index 0000000..bddf60a --- /dev/null +++ b/display.h @@ -0,0 +1,15 @@ +/* + +*/ +#ifndef DISPLAY_H +#define DISPLAY_H + +#define TILE_VISIBLE 1 +#define TILE_CAN_SEE 2 +#define TILE_LIGHT_ONE 4 + +int display_map[32][32]; + +int visible_matrix[15][15]; + +#endif diff --git a/game.c b/game.c index 65378d4..e70ed9e 100644 --- a/game.c +++ b/game.c @@ -4,10 +4,42 @@ #include "main.h" #include "common.h" #include "game.h" +#include "wall.h" +#include "display.h" -void drawMap() { -// int i; -// for(i = updated_live_map_length;i > 0;i++) { -// interfaceDrawTile(updated_live_map[i].x, updated_live_map[i].y); -// } +int gameInit() { + //Stack map_matrix[2][2] + map_matrix[1][1].tile[0] = (Tile*) &walls[WALL_STONE]; + map_matrix[1][1].size = 1; + map_matrix[1][2].tile[0] = (Tile*) &walls[WALL_WOOD]; + map_matrix[1][2].size = 1; + map_matrix[2][1].tile[0] = (Tile*) &walls[WALL_STEEL]; + map_matrix[2][1].size = 1; + visible_matrix[1][1] |= TILE_VISIBLE; + visible_matrix[1][2] |= TILE_VISIBLE; + visible_matrix[2][1] |= TILE_VISIBLE; +/* map_walls[3][1] = &walls[WALL_STONE]; + map_walls[3][2] = &walls[WALL_STONE]; + map_walls[3][3] = &walls[WALL_STONE]; + display_map[1][1] = 1; + display_map[1][2] = 1; + display_map[1][3] = 1; + display_map[3][1] = 1; + display_map[3][2] = 1; + display_map[3][3] = 1; */ + return SUCCESS; +} + +void gameLoop() { +} + +int gameCollision(target_x, target_y) { + if (map_matrix[target_x][target_y].tile[0]) { + return 1; + } + return 0; +} + +void gameUpdateTile(int x, int y) { + display_map[x][y] = 2; } diff --git a/game.h b/game.h index 76704ae..b0a3994 100644 --- a/game.h +++ b/game.h @@ -1,5 +1,8 @@ #ifndef GAME_H #define GAME_H +#include "wall.h" +#include "display.h" +#include "map.h" /* The Eight Holy Directions */ #define NORTH 8 @@ -10,5 +13,11 @@ #define NORTHWEST 9 #define SOUTHEAST 1 #define SOUTHWEST 3 +Stack map_matrix[15][15]; + +int gameInit(); +void gameLoop(); + +int gameCollision(int target_x, int target_y); #endif diff --git a/interface/curses.c b/interface/curses.c index 1dbebdc..3606182 100644 --- a/interface/curses.c +++ b/interface/curses.c @@ -2,30 +2,62 @@ #include "curses.h" #include "../player.h" #include "../game.h" +#include "../wall.h" #include "../main.h" #include "../common.h" +/* +Acceptable colors for foreground and background (from manpage, curs_color): + COLOR_BLACK + COLOR_RED + COLOR_GREEN + COLOR_YELLOW + COLOR_BLUE + COLOR_MAGENTA + COLOR_CYAN + COLOR_WHITE + +Acceptable attributes (from manpage, curs_attr): + A_NORMAL Normal display (no highlight) + A_STANDOUT Best highlighting mode of the terminal. + A_UNDERLINE Underlining + A_REVERSE Reverse video + A_BLINK Blinking + A_DIM Half bright + A_BOLD Extra bright or bold + A_PROTECT Protected mode + A_INVIS Invisible or blank mode + A_ALTCHARSET Alternate character set + A_CHARTEXT Bit-mask to extract a character +*/ +CursesTile ascii_walls[] = { + {'#', COLOR_WHITE, COLOR_BLACK, 0}, // 0=STONE_WALL + {'#', COLOR_YELLOW, COLOR_BLACK, 0}, // 1=WOOD_WALL + {'#', COLOR_WHITE, COLOR_BLACK, A_BOLD} // 2=STEEL_WALL +}; + int interfaceInit() { // initialize ncurses library if ((screen = initscr()) == NULL) { perror("initscr() error'd"); return ERROR; } - original_cursor = curs_set(0); // store original cursor position for restore - + original_cursor = curs_set(0); // store original cursor position for restore and hide cursor keypad(screen, TRUE); // enable arrow keys/keypad noecho(); // turn off key echoing nonl(); // do not do NL->CR/NL on output cbreak(); // Handle char presses immediately, do not wait for \n - // draw a border for fun - box(screen, 0, 0); - - mvwaddstr(screen, LINES/2-1, COLS/2-4, LOGO_STRING_A); - mvwaddstr(screen, LINES/2, COLS/2-4, LOGO_STRING_B); - mvwaddstr(screen, LINES/2+1, COLS/2-4, LOGO_STRING_C); - mvwaddstr(screen, LINES/2+3, COLS/2-5, "Q/q to quit"); - + if (has_colors()) { + start_color(); + // set up all possible color pairs using COLORS as our max (8 default) + int x, y; + for (x=0;xfg * COLORS + temp->bg; + //attron(COLOR_PAIR(color) | temp->attr); + mvwaddch(screen, step_y, step_x, ascii_walls[map_matrix[step_x][step_y].tile[0]->id].ch); + //attroff(COLOR_PAIR(color) | temp->attr); + } else { + mvwaddch(screen, step_y, step_x, ' '); + } + step_y++; // move down + } + step_x++; // move right + } + // draw player last + mvwaddch(screen, player.y, player.x, '@'); refresh(); } diff --git a/interface/curses.h b/interface/curses.h index 5c9302b..c863c45 100644 --- a/interface/curses.h +++ b/interface/curses.h @@ -1,8 +1,18 @@ #ifndef NCURSES_H #define NCURSES_H + WINDOW * screen; int cols; int rows; +typedef struct { + char ch; + int fg; + int bg; + int attr; +} CursesTile; + +extern CursesTile ascii_walls[]; + int original_cursor; #endif diff --git a/interface/sdl.c b/interface/sdl.c index 3e9fd2b..f4f1fd9 100644 --- a/interface/sdl.c +++ b/interface/sdl.c @@ -12,7 +12,7 @@ int interfaceInit() { // Load it up! SDL_Init(SDL_INIT_EVERYTHING); // Set up our SDL Window - if ((screen = SDL_SetVideoMode(640, 480, 32, SDL_SWSURFACE)) == NULL) { + if ((screen = SDL_SetVideoMode(640, 384, 32, SDL_SWSURFACE)) == NULL) { return ERROR; } SDL_WM_SetCaption(NAME, NULL); @@ -51,7 +51,22 @@ void interfaceLoop() { void interfaceDraw() { // TODO: instead of redrawing whole screen, redraw last positions of tiles SDL_FillRect(screen, NULL, SDL_MapRGB(screen->format, 0, 0, 0)); - SDL_Rect player_rect = {player.x*16, player.y*16, 16, 16}; + int step_x = player.x - 12; + int step_y = player.y - 6; + int end_x = player.x + 12; + int end_y = player.y + 6; + while (step_x < end_x) { + step_y = player.y - 6; + while (step_y < end_y) { + if (visible_matrix[step_x][step_y] & TILE_VISIBLE) { + SDL_Rect wall_rect = {step_x*8, step_y*16, 8, 16}; + SDL_FillRect(screen, &wall_rect, SDL_MapRGB(screen->format, 128, 128, 128)); + } + step_y++; // move down + } + step_x++; // move right + } + SDL_Rect player_rect = {player.x*8, player.y*16, 8, 16}; SDL_FillRect(screen, &player_rect, SDL_MapRGB(screen->format, 255, 255, 255)); SDL_Flip(screen); // redraw! } diff --git a/main.c b/main.c index 97b832a..1da0b75 100644 --- a/main.c +++ b/main.c @@ -18,11 +18,14 @@ int main(int argc, char *argv[]) { // h'okay, let's add our default player commands playerSetCommand(PLAYER_MOVE, playerMove); + gameInit(); + // start our program loop! while(is_running) { if (is_networking) netLoop(); // handle new network input + gameLoop(); //worldLoop(); interfaceDraw(); interfaceLoop(); // handle new user input, redraw screen, etc. diff --git a/map.h b/map.h new file mode 100644 index 0000000..f086226 --- /dev/null +++ b/map.h @@ -0,0 +1,15 @@ +#ifndef MAP_H +#define MAP_H +typedef struct { + int id; + int material; + char name[8]; +} Tile; + +typedef struct { + //Tile *tile[15]; // array of 16 pointers + int size; + Tile *tile[15]; // array of 16 pointers +} Stack; + +#endif diff --git a/player.c b/player.c index d5a4b89..1ab3df4 100644 --- a/player.c +++ b/player.c @@ -13,16 +13,25 @@ void playerSetCommand(int command_id, void(*function)) { void playerMove(int direction, int distance) { switch(direction) { case NORTH: - player.y -= distance; + if (!gameCollision(player.x, (player.y-distance))) { + //gameUpdateTile(player.x, player.y); // set old pos to be redrawn + player.y -= distance; + } break; case SOUTH: - player.y += distance; + if (!gameCollision(player.x, player.y+distance)) + //gameUpdateTile(player.x, player.y); // set old pos to be redrawn + player.y += distance; break; case EAST: - player.x += distance; + if (!gameCollision(player.x+distance, player.y)) + //gameUpdateTile(player.x, player.y); // set old pos to be redrawn + player.x += distance; break; case WEST: - player.x -= distance; + if (!gameCollision(player.x-distance, player.y)) + //gameUpdateTile(player.x, player.y); // set old pos to be redrawn + player.x -= distance; break; } } diff --git a/wall.c b/wall.c new file mode 100644 index 0000000..9c2cc43 --- /dev/null +++ b/wall.c @@ -0,0 +1,8 @@ +#include "wall.h" +WallTile walls[] = { + { WALL_STONE, MATERIAL_STONE, "stone" }, + { WALL_WOOD, MATERIAL_WOOD, "wood" }, + { WALL_STEEL, MATERIAL_STEEL, "steel" } +}; + + diff --git a/wall.h b/wall.h new file mode 100644 index 0000000..744fe22 --- /dev/null +++ b/wall.h @@ -0,0 +1,18 @@ +#ifndef WALL_H +#define WALL_H +/* move MATERIALs to materials.h */ +#define MATERIAL_STONE 0 +#define MATERIAL_WOOD 1 +#define MATERIAL_STEEL 2 +#define WALL_STONE 0 +#define WALL_WOOD 1 +#define WALL_STEEL 2 +typedef struct { + int id; + int material; + char name[8]; +} WallTile; + +extern WallTile walls[]; + +#endif diff --git a/xcode/build/timesynk.build/timesynk.pbxindex/cdecls.pbxbtree b/xcode/build/timesynk.build/timesynk.pbxindex/cdecls.pbxbtree index bdce005153008c996672c3ee7447dc9d87d0daf1..07de67d6ff0ed4b46048b7f74188591ba22d3e49 100644 GIT binary patch delta 998 zcmZ{je{54#6vxl~@$Pk!4yAkzLh$VP@fNZ13d>7OPn8Ry;|b^0`NxA-zj($*}x$xe$)MrsplWL9wor z`(-32e=hLm5dgdkpz9(r4m|ra)+XgLb0jHKw=o~C>XT2ox&0#zyqQv&AjXJGIM^pW zW~@)PS1>PbP0J=~>-$89!(*~(xysLqvBs9mRCbn5b9~K~51CJG`9^21aJ)&4A#u>u z@3s=c@`BZy!NKbypFF0}*=DUVjcwLsfSey2vhL=##QGtt(TomR1s0vjnweqiLl>Ki z-J{l%s>%la%62?j#Y-?hZM|;#($=X3ED!5utKVZxyD^2i* znklAQr9Qn-3%!w&?Z(G_`U%tT)Ac2|ccoUCAJU7JJwtX|uqLD*H5k%omr#Oh<9Z$q zdkF*g$RPH|bpR*g+Q&N0&A2Yl(ZbOI{P&z&rLb|QeiZ||1^t9rDYi%1g0g=$W{Udz ucWdnH)bBNVzxLnu{JlYm%X@<5POwG~fUuTQi~oCL>D$4jP^ ziy}SpY0RmGV60|3$={%(vOi*hP}CWeQPEh$=D<4H#DeXY{qf;>;CXny&-Z)ah;QVO z?{uoH0GQI)TrLcq>Si)z?1o$xwaPDWi z+r#rrc^wJ|dZ{9e+f!jj2e6W1KsLux48YD?I?O;AFP2~i?e4-V8tlScc>%!xiy7;} zc{d&Dpfjrh!$B&lXOC2M9$>+kaqeWj1#$+653A{JEBk_qx5)w%YGXBhSYa+z@pLCn zqu=Uy=?56t0vLDzSh56QPoYWM%!|LoZWJ@w4V|i6|U|(BSH>W3b2L&0GbKV{Mhn@ zYFb4Z8w{BCR?(Y;sZ`l1)^l)dh&CqYnW0W`y1+_)6BpZ~P01dUh>J=;`lw=5lu^^D zDAvet1M(p=Fe*+qO=5{On{l>fwy8ZTqg;AGc8pN>Yo1HFC*%sOHD8^Ozt6Wv*TkfU zzK+SQ(e`9P|2eoa4`b3Pt=W7t+%GS?Fojy~%XRcqDf3fCTz+RalT2q^{+dHO{#Kec zkISN||Av8G{|DHutH8>anM>pHPCBMjgIm>e+#fI_Zgo7<9?dZgOVtmPClXYpv_7cH z-YJ{5psG>mX%4BvNo*Gb_I*3B3;nbvq!v$@J{nTamFS|gjVg;){mJLhUyW+f#4r9P zb#0ctooAk1QS}Svvcx%HqYAjbVKZp9ys~}F)-9H+w!dcUG0Sb!@KPY`WIX4#1|pg*S11A4{80~F9Vifm46BRYdV o$`woKazxL6=Zl_3v=>*Jw-KH1&@ABvHs+vumnfla2lcoA13%*p*Z=?k diff --git a/xcode/build/timesynk.build/timesynk.pbxindex/decls.pbxbtree b/xcode/build/timesynk.build/timesynk.pbxindex/decls.pbxbtree index 3bd2bfcd1fc4de718499b7129093eb6ea0dbee23..ebc7d5aa1ce6e03904503bb711749b02614e2a60 100644 GIT binary patch delta 1175 zcmXw&ZBUd|6vxlK_j&FUyBaUc0?XU3Foa})w!=$8ft4S~bsS>}oQQR#DO60R5HgrP z1e25CXg=5hqN3O#${Jxd=US1_WDPS~;DlrN3Mo?=2E|U}*oGZH^x-%2pXa&v+;h(V zoM3Bm>%QbevHBi>pZ|0UlQj5cKd-B%@I%k zPar=xfiZ{a&08<{;%&1tFEucdSD~>4Gp;a)KFyk*!h%3sVO(mY9Ynn!Al?h&9sprf zn}fbIdgLnb;6>sxKv)$~2{0Zc{w8h#Oz=R+x4n#FEe2|ix9nscYR<(n9;R$tR9qFa z@39I?8wiU@98vi{viH`pMEoh5mpS?35(Ng}iy;uQANbr+;v)(?3-Ik{%46q!VJsRK zl6i@h2Y;oko&(UP)#FY+Zp(}ULnH#6_YpNjBhf|-0(@#C3W0CwrU!1&y&7EY<|$a^ z=6R~i&3|~7MPf}S&rA@O9$-B$0BiCQuK-J10W512_>oaH*vU6Uv3M2wn2$fX+y=s1 z3^2T&!tKJze|eKCUE&ceDGIcm6#%!EfR$7OTjK>bc7WJVh5doecla7Lbce@xvlu+n zCDH^B&f`Lt$Tfu}LzQ-m9fDePfZBsZml}IVlt01}&~-^{H-yDcANx&aiB%t75|fWI zCpJ5^vxd-L1>?1P^td#)+UL?bT9WLbZzcz$ZxZuV_Y^Tp%n;XbrC-Y-Q{Kd_e!9`; z*KXWLrd?8pPHV^RWf7|Qg65OVhP~5Trok8gq}gi1Gt*kBN}th2hcG->mw5BA?h?Xi z#AT-LQ@c&Q-p1Zi*ZcMAEE*tvrXJW_712OXa`c|l8`bzZz5M}lypqdZ1`le$9_pcT zZ0Z`9o){K~s~s|lZ1{lcoFv{QJ|}vKv&2R8IOHZAnHLhja>!GZ^cB?_FC(K#O{>l< z`A;G>rDKEKOyyn1iIB)vu^zcB48y;d2HsyLi|FL*jwpcItpIN~18?BK zyLy2Sd`-5#gu{K3_Tu%ulwqFA_RC_8V%H7Gy@oLAfVJFK3j;DNh64VKp_B447K_Cr z@x2u?`q1VmVncMak{RfoCaF+l8 delta 1001 zcmW-feN5F=7{{OIoZs*KxDfGnfqS{v`vMXpl7{RC5)qm-@ufy^15&}Mm1YWSXe(X0 z!4|SK>SsKlxGZl**{1I54pS1^bfejZu3XaiLl*>!2Fv}haHRiy%^8n|50%(bVczTLi3y{$UaBCmH zOLM%pJX-pM2hnBMl~mbBO0uy&I#jaO;QOxfkX=(=hLh3Ga!*cT3dptyKvo^dIIzz& z=VpSV3Ba)qU~HQCiQqiktzY=3FI8s5@RRRoE(e?ktZaX>N(6#qPGP+a1 z*wz3rb04sJ6JSvt;OKs)i}ucmA_)fv^r<=FIfUu-eV@#wdwnt_dRlCZFVMAz4dxX0X)ZLejlMiD+SN?1?D@>uIH;hHJuV47= z&0Xa>@1`+wnpc1Q$jqe_+iaSzvBfsq(r~4oJZ^3(Omu>Ivkh>niP=RB*UUHP4~<Z~k8(9YE=$-&Mo467>I9#$3e@0|#%*)??AsZM~kE;c=eq6o60!GGFb3Xr;fV8S@^WHMLIEZ_7fng0UV6P^FR>;0vmhr$q zI(b%E`i*RBy$hXmrOe8rKg+C_S#X@Lf6~hK6o}ZTAf^>ai$7Sbhq=q~5YMkN=Q+N> ab0_m1_19vazWky!n}E;i(T&#E{{I1U`8qcM diff --git a/xcode/build/timesynk.build/timesynk.pbxindex/files.pbxbtree b/xcode/build/timesynk.build/timesynk.pbxindex/files.pbxbtree index 67744a233cc3ecb60665b3fe0509d70db97b31d9..309173818e8e51aa97bbb8d31b9513b67d923bd2 100644 GIT binary patch delta 114 zcmbPZFvnnmIOFY!61v>X+*u4vpKmZQeeu~CAT1Us%)lTn!NByA1&GyvcqaqXs}`V& zCI)8qKR~< delta 114 zcmbPZFvnnmIOFw+61v<>pCcKVIb<1_KCj#uAT1Wi&%huq!NByA1&GyvcqaqXs}`WF z83Qx>A0XZa#EXG^0iZ5R2Bz;x3`}3RfovY2I4=X!Z)OIjpVxu37!W%FasTE$VhM}@ Dvl<=g diff --git a/xcode/build/timesynk.build/timesynk.pbxindex/imports.pbxbtree b/xcode/build/timesynk.build/timesynk.pbxindex/imports.pbxbtree index 6d1fc6fd59811b1fdc943ec88c766d48ab97dc62..47a107d11d694a43b9c78a41b9d174e71462e517 100644 GIT binary patch delta 237 zcmX?5exQ7Uc;p2J28KmI3v*$t$3mpvgC^lqZW@D>Ho&oNQy=0sttgIKlt` delta 213 zcmX?5exQ7Uc;pEN28KmI3S=)m?S|!Q&&?=OALdj<}w1)Qm3qG`IVuJpn!@a3MdtY zqrf8$CW0SiJS?+rtvwT#U?R>eZEU7lWBCDUOh!);xs8Llrun^Dv)24Gcdg$#XYaf3 z-oJhJ-sj%@CgSEd5tSp&#fBmN@P70|?&Kyzx-J>QK50ltn;{1FLw+A}4dkPc>mZjw zegX2QkPkpU0QuKexqIV1E-`QkidUdmVui#MyQ#*zebOeXwSp(l_!$*j8Ba_jDILqa zWVKxf41s)1Z{AhIly2kko3$l^*-KelkJ?dB6Lh zUW$S5tuo6^(%48=-G>#Sw84t|Y#2pJ7bx0+6xy-+3^BOR5dAA5U-71$V4docan}7E zbHnLbtLUrI6lD96#wu^k*XjCEkIJ{6@EB(jm^DLpvfs?k!d?QfCM~rBAP=sqD<7;lz>o)EhzzwJM?eq;yv4#1a~G z2)hs8-_S9ol&qJOQVTu9AzNu4B?$WiFu#SjuyB5A7$3L(KXBPLIu=5+d1fU=P^dit zAD}Osfoe8zRuw%ml9ubHX7ZsQ{skqvYv8WV@X;PH-J$(H@^Eqsd4hz!mWz&%4yOei z-a*qSOxR!HgC5{Aa8=JeNv#~!N%f=LyHG2%WpE_C?d20)bk#-K-26R7qNQA3-R7rS zUUZ!{JE?%r-KMnx^)@|wke2a#gA`9VxdBjpoiE&>-Qy^S3uDA2)X=d3DID>m=W;5*;E;x>{g&7#-P9-MK~b&kKJjvYI=`4NJ) zq7?!c%_msj;|DD^h!?ANBv4X z!DCLzQ`6`%ea%!=Na>D#zEr-de+p85?sKTl7-8q~?-JF6LfD1upP)XE6z;$=kD>MY z!c6r-kS!4ZGEaF-ZA5F-l^6it$MV%#3Vid~KU+lx#z29?aoCHjR35W5D+W_>a zI!rp|(x8W_Ho4l$u-0d;c#fgR}@)^|K zqn9_UcI4l!6Mbr`&O2h3^DUn`6M>^?Yf}sG>RWxbk(TIn?P`hsbGy3EoyXPIXcwBx zP|eR9V*PZU-=)GbDP1q0XugZ_S_A%VJam%zG;#K1^MMe`;`*s(Dd9(P4I{Jyj6T=V zDdr|VkYWy(58DaQSm3xDoEKpo1Kt?F;Q82(z&@aV3VZxST=*N=sUYIeuR^5p^ZcZ!&X~uvh34&E_g$ z=jaD~=Gag>&yeOsB=-!APU*!yGe_9(@>!o5gdmIcxfb(vVHfD=gJuF(95PdJM=ayh Ths{PB^52SFn!sz0n0M*l?^mRe delta 1777 zcmXX`eNdKF7Qg3yyddujO1^>!Dhh)5wWf@NhRa80WPqShQths~Iu;5D=!(jW=;{oC z8u+M(%7sj7cu^a+r#g*RYJ%jht1wy9x|XgVjZ?1zKDvrEx(9dv_{}}%ew_2W=XdVy zy%yGcEvzowgbE=${~9$tc;*X2I{SsZ;}R<1INN!Qy^KEgKjSfzv4U}w{V#aTXH+vz z+ttDApKz(ygef2O-W{A#<|?BwrPBMx-6P`Ph?CXkGhozx}%HfdF{-pnwBU z+6^DohCsO;domQs>-l2^Vte62?Ozr}qmvI!cJLVtOYA<_?qh zd+A0JEcC)WOwNLBcsdJO@llmpN#AC}#4zSjLwY%MdSD@*DTP_mSx>qQh5?N%haWwV zhq?;J@U|!%Uj_Y`uo;qYke>g>;v6&QfI?pcit<+X1rymz;tlR#(gritL1a!-KQ9Wljkd z7{MtPQu`&i>V`sU`57VrJN&Rm7VMx!H(^r{l+$wF%gKO;$H?jc=-wkl)F+fUR{rcZO9k9cqSz^NQwl7i<|4TqtS@8UrGq6h zWDsAVi9V~4CEGn}W#GGeLHmcyRlwRO0=L;hr)jM+x2Q*MdmsbZ?WA|rz#6PtTv zF824x>k^OB#a&r~0KI6#SYBBq3XnX5*{vFD|zBGoerO3|}jeN5fkRXPl)h&{E;G-9U; z(y$t1cc~Yo(?AuwRM9|r(`n*v6)52kl(<)=0d7O}$z$!GYEVZ8>T-bYx2m29$j2M) zs(_yBQ11_f4aA;P>I$!qz~R4>&(r9y)K|0dlF|Wq%jjA>oejZMFA zoS{$0>uFLt-;jTTJ{!T89|LRf;vD^ZN`FSL8(=hzuFloWsD%6(Is&ZF6|Hz|o=$ws z%9*EAjC49EF-N}~0|i)Du73)08o4eHxcetl^%_0+e<^XTZj?-L4JB3RwGu-cjGx}z zs2c{vD8s}moxnypEw0kjhlVcT2A3Qqo3WkIMa`Bz>NTlCe?JLVwdfP9#WA0|-VB|SKc zm0mW<9HxlLX2Ih!(#k1jst1u$LY)mrV0LE@mGDih90(=vd3cn7kEyFK>z>% diff --git a/xcode/build/timesynk.build/timesynk.pbxindex/strings.pbxstrings/control b/xcode/build/timesynk.build/timesynk.pbxindex/strings.pbxstrings/control index 03553eda2592a70a7439a4143df016e9565dae0d..27b72c88f7bbf48cbe6d8dafafbbdcb2d7e843e7 100644 GIT binary patch delta 2110 zcmXw4dr(y86~E^`_uk#TcNf`ZQ5e817+{x&@~Da8nurEvuqud;RhJmFPN)S_P#laf z!O+ykFQE`ff%$WhB{q?BD`Six?`Ry;5K#- zk~&y;rLo1k-oA}dul6u2dpJf*?Def2m`M7@nJHNiZTMNycqPRO;X(WS#)MP{*cxY~ z_JL{4BrONz#+tM>vdl2M9x^3$(}MQAMsK>)-p9y}2Ilo&1EVGN(<+7v(>IHdV?=(E z-98Cip_V0ktnfH!pBySE@v@K^s#zQ11ToZ9Jqth%^=^F*B=y$J1Nb5o^>!UAX`ZY) zW`Gac(?i#4Zz*66+9N~V@9&-knZ~a2(rYi1%^B7j%i(zuz73DiJjra8&7cnCp*0`XE{Nsf@xKe6>7l)n4Kvlql=f40w3GC>< z1KAc34IdkDbQr2cQDYz@@0?!ov&9{Zbz$ev5Iuq2)J#d?1BLCF3?jC8*?X#_d5`m3 zdSq;v!D@-%A~f(qDSOdG1`QiojfF|rQqCTe?2{Pj$1U~4gr9ot=A7ZcTJ&#Wck;mF zof>wh1QYbKdUm}S#i%1^1^v5vQwCahuv=u~YPIZLA7W*wDsCm|#D)9bvzgDXX$Bw%81Rpthp* zEB3DfD0um67Q!^myHyC4Q+oe+O9<71QRydba1M@xrfE@ z1>C(9N@~~KN41g2Z{>cR4j%n}h+9r3ho#>H0P|0B+cn6<%jdX-6Cezu`nXgxycD!2 z=~cJ6cmu}U+!|vYk@y3}l9qh$&}qhrZEN^<3wX`jCF^k==5WmI;CE*MXF&1f4*$$b z0e&mr-3$2m-~5oxAa5j&azZOm83z^R498fX4kejmS>r~xAbew^8+R1X0H?P&g$*P; zRJ@;)zeLQ85N-)z!SHBd2p|pl7-78t1z6@5=E+b^p7n08Fc+p8EXqw0ssOU^RH`s! zv8Vl?g|s#+)xHaOYKD*(LEh&lwFd;W6bd^v(6DK(fGVx|n}j-^0P9g6lt*K4m9Rd+ zXm2DIeI#r#QSl>(7nH}3bJ^Q2&31Dh{lswMSR7W zhDhAul+I9WPu`WB0FU`G62z0Q>*}uZF?hDkkxU|~PwZ|Qpo8gnVZOA>Nfv6sSLHkw zmPmC1Ns`)K%j3;;(oi1Ac=>aw*aP9{?w3mJbXnAH4)EA8C?zar(% zt8(^KNH=Uc1?9gWuVbW!rM;Su2pos~lCsW9y`AGwwhQnUo}Z}nX^>=;-I=6pj3SkL zo}#JnvcZH^Man+`Dh%zaVkL`(3~XAiXcDCAZ2{#M3jd#z=WIN-l_)=ifyL-k9SW7o z+b(Fs`VW-v6apgEk>(qlmCF4}mkH|8b3mDHY9e+tvjC8vDl~@}8&B5GD$h1!S;q*`a`}=NDQ^ zG|ltLvd_|FMtW!S{?B|ADiQA%TK-Iw@C<%$w$YTN=jagIL29zJ4k)| z#?&4Y)<;^iIdI{rC~Kb!HX8T8%(T8}A@hAV-f30v{%q?8FG-O%ZV^%azq3|Tk)G=x z#*{np<{s<9N}y*b5_1LBnLrHoC#$n8^cQH!R^_#17!{ov%j1zhs>j1gvPQ4o%i|lz z)EFDRAN8lz=NydXeDs`}kWANm2UVTkJS-blH4es}rww@bk$QcuVV8~%Uefl#__lL~ z)}BFw?yt}my+FgdGe$qq1P;8|qzS2pNgO^nr*%vid-(A}pVk#?bTm;v_)Pm)oW_XU R(OLTJYKsF`|Dtt?{{u|Al+OSF delta 1869 zcmX|Ce^6A{6@KTwz3;t!Z}+|3m1Q3aaY;4^D6pgiOiKi<#1I`d6(z<+B^GUGm=u$O zn!yAnFq)~xd9&D?Y0$<7oct1-tjlR#A!6Qhd^n(GjE5#K{79YByIXgmaLq?@=c!wxIg}2elhrXrpM!#^1b59 zBk`<)AQcwS+uze;ik4@gg}1oX9GE@`a_cX1g4>~rzBYt3Yz3I?lh zBRdpZGH;)u?Bh1A2)*rO`&>{2+{3>oi#aV(oH|A}11K!^DmmksVM3DR$eVSnuuIEx z!VB2mE@FZk4|I``1`c+;Mc#LV3+sDHwE+%S4!wURf1$ka#rFyDxzSYfpHI_73y9Vx z|4y_Aop2a4Lh{6qX30)jDSwsECil2)3_c@Yc>rwopM<<|*1zhM{G0{%;>EM_nmM3j z`mkJJz+A_l%bGry?-g8qE^iU`w(2@oJ$tWfi|d8ePQb>B9@mS-Gtx|6bKUgLMtu8? zYupF2z&0h*SHQZ{wD-n%t`VLVbAZwhd^`&~kxCz9!H^kt!alq|M6Xg%FeQVI1KfqK z`E&<`hp|3FSGZv#&&USy=tB?|qfwDhn*g$~uYitw{CC|c!tG&wPx(RYE2Wj8Sx}xT zy3gWM)3J@B$?dAAXsc`1JJ>{bWC`8UaQzXwTZ_N5Y%As+r%RUe(E5K4Z9a8(IPhb4`TBWoZO`Jra}(B^^}qmaOP&?RGZSf8iIK0vVzM5 zTWQ#ys-D(Z#eChyn)&KPL=4H^<*KH{PcJLS{zugPsk6YUYSmUM5|3sxP}s?i0%MH%9gE!M#9I4{R8;%K3O@;)tqm_i{~^2leMDEX8wk z^Xr%_tZS=&OLWp*t6vR( z!ryHx(nkGR8|tv_p#HJW*4suH8(-3UHTXF$I;KD1bpqLVut&e7@+z@jT}}5Zl3w=4 z;jUNQk`<{7b~W%Vk%LG6ruz)>1O`U*Fp2kn8pVvy^d%-_Vr)!53gondx5xEQU4oWO zocdPZU+Y1E6X*i;It^!1`PxHL6 zlCLRNQ{`F9P7IoE<@sGNybC zJ8VOth<^8eZ?=bxo}n6!F7^I`?-U=_{mR=gixxjQpzrw2mqZBtR diff --git a/xcode/build/timesynk.build/timesynk.pbxindex/strings.pbxstrings/strings b/xcode/build/timesynk.build/timesynk.pbxindex/strings.pbxstrings/strings index 456adee5f7fb189007f33fb6c26958b7f1f5531e..c42ce15114bd5ce78bde9ac0d8c0d9dd1450c67e 100644 GIT binary patch delta 577 zcmYk3O-{ow5QT^Te^_${Bu>D_O)Y9+NYw-)R+dQ&wQ!rrHnd%pg^$EtSg_*~Y?(L( zv9acPMsGepe|=nhe_p(WwXhyG!e-bC+hHf{hP|*K4#HtL3dip!UuVmiH0FE^m3EDh z3#^{xM6s#%Fp-UDyABG%xfsAT$?1p@F0wqmq5mbNyc_B|alS~?K6-d%wKUKg3Fqxg z>7mcEAt(3fSm|Y4D{xobx0+}fcwILzRkO$tsgl|l?Q}f_FYS}^V*Xn!I)AIs{f{yN zM3gLV0b7K4IFPQ?IvOt>Bq>ivq8PB8uIe5q$+vxnoR{&r6S?$O&!IrHTpI;B<5b+SjP*F} zL_%&vMpuHf%Rw&M@Lw^A2cs~!Xn^_Q*Ikn#h8m4BFU#kc+HF(eC&bI-#X9A>vVC+0 T?$oOWb5zp`PuGe?6btwPXEnhY delta 39 ucmex<+vd@An}!y~7N!>F7M2#)7Pc1l7LFFq7OocV7M>Q~7QQX~kF)_eSq=37 diff --git a/xcode/build/timesynk.build/timesynk.pbxindex/symbols0.pbxsymbols b/xcode/build/timesynk.build/timesynk.pbxindex/symbols0.pbxsymbols index 4cf6df7f14d78efe845b75403c9ece7e45a71549..0ddb05987249020ac31e8b8620babf2d12ac00a8 100644 GIT binary patch delta 11546 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 diff --git a/xcode/timesynk.xcodeproj/kts.mode1v3 b/xcode/timesynk.xcodeproj/kts.mode1v3 index bcb32e9..3930d03 100644 --- a/xcode/timesynk.xcodeproj/kts.mode1v3 +++ b/xcode/timesynk.xcodeproj/kts.mode1v3 @@ -308,7 +308,7 @@ PBXProjectModuleGUID 1CE0B20306471E060097A5F4 PBXProjectModuleLabel - player.c + sdl.c PBXSplitModuleInNavigatorKey Split0 @@ -316,26 +316,27 @@ PBXProjectModuleGUID 1CE0B20406471E060097A5F4 PBXProjectModuleLabel - player.c + sdl.c _historyCapacity 0 bookmark - 20568DFA17EC16C60022F314 + 203B68E717F7DA2400272675 history 20567ECA17E95DEC0002B1A9 20567ECF17E95DEC0002B1A9 - 20567EE317E95E0D0002B1A9 2090289817E95F9E0051A253 2090289D17E95F9E0051A253 20D2707917E962A1005B3EA0 20D2707A17E962A1005B3EA0 2002F0D917E972B3003CF277 - 20568DE617EC16C60022F314 20568DE717EC16C60022F314 20568DE817EC16C60022F314 20568DE917EC16C60022F314 - 20568DEA17EC16C60022F314 + 2007C92E17ECF2EB00268653 + 2050562017ED9E6100F572B7 + 203B68D117F7D77900272675 + 203B68D217F7D77900272675 prevStack @@ -351,10 +352,9 @@ 2090289E17E95F9E0051A253 2090289F17E95F9E0051A253 209028A517E95F9E0051A253 - 20568DEB17EC16C60022F314 - 20568DEC17EC16C60022F314 - 20568DED17EC16C60022F314 - 20568DEE17EC16C60022F314 + 2007C93017ECF2EB00268653 + 2050562217ED9E6100F572B7 + 203B68D317F7D77900272675 SplitCount @@ -414,9 +414,9 @@ TableOfContents - 20568DF017EC16C60022F314 + 203B68D517F7D77900272675 1CE0B1FE06471DED0097A5F4 - 20568DF117EC16C60022F314 + 203B68D617F7D77900272675 1CE0B20306471E060097A5F4 1CE0B20506471E060097A5F4 @@ -552,8 +552,8 @@ 1C78EAAD065D492600B07095 1CD10A99069EF8BA00B06720 - 20F6A1B417E95A6200BAD261 /Users/kts/Devel/timesynk/xcode/timesynk.xcodeproj + 20F6A1B417E95A6200BAD261 WindowString 68 125 788 504 0 0 1024 746 @@ -572,12 +572,14 @@ Dock + BecomeActive + ContentConfiguration PBXProjectModuleGUID 1CD0528F0623707200166675 PBXProjectModuleLabel - + sdl.c StatusBarVisibility @@ -586,7 +588,7 @@ Frame {{0, 0}, {500, 218}} RubberWindowFrame - 139 177 500 500 0 0 1024 746 + 53 221 500 500 0 0 1024 746 Module PBXNavigatorGroup @@ -610,7 +612,7 @@ Frame {{0, 223}, {500, 236}} RubberWindowFrame - 139 177 500 500 0 0 1024 746 + 53 221 500 500 0 0 1024 746 Module PBXBuildResultsModule @@ -633,18 +635,18 @@ TableOfContents 20F6A1B417E95A6200BAD261 - 20568DF217EC16C60022F314 + 203B68D717F7D77900272675 1CD0528F0623707200166675 XCMainBuildResultsModuleGUID ToolbarConfiguration xcode.toolbar.config.buildV3 WindowString - 139 177 500 500 0 0 1024 746 + 53 221 500 500 0 0 1024 746 WindowToolGUID 20F6A1B417E95A6200BAD261 WindowToolIsVisible - + FirstTimeWindowDisplayed @@ -753,13 +755,13 @@ TableOfContents 1CD10A99069EF8BA00B06720 - 20568DF317EC16C60022F314 + 203B68DA17F7D82800272675 1C162984064C10D400B95A72 - 20568DF417EC16C60022F314 - 20568DF517EC16C60022F314 - 20568DF617EC16C60022F314 - 20568DF717EC16C60022F314 - 20568DF817EC16C60022F314 + 203B68DB17F7D82800272675 + 203B68DC17F7D82800272675 + 203B68DD17F7D82800272675 + 203B68DE17F7D82800272675 + 203B68DF17F7D82800272675 ToolbarConfiguration xcode.toolbar.config.debugV3 @@ -921,7 +923,7 @@ TableOfContents 1C78EAAD065D492600B07095 - 20568DF917EC16C60022F314 + 203B68E017F7D82800272675 1C78EAAC065D492600B07095 ToolbarConfiguration diff --git a/xcode/timesynk.xcodeproj/kts.pbxuser b/xcode/timesynk.xcodeproj/kts.pbxuser index 7b4dd48..325bc1d 100644 --- a/xcode/timesynk.xcodeproj/kts.pbxuser +++ b/xcode/timesynk.xcodeproj/kts.pbxuser @@ -32,6 +32,84 @@ rLen = 0; rLoc = 2147483647; }; + 2007C92E17ECF2EB00268653 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 20568DD417EBE9490022F314 /* player.c */; + name = "player.c: 23"; + rLen = 0; + rLoc = 614; + rType = 0; + vrLen = 508; + vrLoc = 0; + }; + 2007C93017ECF2EB00268653 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 20568DD417EBE9490022F314 /* player.c */; + name = "player.c: 23"; + rLen = 0; + rLoc = 614; + rType = 0; + vrLen = 508; + vrLoc = 0; + }; + 203B68D117F7D77900272675 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 20F6A1D417E95AD300BAD261 /* stubs.h */; + name = "stubs.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 350; + vrLoc = 0; + }; + 203B68D217F7D77900272675 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + comments = "error: 'map_walls' undeclared (first use in this function)"; + fRef = 20F6A1F017E95B6F00BAD261 /* sdl.c */; + rLen = 1; + rLoc = 57; + rType = 1; + }; + 203B68D317F7D77900272675 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 20F6A1D417E95AD300BAD261 /* stubs.h */; + name = "stubs.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 350; + vrLoc = 0; + }; + 203B68E717F7DA2400272675 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 20F6A1F017E95B6F00BAD261 /* sdl.c */; + name = "sdl.c: 77"; + rLen = 0; + rLoc = 2111; + rType = 0; + vrLen = 760; + vrLoc = 1276; + }; + 2050562017ED9E6100F572B7 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 20568DD217EBE9490022F314 /* game.c */; + name = "game.c: 12"; + rLen = 31; + rLoc = 149; + rType = 0; + vrLen = 247; + vrLoc = 0; + }; + 2050562217ED9E6100F572B7 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 20568DD217EBE9490022F314 /* game.c */; + name = "game.c: 12"; + rLen = 31; + rLoc = 149; + rType = 0; + vrLen = 247; + vrLoc = 0; + }; 20567ECA17E95DEC0002B1A9 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 20F6A1C417E95AD300BAD261 /* common.h */; @@ -72,33 +150,20 @@ vrLen = 62; vrLoc = 0; }; - 20567EE317E95E0D0002B1A9 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 20F6A1D417E95AD300BAD261 /* stubs.h */; - name = "stubs.h: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 332; - vrLoc = 0; + 20568DD217EBE9490022F314 /* game.c */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {519, 476}}"; + sepNavSelRange = "{149, 31}"; + sepNavVisRange = "{0, 247}"; + }; }; 20568DD417EBE9490022F314 /* player.c */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {519, 392}}"; + sepNavIntBoundsRect = "{{0, 0}, {519, 462}}"; sepNavSelRange = "{614, 0}"; - sepNavVisRange = "{0, 483}"; + sepNavVisRange = "{0, 508}"; }; }; - 20568DE617EC16C60022F314 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 20F6A1F017E95B6F00BAD261 /* sdl.c */; - name = "sdl.c: 37"; - rLen = 0; - rLoc = 833; - rType = 0; - vrLen = 401; - vrLoc = 355; - }; 20568DE717EC16C60022F314 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 20F6A1CF17E95AD300BAD261 /* main.h */; @@ -129,60 +194,6 @@ vrLen = 374; vrLoc = 0; }; - 20568DEA17EC16C60022F314 /* PBXBookmark */ = { - isa = PBXBookmark; - fRef = 20568DD417EBE9490022F314 /* player.c */; - }; - 20568DEB17EC16C60022F314 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 20F6A1F017E95B6F00BAD261 /* sdl.c */; - name = "sdl.c: 37"; - rLen = 0; - rLoc = 833; - rType = 0; - vrLen = 401; - vrLoc = 355; - }; - 20568DEC17EC16C60022F314 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 20F6A1CF17E95AD300BAD261 /* main.h */; - name = "main.h: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 73; - vrLoc = 0; - }; - 20568DED17EC16C60022F314 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 2090287B17E95E780051A253 /* timesynk_Prefix.pch */; - name = "timesynk_Prefix.pch: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 179; - vrLoc = 0; - }; - 20568DEE17EC16C60022F314 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 002F3A2B09D0888800EBEB88 /* SDLMain.h */; - name = "SDLMain.h: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 374; - vrLoc = 0; - }; - 20568DFA17EC16C60022F314 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 20568DD417EBE9490022F314 /* player.c */; - name = "player.c: 29"; - rLen = 0; - rLoc = 614; - rType = 0; - vrLen = 483; - vrLoc = 0; - }; 2090287B17E95E780051A253 /* timesynk_Prefix.pch */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {600, 253}}"; @@ -350,9 +361,9 @@ }; 20F6A1D417E95AD300BAD261 /* stubs.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1026, 230}}"; + sepNavIntBoundsRect = "{{0, 0}, {1026, 253}}"; sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 332}"; + sepNavVisRange = "{0, 350}"; }; }; 20F6A1E917E95B5200BAD261 /* PBXTextBookmark */ = { @@ -377,9 +388,9 @@ }; 20F6A1F017E95B6F00BAD261 /* sdl.c */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {519, 798}}"; - sepNavSelRange = "{833, 0}"; - sepNavVisRange = "{355, 401}"; + sepNavIntBoundsRect = "{{0, 0}, {516, 1008}}"; + sepNavSelRange = "{2111, 0}"; + sepNavVisRange = "{1822, 289}"; }; }; 20F6A1F117E95B6F00BAD261 /* sdl.h */ = { @@ -450,26 +461,26 @@ PBXFileDataSource_Target_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 401336609; - PBXWorkspaceStateSaveDate = 401336609; + PBXPerProjectTemplateStateSaveDate = 402118495; + PBXWorkspaceStateSaveDate = 402118495; }; perUserProjectItems = { 2002F0D917E972B3003CF277 /* PlistBookmark */ = 2002F0D917E972B3003CF277 /* PlistBookmark */; + 2007C92E17ECF2EB00268653 /* PBXTextBookmark */ = 2007C92E17ECF2EB00268653 /* PBXTextBookmark */; + 2007C93017ECF2EB00268653 /* PBXTextBookmark */ = 2007C93017ECF2EB00268653 /* PBXTextBookmark */; + 203B68D117F7D77900272675 /* PBXTextBookmark */ = 203B68D117F7D77900272675 /* PBXTextBookmark */; + 203B68D217F7D77900272675 /* PBXTextBookmark */ = 203B68D217F7D77900272675 /* PBXTextBookmark */; + 203B68D317F7D77900272675 /* PBXTextBookmark */ = 203B68D317F7D77900272675 /* PBXTextBookmark */; + 203B68E717F7DA2400272675 /* PBXTextBookmark */ = 203B68E717F7DA2400272675 /* PBXTextBookmark */; + 2050562017ED9E6100F572B7 /* PBXTextBookmark */ = 2050562017ED9E6100F572B7 /* PBXTextBookmark */; + 2050562217ED9E6100F572B7 /* PBXTextBookmark */ = 2050562217ED9E6100F572B7 /* PBXTextBookmark */; 20567ECA17E95DEC0002B1A9 /* PBXTextBookmark */ = 20567ECA17E95DEC0002B1A9 /* PBXTextBookmark */; 20567ECF17E95DEC0002B1A9 /* PBXTextBookmark */ = 20567ECF17E95DEC0002B1A9 /* PBXTextBookmark */; 20567ED217E95DEC0002B1A9 /* PBXTextBookmark */ = 20567ED217E95DEC0002B1A9 /* PBXTextBookmark */; 20567ED517E95DEC0002B1A9 /* PBXTextBookmark */ = 20567ED517E95DEC0002B1A9 /* PBXTextBookmark */; - 20567EE317E95E0D0002B1A9 /* PBXTextBookmark */ = 20567EE317E95E0D0002B1A9 /* PBXTextBookmark */; - 20568DE617EC16C60022F314 /* PBXTextBookmark */ = 20568DE617EC16C60022F314 /* PBXTextBookmark */; 20568DE717EC16C60022F314 /* PBXTextBookmark */ = 20568DE717EC16C60022F314 /* PBXTextBookmark */; 20568DE817EC16C60022F314 /* PBXTextBookmark */ = 20568DE817EC16C60022F314 /* PBXTextBookmark */; 20568DE917EC16C60022F314 /* PBXTextBookmark */ = 20568DE917EC16C60022F314 /* PBXTextBookmark */; - 20568DEA17EC16C60022F314 /* PBXBookmark */ = 20568DEA17EC16C60022F314 /* PBXBookmark */; - 20568DEB17EC16C60022F314 /* PBXTextBookmark */ = 20568DEB17EC16C60022F314 /* PBXTextBookmark */; - 20568DEC17EC16C60022F314 /* PBXTextBookmark */ = 20568DEC17EC16C60022F314 /* PBXTextBookmark */; - 20568DED17EC16C60022F314 /* PBXTextBookmark */ = 20568DED17EC16C60022F314 /* PBXTextBookmark */; - 20568DEE17EC16C60022F314 /* PBXTextBookmark */ = 20568DEE17EC16C60022F314 /* PBXTextBookmark */; - 20568DFA17EC16C60022F314 /* PBXTextBookmark */ = 20568DFA17EC16C60022F314 /* PBXTextBookmark */; 2090289817E95F9E0051A253 /* PBXTextBookmark */ = 2090289817E95F9E0051A253 /* PBXTextBookmark */; 2090289D17E95F9E0051A253 /* PBXTextBookmark */ = 2090289D17E95F9E0051A253 /* PBXTextBookmark */; 2090289E17E95F9E0051A253 /* PBXTextBookmark */ = 2090289E17E95F9E0051A253 /* PBXTextBookmark */; diff --git a/xcode/timesynk.xcodeproj/project.pbxproj b/xcode/timesynk.xcodeproj/project.pbxproj index 4ee7fad..5d4b025 100644 --- a/xcode/timesynk.xcodeproj/project.pbxproj +++ b/xcode/timesynk.xcodeproj/project.pbxproj @@ -11,6 +11,7 @@ 002F3A0009D0884600EBEB88 /* SDL.framework in Copy Frameworks into .app bundle */ = {isa = PBXBuildFile; fileRef = 002F39F909D0881F00EBEB88 /* SDL.framework */; }; 002F3A2E09D0888800EBEB88 /* SDLMain.m in Sources */ = {isa = PBXBuildFile; fileRef = 002F3A2C09D0888800EBEB88 /* SDLMain.m */; }; 002F3AF109D08F1000EBEB88 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 002F3AEF09D08F1000EBEB88 /* SDLMain.nib */; }; + 2050563317ED9E9700F572B7 /* wall.c in Sources */ = {isa = PBXBuildFile; fileRef = 2050563117ED9E9700F572B7 /* wall.c */; }; 20568DD617EBE9490022F314 /* game.c in Sources */ = {isa = PBXBuildFile; fileRef = 20568DD217EBE9490022F314 /* game.c */; }; 20568DD717EBE9490022F314 /* player.c in Sources */ = {isa = PBXBuildFile; fileRef = 20568DD417EBE9490022F314 /* player.c */; }; 20F6A1C317E95AAA00BAD261 /* main.c in Sources */ = {isa = PBXBuildFile; fileRef = 20F6A1C217E95AAA00BAD261 /* main.c */; }; @@ -43,6 +44,9 @@ 002F3AF009D08F1000EBEB88 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/SDLMain.nib; sourceTree = ""; }; 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; + 2050563017ED9E9700F572B7 /* display.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = display.h; path = ../display.h; sourceTree = SOURCE_ROOT; }; + 2050563117ED9E9700F572B7 /* wall.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = wall.c; path = ../wall.c; sourceTree = SOURCE_ROOT; }; + 2050563217ED9E9700F572B7 /* wall.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = wall.h; path = ../wall.h; sourceTree = SOURCE_ROOT; }; 20568DD217EBE9490022F314 /* game.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = game.c; path = ../game.c; sourceTree = SOURCE_ROOT; }; 20568DD317EBE9490022F314 /* game.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = game.h; path = ../game.h; sourceTree = SOURCE_ROOT; }; 20568DD417EBE9490022F314 /* player.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = player.c; path = ../player.c; sourceTree = SOURCE_ROOT; }; @@ -140,6 +144,9 @@ 20F6A1CF17E95AD300BAD261 /* main.h */, 20F6A1D017E95AD300BAD261 /* net */, 20F6A1D417E95AD300BAD261 /* stubs.h */, + 2050563017ED9E9700F572B7 /* display.h */, + 2050563117ED9E9700F572B7 /* wall.c */, + 2050563217ED9E9700F572B7 /* wall.h */, ); name = "Other Sources"; sourceTree = ""; @@ -227,6 +234,7 @@ 20F6A20317E95BC400BAD261 /* sockets.c in Sources */, 20568DD617EBE9490022F314 /* game.c in Sources */, 20568DD717EBE9490022F314 /* player.c in Sources */, + 2050563317ED9E9700F572B7 /* wall.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; };