From 5edcc76a86a9eae5182eb75374ddde9914f371e6 Mon Sep 17 00:00:00 2001 From: kts Date: Sun, 3 Nov 2013 22:53:13 -0800 Subject: [PATCH] interfacePrint is no longer directly called in non-interface contexts, but rather is handled by a messaging system. When one tile wishes to tell another tile a message, whether that be for descriptive purposes such as opening a door or otherwise, messageTile(Tile *sender, Tile *recipient, const char *message) is called. Within that, if the recipient->tid is PLAYER, then it calls interfacePrint. This will later be modified to check if the recipient->data->controller matches the actual user's controller (thus tying messages to particular users only). Also added was the basic struct for controller, but it is thus far unused in actual game code. The Controller will be used once a basic network/game structure is in order. --- Makefile | 7 +- controller.h | 11 ++ game.c | 4 + game.h | 2 + message.c | 16 +++ message.h | 17 +++ player.h | 4 - tile.c | 22 ++- tile.h | 1 + .../timesynk.pbxindex/categories.pbxbtree | Bin 2508 -> 2508 bytes .../timesynk.pbxindex/cdecls.pbxbtree | Bin 495680 -> 495816 bytes .../timesynk.pbxindex/decls.pbxbtree | Bin 495540 -> 495540 bytes .../timesynk.pbxindex/files.pbxbtree | Bin 6260 -> 6260 bytes .../timesynk.pbxindex/imports.pbxbtree | Bin 15912 -> 15912 bytes .../timesynk.pbxindex/pbxindex.header | Bin 24 -> 24 bytes .../timesynk.pbxindex/refs.pbxbtree | Bin 375440 -> 375440 bytes .../strings.pbxstrings/control | Bin 1048596 -> 1048596 bytes .../strings.pbxstrings/strings | Bin 999155 -> 999356 bytes .../timesynk.pbxindex/symbols0.pbxsymbols | Bin 1666160 -> 1671768 bytes xcode/timesynk.xcodeproj/kts.mode1v3 | 83 ++--------- xcode/timesynk.xcodeproj/kts.pbxuser | 131 +++--------------- xcode/timesynk.xcodeproj/project.pbxproj | 6 + 22 files changed, 101 insertions(+), 203 deletions(-) create mode 100644 controller.h create mode 100644 message.c create mode 100644 message.h diff --git a/Makefile b/Makefile index 9a37d9c..ecca195 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ CC = gcc PREFIX = ./ BINARY=timesynk -OBJS = main.o game.o context.o player.o npc.o console.o tile.o map.o wall.o net/sockets.o helper.o +OBJS = main.o game.o context.o player.o npc.o message.o console.o tile.o map.o wall.o net/sockets.o helper.o CURSES_OBJS = interface/curses.o tiles/curses_tiles.o SDL_OBJS = interface/sdl.o tiles/tiles.o DEBUG = -g @@ -47,7 +47,7 @@ main.o: main.c stubs.h wall.h wall.c context.h interface/curses.c net/sockets.c helper.o: helper.c helper.h $(CC) $(CFLAGS) -c helper.c -tile.o: tile.c tile.h +tile.o: tile.c tile.h controller.h $(CC) $(CFLAGS) -c tile.c map.o: map.h map.c tile.h @@ -68,6 +68,9 @@ player.o: game.h player.h player.c npc.o: game.h tile.h npc.h npc.c $(CC) $(CFLAGS) -c npc.c +message.o: tile.h message.h message.c + $(CC) $(CFLAGS) -c message.c + console.o: console.h console.c $(CC) $(CFLAGS) -c console.c diff --git a/controller.h b/controller.h new file mode 100644 index 0000000..2b8cd6e --- /dev/null +++ b/controller.h @@ -0,0 +1,11 @@ +/* controller.h - defines the data types and functions for controllers + +While the PlayerTile represents the PC, the Controller represents the Player. The Controller contains a pointer to the tile it is currently controlling, and in the case of a Player Controller, the Tile(PlayerTile) that is currently being controlled. Also included is the player name. +*/ + +struct Controller { + int id; + int fd; // file descriptor / socket number + char name[16]; + struct Tile *tile; +}; diff --git a/game.c b/game.c index ac69e40..faecb8d 100644 --- a/game.c +++ b/game.c @@ -13,6 +13,7 @@ #include "player.h" #include "npc.h" #include "console.h" +#include "controller.h" int gameInit() { consoleLog("gameInit()"); @@ -152,6 +153,9 @@ void gameMoveTile(struct Tile *tile, int target_x, int target_y) { } target_loc = target_loc->next; } + // mark the tiles to be visually updated + gameUpdateTile(tile->x, tile->y); + gameUpdateTile(target_x, target_y); // finally, update tile's x and y props tile->x = target_x; tile->y = target_y; diff --git a/game.h b/game.h index 1d7e17b..80c237f 100644 --- a/game.h +++ b/game.h @@ -22,6 +22,8 @@ void gameClose(); int gameCollision(int target_x, int target_y); void gameMoveTile(struct Tile *tile, int target_x, int target_y); +/* marks a tile to be updated visually */ +void gameUpdateTile(int x, int y); int isCellVisible(int target_x, int target_y); diff --git a/message.c b/message.c new file mode 100644 index 0000000..4d312cb --- /dev/null +++ b/message.c @@ -0,0 +1,16 @@ +#include "message.h" +#include "tile.h" +void messageTile(struct Tile *sender, struct Tile *recipient, const char *message) { + if (recipient->tid == PLAYER) { + // if Tile == this_player, interfacePrint + interfacePrint(message); + } +} + +void messageTiles(struct Tile *sender, struct Tile **recipients, const char *message) { + int i; + int length = sizeof(recipients) / sizeof(recipients[0]); + for (i=0;i < length;i++) { + messageTile(sender, recipients[i], message); + } +} diff --git a/message.h b/message.h new file mode 100644 index 0000000..91f93e9 --- /dev/null +++ b/message.h @@ -0,0 +1,17 @@ +#ifndef MESSAGE_H +#define MESSAGE_H +#include "tile.h" +/* message.h - defines the entire messaging system. + +Basically, instead of calling printl or something similar to what nethack does, messages are transferred by sending a message to some Tile. If the tile is of an appropriate type to receive the message, such as PlayerTile/PLAYER, then calls to interfacePrint() are in order. + +This is somewhat more similar to a real world, as every object "communicates" with every other object and has to run through their senses. So, basically, the eyes/ears = PlayerTile and the brain = interfacePrint. Kinda. +*/ +/* messages! */ +#define MESSAGE_OPEN "You open the %s" +#define MESSAGE_CLOSE "You close the %s" + +void messageTile(struct Tile *sender, struct Tile *recipient, const char *message); + +void messageTiles(struct Tile *sender, struct Tile **recipients, const char *message); +#endif diff --git a/player.h b/player.h index c12b22f..ed01aca 100644 --- a/player.h +++ b/player.h @@ -25,10 +25,6 @@ #define CLASS_RANGER 4 #define CLASS_BARBARIAN 5 -typedef struct { - char name[16]; -} PlayerTile; - struct Tile *player; void (*player_commands[128]) (); // pointer to array of command functions diff --git a/tile.c b/tile.c index aad6d77..ed56a49 100644 --- a/tile.c +++ b/tile.c @@ -5,6 +5,8 @@ #include "wall.h" #include "common.h" #include "npc.h" +#include "message.h" +#include "player.h" int allocateTile(struct Tile** tile, unsigned int tid, short id) { *tile = (struct Tile *) malloc(sizeof(struct Tile)); @@ -67,37 +69,29 @@ struct Tile *newTile(unsigned int type_id, short id, short x, short y) { int activateTile(struct Tile *target_tile, struct Tile *activator_tile) { char string[64]; - string[0] = '\0'; // FIXME: we need interfacePrintF - // TODO: create a tellTile(string) instead of interfacePrintF switch (target_tile->tid) { case DOOR: switch (((struct DoorTile*)target_tile->data)->state) { case STATE_OPEN: ((struct DoorTile*)target_tile->data)->state = STATE_CLOSED; - strcat(string, "You close the "); - strcat(string, ((struct BasicTile*)target_tile->data)->name); - interfacePrint(string); + sprintf(string, MESSAGE_CLOSE, ((struct BasicTile*)target_tile->data)->name); break; case STATE_CLOSED: ((struct DoorTile*)target_tile->data)->state = STATE_OPEN; - strcat(string, "You open the "); - strcat(string, ((struct BasicTile*)target_tile->data)->name); - interfacePrint(string); + sprintf(string, MESSAGE_OPEN, ((struct BasicTile*)target_tile->data)->name); break; } + messageTile(target_tile, activator_tile, string); return ((struct DoorTile*)target_tile->data)->state; break; case NPC: - strcat(string, "You turn on the "); - strcat(string, ((struct BasicTile*)target_tile->data)->name); - strcat(string, " - how naughty."); - interfacePrint(string); + sprintf(string, "You turn on the %s - how naughty.", ((struct BasicTile*)target_tile->data)->name); break; default: - strcat(string, "There is nothing there to activate."); - interfacePrint(string); + sprintf(string, "You see nothing to activate."); break; } + messageTile(target_tile, activator_tile, string); return 0; } diff --git a/tile.h b/tile.h index 88f1020..d227bce 100644 --- a/tile.h +++ b/tile.h @@ -48,6 +48,7 @@ struct PlayerTile { int collision; char name[16]; int vision; + struct Controller *controller; }; extern struct PlayerTile players[]; diff --git a/xcode/build/timesynk.build/timesynk.pbxindex/categories.pbxbtree b/xcode/build/timesynk.build/timesynk.pbxindex/categories.pbxbtree index 7146939686e9c3e67ed13211297fc3807081e7b1..4cbe398c9632bad27d01873498b199f127f15bf1 100644 GIT binary patch delta 12 TcmX>jd`5VJG^6)MnGKu(9!mr~ delta 12 TcmX>jd`5VJG^5u>nGKu(9!3N^ diff --git a/xcode/build/timesynk.build/timesynk.pbxindex/cdecls.pbxbtree b/xcode/build/timesynk.build/timesynk.pbxindex/cdecls.pbxbtree index b8e611016b1f3404931bb1e06a4f313d6720ed49..ca9a389dbf7be1a0fa6b85f64947ab342c7492a8 100644 GIT binary patch delta 2828 zcmZvdc~q5U9><^MzVGvTxmOmZ3Zu)pSQb;**NaRyz9T#?Bbe0PlSuak`;L4oQa4kueI-~kEmFNS zoyLVSf4RzANO=<7q-JiV-6%_oRTbN4x z(v4Q;ov50>rgp}RH}+qmAyL#RZTDz8{aW_CN7Lk$%X*Ajc8?D8(Rf+!VgvQMcZpaX zkV$T~MjdpsyAjqRSRT5Th@v5?stZfbvYUelH{maH7|2%53)p#YvTqz5I1$VtJmxfj zCBE@sGI#^?GvME<`F%EUfZf;yeg6s$f|II$1A7ojqh+rrtcTr;K&MoJBXC26%zwh1 z>Vqe232aGINe15-ZY>@Ijq-^oZcsHbJWY=_bD+s9U@RC7eh>bjY#zQCmY1uNcKo8r z%siEs&c`7QrV#FKqt15c+v9ZOCgHJ1Rl$oqZeB-Y0Y1#Y!UV!?1(2}FwhU{%5s#Aq ziaB7mBU#m);MK8qb0{`{_D8maFFLEwZ}8~MXJUz#Ye0ejk(pU$(EyG%p9r$-7G!q(J_1A#~?@t(?E;*2`ay@ zWgTb!9V({3CAXb!l%X8zRlx+yH>Pg<3rA{Y-aN}iW~Qnk^DToN%$KFgR$1;lnQw$z zzui)8)6L<~EK7|ET6BBAR!8Jwp$~Ws{F+mq$NB*93+I@qB@-sJILVx?Dn7Nu*_b&K z-m>JTFz+fAcwnhUObXTAN0w@n8B5iH5G~O!e>$cMd8LPzfox77r0RrRw1qz_b27AA z-31$6_f^lH+UxD@#!5J~7_0^>)JJ2rjg%Qu4$0B_F=K;TpQ9xkx)0qXwwpRUQFFxT zW+KY|Q0e93bQM;hWpS$yTKlrWFg3nV3vvyA;1{ax3hgA)WV*V&S(_0?O*y7Q>zC<{ zK(<5yC$#tpT?lm?wiIL3g>wgZ8O#J(SotOo%QH9Jsx!UyET-i_>q?c>S4S81p-5t%R}oK)#=Li_sz6x(bKZmzUooPvLo)c8zs-^Tpe zYE+iUb?9b0g!5ploqJ{qp{~3ls<_=iEaINVH+XyEGF8P`(NdKARo-|}ZA)-nMM@xY zZWDd!GQMwltw(^_C=)jb$Wu3YteQMcJPOhM$bbJ_HEDsE!+S>)t#&=3y>YLGmf?E_ z{1LIQghbbl*$0U(7xNp)QILqc4{as}_2Qd~P^U`oBJqNpxJc}=dxsO+qYvm0MHflm zVzG|-2FXKDzFR2LX_Kre6f5L~B2gq8i!pk+NGz2(#bUXd zwOk~y34ccRAQd8mghwD?5sxwUfu3L|=08HNgw4>~Rs;!G+m_=${)Y9v;J2V0AkdK? z;`~D>553|L@W}Ttzliw>!XACl>KErq5kW`(+z(wpAX~l!PvBn|;d~Y2Z}2htq!$Xb z^htLJ)=`#j3W`NW{OjZ^C%zhxn5Ya@Q)6VKq}RzfOqJEGx4ueY9}G zTxVN*V25A!Kpt85YkiQA$gf(Tk!O%5t&cJMYU&^yzMlp;7rX_3q~XPazZ}ESo^C>I zsOcX8@L0#5lRM{#?((S;5!qU`9WR_gDV`^+{uA(b@Ht`k4iX+U9d-QwT88J&$$&>B K%91U-^M3*4;?6h# delta 2677 zcmZ{mdsI}%9mi+p-a7-=!4luaayPlJC`bWz-AAa+? zGr!mTW*avI_pT4tdJ`le_IMKe6Dx9dq<`Ltn=6QBs;I-!#8_lb-6iWRw`LN}dONz` z`H4;YL~B#GCUWyNtU4X-->ZdjtCeW}KGF0(p>DJ-I(YQU9&XlQ`b@NO^3`~5$Kz`m z-97ux3ffn_7e}vVGHaSz+mp69nRP_X8%PUuZr0$79cu4T+B<<+FRQzwsN3as4I!Fq zIQTIkZ%!s;!!~(*hZa$T#?g6t<^`gqwh=AVOtgp&x)9C2i?NH~8ph9JjDvt`oj^A; z)_s$#eUX03BIT-d65Xta!-|lCR&a-CU6P2F`Dd)oMB9({e(Z7!{dF>D8cnhy*fI4w z(K5`KR8LK#{sb1;q{@FywRCz+&DcnLQx^89`gdq<9QDfc^)yY!Z=(bF-Uo#3>!}L2 zQ8UaUThvo0=^B$ccc}Jr)MCt<@&0+*sWVNIjt-hD2X)X#WXlDfqN+OR(;0HzM2*V} z0X9Tt2U#s|*hT2Siq)PVyPas(!1W2gA)>lj?di$FMOFZ|2QC9>8)#GQ^V!+du&Wpz zoB*Z}&37E!Kzl5h2&SU{DQH*iZ?PW@v#iYs*EaAca6lEdvO6B?k^R46dH&2j@XJ9$ zADsja5t=;$vK)LYD+U>v>Vt3CI2bldrN?P&Y_obKw5uSZrdT!lv}~RfxCgDi0`PaB z1Kb2(Do03L05@z>wP{+5iv=C3JXag5bGs+ef~IQjqiyzc>pant|EemV)ckXMShMlr z2@Jq0M#;ReU-){Z!2G+UY5pf1E;>BDktdwbaAT*TOX6o;_ z4(oj|3uXk}s(zpDcd(!hPw8cu%y~-X+|e5lj|J-1J-xxjtO~WelhN%lYRk{^i~%w& z-xyf8-qdADzHyS~2}runF<7mVhd?^Lb+pW!CF*WQj49Su54*5+fYP zUDIJ~mfAnjaQnEq3>SY_-G!Q5<*YP{G}HA%c@l zsTonj9nY-~p!PBK>KJgSkVmGbTlBOudm8cB64 z&2;(U0E4R^+%$$bxN8z_(ot1?-ze+CY^K_i_}3|6yEoCizlU-U;P6uw`+0|A$>*? zy6_u9ww@(~t;dZ+fyi)3{W2ed&w8l2m-%))8Xv2y4vx&S`>Dp;ye<{lFvcq~<@Gs6 zQ0^S1_g5FaqLtHtJRB6`rg& zBxWPAaQR9W}#&G^HlxwB6gd0sPa_O` zlGUWC;$9~n!9|EnS1-;Nv$XGbCdSFtgbu)~WW-8L43rrkbc~f6UlbBM`Ensqa(q)E zOXcjrdIWizB`3Zjwp-3O3C$Y>3ZdXUnXy2uVy+^&cY!El)*P9!P+S}4Cq{e)VX13;YB{PJ|E|@DCGuRgs8KVQh%`0gF8}?>q4^Dx7l>+7!TG@9!W{>AcTCJ`OnpG6k{-(gTSqY5O4G z#~~5pr@|6u*|F~N>g4<)i3FVe`d?53jiH$zd7isbErG%xfnD1@G k02>DVurwXd2|VHcDZ<|di=j;NX?S)NcuC$}A&MyZ50f~g$^ZZW diff --git a/xcode/build/timesynk.build/timesynk.pbxindex/decls.pbxbtree b/xcode/build/timesynk.build/timesynk.pbxindex/decls.pbxbtree index 0029368b11e9d6cb5d33c84e6ca95188da9d95a0..a3fb60a96d0c51d58e27f0d9522f3388d51fa982 100644 GIT binary patch delta 2802 zcma);d323u9><^MeV^ye4N2Z?H#f~$J(6Y^h$8OT&LNuJy zXjNE26V;juI$wuts*;#>UX_1Mm&FHq;rRYwAOv{>EXJ}GI{Pf;K^miS7;Bx%T~N%m z5G*D%%K(uen$YeEu;GNPTCF!QmX}PURGq{62x}cSx~{tUnA_tg+<8E_5BK(U0^`9h zXm~&u`q;OAdR6CiV{skS_VH$%o>s*2E#|FOmGjt@rZ(o*ljTUS^%u*<09(&gw6PGFy!rBC}Lp4Rc4^xTM_=;KFwOri1mo z8n(|Cc5_7KJKf;{n@pKitjiy=rVW|3S64n|E{v>E)jzQ#%=%Jqc*YhqVE#0n9L`@s zZneU~o4TYS?-RvrkFN6a7=wD$jYhmnBzOH9VtxtTHo?{?e+u`h{wcg1aeS1*2TFSS z1;U?XtL#)hOm9!+6>cavGJ_9m$z7#b_8uYU*MhTzoH&87)h~e&IPqVe@z}56!PWoAL(Ds` z*FNDR7`0X1k9;wW)Jeo>6RCXTrdLz8+E?li0+-}JxjRUL8vj5&{089LFmZOaoIDv zWRfx3E$mdp>!`jn&uHNj)>UY7RwryV!YSRU8*eiN6q~PFl^ZX(0{sYyyvH%9lG+gvB_+hOn9GkLcegsox`f=oH0pXK4&a7goSS6 zIjIUR7`K=|Prr20c-XWfwus#hc7qV%G1tJ4_#ObA!N;H@K&8Z@eZ~F;zdwfEtmjg5 z8fW$lU1ykckeUm1fiN@NsP3I!^AD0e>rLeH5>@D!89L;cpEVI)IN<%Oo||nBmej4P za?N)1^7_7Jnr_?IEQ^Y;P@ah$;PxZfuDWKV*(Qv$OO-lmyg8=_vntf`56wYrX|1mP z&>UgWc-48I`L>8kgOn5W(S2suG-gk$xMrRXkM^gdi**GEoc}ejTG!q;AH)gk7!Ih` z=a?7~j~TKY<+%`#kJO*y*sS|Ac$6Q=wohRpb#FYU)iP^kI+q zCMLrAEwu??)wx1MGXF|l zJ6yEr#H{yqgLPt4M0YPC1!D=>G?%bhjIfPc3ETO5Yas2kvq@M98sSu^Yp!JND3 zV@dD}(et49#D1b~yf1p`V7d6zVBQP*{!a0#pguKVkLahi?GexEGke4j&1sT4enGU4 z@c#)d{t!TRrpK(mD0=AJi=v=DKnJdgo}61J)YEGsQ)hlBN>b4lj+?TPio0btmbCaC z0!m+AmZ8S17g7%ravP(LdSuDh&~#R!MmNBtdao|%!Z2BC({I$oLZiLzlqC0a7Rc9i zj%3Nv7Shk!4~~K=T&l5Jo+mO(4Ogtr%aBQo*^Ts!E^@GC*LSjYK!H-Q5mk|-B8!;N zPkPETG{r)Lv3r0F&=a7Y*xf-d!tPxrq~SfRNL7(JGL_kxYQT2hQjf`zKT8%Itj7+J z?L~VFnj~fra`tm@2712&rhwVd{A*B$@8bXxD}c8u;T-ruRSuO|5f<{r^D5zCcxSAc zIyp}!hNXC~Bl8hB$3`Zi#M~$)cRs*l62u!DOxO8i6{!~VO8DKs&+ zE}kiSS;GDmdhhE~QSU5}$?C`gSs((%xJW0RzECn$_b&BZiJTNk?nOww{ zI4Z+k zuJTvNOw%ET9Z+TaOsCi}F+2fNZ$aL_K|ZuL2hzEbMGl2UeL9h_=;7W!!{)+5dUq=9 zLs+yuCkDg;H^zPje+NI2|9lb&%S7%5lkvYP0*SGM@YZOXNl~OF51_iz4iVDz4uAtm z@u;|in4E_1iTHjTPND4u%T?7-85hHYNHIT7PPg$7Y8Rm=@7Cve7Y{LfMNkbXU<(k1 zb6$tVnEf_n!gkSU-O+hSkMFSq?iS1kbMV^*Rkc#)s{Tnr{DNDzvBCoN|N4-!HfGrK dFe@FaTLAP;9~AII*x+z57r$LneOJkxe*lAWzB&K^ delta 2641 zcmYM0dsJ0b9>@3NoV_m>J)8pleWWFY$#K)L5saTXRM9mkD zNIE*=v}>tpg%i3gN3XFRP1iKO%E4E@5e>^RO-E^Et29UFORKf!kI(uYHv6~FZ~uPZ z-|yU=8v;8w1Xg)XMMzZo_N0exnDt&bsqND)<_rp##vY+8R2S~y-N%G`CE;!zevok1 zZCO=>Ta}<1{IRCF-7MNYT%7jLNa6l7cAW_aJ9mjRzac!t!o|5CF&3%_yZRo>W9gpo z`GrTagforsgpT35?YGN?^)cbT8G2oN`h=H-%G8P9&?z)Y<>t{e^+FyUTVuNoy+4oc zK`fi}f_yqk2=_9)X1i`0On19dGP)9;7)^La1L5iC2oL@nFD6(E5T1DlYt4GsNIKTd zoE#NDmL8`bb$u-DnM}zXLbG=gn)M~@Aut9A(20<(ME4s<5Bq3O?W&-weJpCbUblws z3%ISBgsxjpxaYW@7^ab&#;CG->Jx*?2)~!Fs_N-t9i!>WL}ndTwO`QcIA;Li&JZvZ z>6#7}!TVF4e~R)fYO4aqI;n+>#Yd8rYX}+WLM`s=w-_r*qCwRXV1tFV3SNz>Uo!J1 z+$KCZ8T0}#f-OkpPH;+>C9`uudPx`bW3fFryV#(|m$S((W>eL$fL%@xFv0`zghxLE zi-bj|!?r_u*DVX#2tTuq===?AMXvgxOy;XG&&WJg)Wp2e zew5h%H9*GwH^B|Ppo#5pgu4dyIj4KvW|JwiDs=4~mfn_GTXn+&=Elkjb^gC>AF~eV zw;r-ZZCKPSofOF@KxJ>ju~ApH<%4bJUaU{}d5l40)z!y%Z`C=42UPblqNAFU!mCim zyD5CQ8j{M3B`JBI&?)P5Z7SDZny5;0__Jzn4v&waQ;!llbpRo=XM-7pyppS%bNG>1 zW-ZWLhx6Sr!v7zHenpqQ!0S1)UeoO+@f{xF%s^5f*G=rR|_*x>DqoI61s#T8BNgs5KdED}UkGOsS5V8L|JuKGP>yBj8t`b?f z29@%t_@MD57OoMw2(pT9uZx35^dMi<1H$D8gc_p=9g_v>2`xE9I8;?R$r$Su?iI-L z$NKsLqkXcl&f=cOb^JynlF}yK?p;G53v*S+TI08Fr;rfOH?7oAcSy~j#HHR+YZxA3 zo5;voy>pil7so>H>4sy*TGR0pJ~*4u&%F5OE=2uEO+Rf+(pOF!OAKK(<4yZj=>_8& zi(0RL*J#{H?|B-%Z~G0X~x z>UCWz%p5OGP<4Lub4l+M6Y;l_n%`IF=y1T?pC)W*-cHtY^UaZx#;Fs9W)~%&GCQ!M zSe^Zp`HpQ_5VEf;VuzT0y>wHF**SvCvKDQ>Xjb%R)^@dgvpIrQ73k*8=4cn1H+P5m zy72voH=Qw-Y$_Bq&BVJE`gK>AYD+ys%+Iuq6W*M-n~6U3Pq%la#h{1E&d z9Ml^-iOW&KnF^m{y0W*Zj}Rf~G&D{38z@#A!uomDIL7|dq+R-JfWAXUS*i6I<~(b^PG>NDHK?M&3_zy;AwWPXBCeMq?)MSu9Z zbYY_?Z7tERD`J46Ux_}yoY?m(QJIRCIbh1iBoCr1GTJCth=*z>R`*cj-V{=g5b|9{ zed?}DPF0OaM~=L=pc5Xi*KLWS(Wcj0!wYcmzHTR+&yJlD>!(8^hg>1Nc@15sw!Q z@&ECqFuuHc{tP+LCG0049k*_nC$}5w z?L{)pXJMdOXmQ5{(53-I9Z15J($y!6aj(lK4 znFWE8;#(M)<*XQ(C4q{ht}`$z$S^RAbTTjtUtnOCJqwfvs*#fditS}!=KILN%(E7R JCp&VA005&hA=v-` delta 173 zcmexj@Wo()IOD5{5@t-Q?HdE6#XR{L7{nzQm|n5~u^JHXWMF#L!oc)}n}Jz^m4R8B zgMpcSF$1%pIRmroS)iCGkUfoond>tHGbfNOGy}+9$-vAVGI@*GE+&DR$pzx;9eKfq zGV^5tCF>yy}6mUz5rx@V_+5s8pQXJfthD53{Q6C6afJD C$s=0; diff --git a/xcode/build/timesynk.build/timesynk.pbxindex/imports.pbxbtree b/xcode/build/timesynk.build/timesynk.pbxindex/imports.pbxbtree index 170ea16608b27cc2455035a94cf02b1dca64a760..606bc18df7894e7138e4ca3d4f5e6ecb57f22cb2 100644 GIT binary patch delta 554 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 I9p{w%U%%H73IG5A delta 6479 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 Z#N!$ELIO*Gi&#LEvOkNJ#-BGh`vBL#Q|$l% delta 39 ucmdn<-{$jQn}!y~7N!>F7M2#)7Pc1l7LFFq7OocV7M>Q~7QQX~pX~rVe-1eS diff --git a/xcode/build/timesynk.build/timesynk.pbxindex/symbols0.pbxsymbols b/xcode/build/timesynk.build/timesynk.pbxindex/symbols0.pbxsymbols index 315ca7b4669ee8ab43f43d38bbae0930a31d83bd..c3a4adc574262382f17021fd403edf8b49e44097 100644 GIT binary patch delta 13734 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 a%hC_v7vl>qPk%Vo==SR$Y)#*n`u_k|iIqVB diff --git a/xcode/timesynk.xcodeproj/kts.mode1v3 b/xcode/timesynk.xcodeproj/kts.mode1v3 index 7c6e192..5c21dbe 100644 --- a/xcode/timesynk.xcodeproj/kts.mode1v3 +++ b/xcode/timesynk.xcodeproj/kts.mode1v3 @@ -197,48 +197,7 @@ Notifications OpenEditors - - - Content - - PBXProjectModuleGUID - 20F90AE7180E362100242709 - PBXProjectModuleLabel - sdl.c - PBXSplitModuleInNavigatorKey - - Split0 - - PBXProjectModuleGUID - 20F90AE8180E362100242709 - PBXProjectModuleLabel - sdl.c - _historyCapacity - 0 - bookmark - 20E217E81818B5D0003112DE - history - - 205AF3C81816805700F6F9FF - - - SplitCount - 1 - - StatusBarVisibility - - - Geometry - - Frame - {{0, 20}, {750, 461}} - PBXModuleWindowStatusBarHidden2 - - RubberWindowFrame - 174 128 750 502 0 0 1024 746 - - - + PerspectiveWidths -1 @@ -371,7 +330,7 @@ _historyCapacity 0 bookmark - 20E217E71818B5D0003112DE + 209860B918277B00009D5BE0 history 20568DE817EC16C60022F314 @@ -403,7 +362,7 @@ 20E217A118179A08003112DE 20E217CB18186B4C003112DE 20E217CC18186B4C003112DE - 20E2179C18179A08003112DE + 20E217E71818B5D0003112DE prevStack @@ -436,14 +395,7 @@ 20CD05AE180FBCD8005A8231 205AF2A3181662B000F6F9FF 205AF3B11816778B00F6F9FF - 20E217A218179A08003112DE - 20E217A318179A08003112DE - 20E217A418179A08003112DE 20E217A518179A08003112DE - 20E217A618179A08003112DE - 20E217A718179A08003112DE - 20E217CD18186B4C003112DE - 20E217CE18186B4C003112DE SplitCount @@ -501,9 +453,9 @@ TableOfContents - 20E217941817220E003112DE + 209860A518277AA4009D5BE0 1CE0B1FE06471DED0097A5F4 - 20E217951817220E003112DE + 209860A618277AA4009D5BE0 1CE0B20306471E060097A5F4 1CE0B20506471E060097A5F4 @@ -637,12 +589,9 @@ 5 WindowOrderList - 20E217D118186B4C003112DE - 20E217D218186B4C003112DE + 1C78EAAD065D492600B07095 1CD10A99069EF8BA00B06720 20F6A1B417E95A6200BAD261 - 20F90AE7180E362100242709 - 1C78EAAD065D492600B07095 /Users/kts/Devel/timesynk/xcode/timesynk.xcodeproj WindowString @@ -723,7 +672,7 @@ TableOfContents 20F6A1B417E95A6200BAD261 - 20E217AA18179A08003112DE + 209860A818277AA4009D5BE0 1CD0528F0623707200166675 XCMainBuildResultsModuleGUID @@ -843,13 +792,13 @@ TableOfContents 1CD10A99069EF8BA00B06720 - 20E217AB18179A08003112DE + 209860A918277AA4009D5BE0 1C162984064C10D400B95A72 - 20E217AC18179A08003112DE - 20E217AD18179A08003112DE - 20E217AE18179A08003112DE - 20E217AF18179A08003112DE - 20E217B018179A08003112DE + 209860AA18277AA4009D5BE0 + 209860AB18277AA4009D5BE0 + 209860AC18277AA4009D5BE0 + 209860AD18277AA4009D5BE0 + 209860AE18277AA4009D5BE0 ToolbarConfiguration xcode.toolbar.config.debugV3 @@ -976,8 +925,6 @@ Dock - BecomeActive - ContentConfiguration PBXProjectModuleGUID @@ -1013,7 +960,7 @@ TableOfContents 1C78EAAD065D492600B07095 - 20E217B118179A08003112DE + 209860AF18277AA4009D5BE0 1C78EAAC065D492600B07095 ToolbarConfiguration @@ -1023,7 +970,7 @@ WindowToolGUID 1C78EAAD065D492600B07095 WindowToolIsVisible - + Identifier diff --git a/xcode/timesynk.xcodeproj/kts.pbxuser b/xcode/timesynk.xcodeproj/kts.pbxuser index 6cbbc7e..7723670 100644 --- a/xcode/timesynk.xcodeproj/kts.pbxuser +++ b/xcode/timesynk.xcodeproj/kts.pbxuser @@ -346,16 +346,6 @@ rLen = 0; rLoc = 2147483647; }; - 205AF3C81816805700F6F9FF /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 20F6A1F017E95B6F00BAD261 /* sdl.c */; - name = "sdl.c: 343"; - rLen = 0; - rLoc = 12171; - rType = 0; - vrLen = 1729; - vrLoc = 612; - }; 205CBE4718134A20009DA0FF /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 20DE9D061804FE1A0047B2DD /* context.h */; @@ -555,6 +545,16 @@ vrLen = 175; vrLoc = 0; }; + 209860B918277B00009D5BE0 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 20F6A1F017E95B6F00BAD261 /* sdl.c */; + name = "sdl.c: 68"; + rLen = 0; + rLoc = 2795; + rType = 0; + vrLen = 1937; + vrLoc = 2195; + }; 209A27C71812256F00B15CEC /* npc.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {755, 485}}"; @@ -606,16 +606,6 @@ vrLen = 634; vrLoc = 2116; }; - 20E2179C18179A08003112DE /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 20F6A1F017E95B6F00BAD261 /* sdl.c */; - name = "sdl.c: 87"; - rLen = 0; - rLoc = 3963; - rType = 0; - vrLen = 1975; - vrLoc = 2999; - }; 20E2179D18179A08003112DE /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 205AEFC71814CAAE00F6F9FF /* console.c */; @@ -656,36 +646,6 @@ vrLen = 1207; vrLoc = 3641; }; - 20E217A218179A08003112DE /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 20F6A1F017E95B6F00BAD261 /* sdl.c */; - name = "sdl.c: 87"; - rLen = 0; - rLoc = 3963; - rType = 0; - vrLen = 1975; - vrLoc = 2999; - }; - 20E217A318179A08003112DE /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 205AEFC71814CAAE00F6F9FF /* console.c */; - name = "console.c: 63"; - rLen = 0; - rLoc = 1751; - rType = 0; - vrLen = 1020; - vrLoc = 1124; - }; - 20E217A418179A08003112DE /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 204F942618005466007B4DAD /* tile.c */; - name = "tile.c: 20"; - rLen = 0; - rLoc = 448; - rType = 0; - vrLen = 802; - vrLoc = 87; - }; 20E217A518179A08003112DE /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 204F942718005466007B4DAD /* tile.h */; @@ -696,26 +656,6 @@ vrLen = 942; vrLoc = 968; }; - 20E217A618179A08003112DE /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 20F6A1C217E95AAA00BAD261 /* main.c */; - name = "main.c: 36"; - rLen = 0; - rLoc = 1005; - rType = 0; - vrLen = 1008; - vrLoc = 38; - }; - 20E217A718179A08003112DE /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 204F942418005466007B4DAD /* map.c */; - name = "map.c: 148"; - rLen = 0; - rLoc = 4107; - rType = 0; - vrLen = 1207; - vrLoc = 3641; - }; 20E217CB18186B4C003112DE /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 204F942518005466007B4DAD /* map.h */; @@ -736,26 +676,6 @@ vrLen = 989; vrLoc = 57; }; - 20E217CD18186B4C003112DE /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 204F942518005466007B4DAD /* map.h */; - name = "map.h: 38"; - rLen = 0; - rLoc = 1990; - rType = 0; - vrLen = 2309; - vrLoc = 586; - }; - 20E217CE18186B4C003112DE /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 20F6A1C217E95AAA00BAD261 /* main.c */; - name = "main.c: 36"; - rLen = 0; - rLoc = 1005; - rType = 0; - vrLen = 989; - vrLoc = 57; - }; 20E217E71818B5D0003112DE /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 20F6A1F017E95B6F00BAD261 /* sdl.c */; @@ -766,16 +686,6 @@ vrLen = 1937; vrLoc = 2195; }; - 20E217E81818B5D0003112DE /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 20F6A1F017E95B6F00BAD261 /* sdl.c */; - name = "sdl.c: 351"; - rLen = 0; - rLoc = 12430; - rType = 0; - vrLen = 1638; - vrLoc = 1398; - }; 20EC59781808D7A100F759CD /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 20DE9D051804FE1A0047B2DD /* context.c */; @@ -906,9 +816,9 @@ }; 20F6A1F017E95B6F00BAD261 /* sdl.c */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1224, 4746}}"; - sepNavSelRange = "{12430, 0}"; - sepNavVisRange = "{1398, 1638}"; + sepNavIntBoundsRect = "{{0, 0}, {1224, 4676}}"; + sepNavSelRange = "{2795, 0}"; + sepNavVisRange = "{2195, 1937}"; sepNavWindowFrame = "{{174, 72}, {750, 558}}"; }; }; @@ -1034,8 +944,8 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 404169224; - PBXWorkspaceStateSaveDate = 404169224; + PBXPerProjectTemplateStateSaveDate = 405240454; + PBXWorkspaceStateSaveDate = 405240454; }; perUserProjectItems = { 2007C93017ECF2EB00268653 /* PBXTextBookmark */ = 2007C93017ECF2EB00268653 /* PBXTextBookmark */; @@ -1062,7 +972,6 @@ 205AF3B11816778B00F6F9FF /* PBXTextBookmark */ = 205AF3B11816778B00F6F9FF /* PBXTextBookmark */; 205AF3B818167E1100F6F9FF /* PBXTextBookmark */ = 205AF3B818167E1100F6F9FF /* PBXTextBookmark */; 205AF3B918167E1100F6F9FF /* PlistBookmark */ = 205AF3B918167E1100F6F9FF /* PlistBookmark */; - 205AF3C81816805700F6F9FF /* PBXTextBookmark */ = 205AF3C81816805700F6F9FF /* PBXTextBookmark */; 205CBE4718134A20009DA0FF /* PBXTextBookmark */ = 205CBE4718134A20009DA0FF /* PBXTextBookmark */; 20664C241808D0EF00942104 /* PBXTextBookmark */ = 20664C241808D0EF00942104 /* PBXTextBookmark */; 20664C291808D0EF00942104 /* PBXTextBookmark */ = 20664C291808D0EF00942104 /* PBXTextBookmark */; @@ -1080,26 +989,18 @@ 2090289E17E95F9E0051A253 /* PBXTextBookmark */ = 2090289E17E95F9E0051A253 /* PBXTextBookmark */; 2090289F17E95F9E0051A253 /* PBXTextBookmark */ = 2090289F17E95F9E0051A253 /* PBXTextBookmark */; 209028A517E95F9E0051A253 /* PBXTextBookmark */ = 209028A517E95F9E0051A253 /* PBXTextBookmark */; + 209860B918277B00009D5BE0 /* PBXTextBookmark */ = 209860B918277B00009D5BE0 /* PBXTextBookmark */; 20CD05AE180FBCD8005A8231 /* PBXTextBookmark */ = 20CD05AE180FBCD8005A8231 /* PBXTextBookmark */; 20DE9D35180500990047B2DD /* PBXTextBookmark */ = 20DE9D35180500990047B2DD /* PBXTextBookmark */; 20DE9D36180500990047B2DD /* PBXTextBookmark */ = 20DE9D36180500990047B2DD /* PBXTextBookmark */; - 20E2179C18179A08003112DE /* PBXTextBookmark */ = 20E2179C18179A08003112DE /* PBXTextBookmark */; 20E2179D18179A08003112DE /* PBXTextBookmark */ = 20E2179D18179A08003112DE /* PBXTextBookmark */; 20E2179E18179A08003112DE /* PBXTextBookmark */ = 20E2179E18179A08003112DE /* PBXTextBookmark */; 20E2179F18179A08003112DE /* PBXTextBookmark */ = 20E2179F18179A08003112DE /* PBXTextBookmark */; 20E217A118179A08003112DE /* PBXTextBookmark */ = 20E217A118179A08003112DE /* PBXTextBookmark */; - 20E217A218179A08003112DE /* PBXTextBookmark */ = 20E217A218179A08003112DE /* PBXTextBookmark */; - 20E217A318179A08003112DE /* PBXTextBookmark */ = 20E217A318179A08003112DE /* PBXTextBookmark */; - 20E217A418179A08003112DE /* PBXTextBookmark */ = 20E217A418179A08003112DE /* PBXTextBookmark */; 20E217A518179A08003112DE /* PBXTextBookmark */ = 20E217A518179A08003112DE /* PBXTextBookmark */; - 20E217A618179A08003112DE /* PBXTextBookmark */ = 20E217A618179A08003112DE /* PBXTextBookmark */; - 20E217A718179A08003112DE /* PBXTextBookmark */ = 20E217A718179A08003112DE /* PBXTextBookmark */; 20E217CB18186B4C003112DE /* PBXTextBookmark */ = 20E217CB18186B4C003112DE /* PBXTextBookmark */; 20E217CC18186B4C003112DE /* PBXTextBookmark */ = 20E217CC18186B4C003112DE /* PBXTextBookmark */; - 20E217CD18186B4C003112DE /* PBXTextBookmark */ = 20E217CD18186B4C003112DE /* PBXTextBookmark */; - 20E217CE18186B4C003112DE /* PBXTextBookmark */ = 20E217CE18186B4C003112DE /* PBXTextBookmark */; 20E217E71818B5D0003112DE /* PBXTextBookmark */ = 20E217E71818B5D0003112DE /* PBXTextBookmark */; - 20E217E81818B5D0003112DE /* PBXTextBookmark */ = 20E217E81818B5D0003112DE /* PBXTextBookmark */; 20EC59781808D7A100F759CD /* PBXTextBookmark */ = 20EC59781808D7A100F759CD /* PBXTextBookmark */; 20F6A1AC17E95A6200BAD261 /* PBXTextBookmark */ = 20F6A1AC17E95A6200BAD261 /* PBXTextBookmark */; 20F6A1AE17E95A6200BAD261 /* PBXTextBookmark */ = 20F6A1AE17E95A6200BAD261 /* PBXTextBookmark */; diff --git a/xcode/timesynk.xcodeproj/project.pbxproj b/xcode/timesynk.xcodeproj/project.pbxproj index 98d508f..daa4ecf 100644 --- a/xcode/timesynk.xcodeproj/project.pbxproj +++ b/xcode/timesynk.xcodeproj/project.pbxproj @@ -20,6 +20,7 @@ 205AEFC91814CAAE00F6F9FF /* console.c in Sources */ = {isa = PBXBuildFile; fileRef = 205AEFC71814CAAE00F6F9FF /* console.c */; }; 206D60291808F0E200C0DE49 /* SDL_image.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 206D60281808F0E200C0DE49 /* SDL_image.framework */; }; 206D60451808F90700C0DE49 /* tiles.c in Sources */ = {isa = PBXBuildFile; fileRef = 206D60431808F90700C0DE49 /* tiles.c */; }; + 208764551825B1E700F17207 /* message.c in Sources */ = {isa = PBXBuildFile; fileRef = 208764531825B1E700F17207 /* message.c */; }; 209A27C81812257000B15CEC /* npc.c in Sources */ = {isa = PBXBuildFile; fileRef = 209A27C61812256F00B15CEC /* npc.c */; }; 20DE9D071804FE1A0047B2DD /* context.c in Sources */ = {isa = PBXBuildFile; fileRef = 20DE9D051804FE1A0047B2DD /* context.c */; }; 20F6A1C317E95AAA00BAD261 /* main.c in Sources */ = {isa = PBXBuildFile; fileRef = 20F6A1C217E95AAA00BAD261 /* main.c */; }; @@ -70,6 +71,8 @@ 206D60281808F0E200C0DE49 /* SDL_image.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL_image.framework; path = /Library/Frameworks/SDL_image.framework; sourceTree = ""; }; 206D60431808F90700C0DE49 /* tiles.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = tiles.c; path = ../tiles/tiles.c; sourceTree = SOURCE_ROOT; }; 206D60441808F90700C0DE49 /* tiles.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = tiles.h; path = ../tiles/tiles.h; sourceTree = SOURCE_ROOT; }; + 208764531825B1E700F17207 /* message.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = message.c; path = ../message.c; sourceTree = SOURCE_ROOT; }; + 208764541825B1E700F17207 /* message.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = message.h; path = ../message.h; sourceTree = SOURCE_ROOT; }; 2090287B17E95E780051A253 /* timesynk_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = timesynk_Prefix.pch; sourceTree = ""; }; 209A27C61812256F00B15CEC /* npc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = npc.c; path = ../npc.c; sourceTree = SOURCE_ROOT; }; 209A27C71812256F00B15CEC /* npc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = npc.h; path = ../npc.h; sourceTree = SOURCE_ROOT; }; @@ -164,6 +167,8 @@ 20F6A1C217E95AAA00BAD261 /* main.c */, 20F6A1C417E95AD300BAD261 /* common.h */, 205AEFC71814CAAE00F6F9FF /* console.c */, + 208764531825B1E700F17207 /* message.c */, + 208764541825B1E700F17207 /* message.h */, 205AEFC81814CAAE00F6F9FF /* console.h */, 209A27C61812256F00B15CEC /* npc.c */, 209A27C71812256F00B15CEC /* npc.h */, @@ -281,6 +286,7 @@ 206D60451808F90700C0DE49 /* tiles.c in Sources */, 209A27C81812257000B15CEC /* npc.c in Sources */, 205AEFC91814CAAE00F6F9FF /* console.c in Sources */, + 208764551825B1E700F17207 /* message.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; };