Added basic player movement through playerMove(direction, distance). Also added an interface through which player commands are attached to a command id, so as to allow for functions to be called via a command id or, if later implemented, a string. Finally, implemented the moving of an @ in curses or a square in SDL via the arrow keys.

netcode
kts 2013-09-19 22:45:19 -07:00
parent 82e63acdc0
commit 1f973fc865
22 changed files with 284 additions and 101 deletions

View File

@ -1,7 +1,7 @@
CC = gcc
PREFIX = ./
BINARY=timesynk
OBJS = main.o net/sockets.o
OBJS = main.o game.o player.o net/sockets.o
CURSES_OBJS = interface/curses.o
SDL_OBJS = interface/sdl.o
DEBUG = -g
@ -17,15 +17,12 @@ $(BINARY): $(OBJS) $(CURSES_OBJS)
sdl: $(OBJS) $(SDL_OBJS)
$(CC) $(OBJS) $(SDL_OBJS) $(SDL_LFLAGS) -o $(BINARY)
curses: $(OBJS) $(CURSES_OBJS)
$(CC) $(OBJS) $(CURSES_OBJS) $(CURSES_LFLAGS) -o $(BINARY)
xcurses: $(OBJS) $(CURSES_OBJS)
$(CC) $(OBJS) $(CURSES_OBJS) $(XCURSES_LFLAGS) -o $(BINARY)
all: $(BINARY)
clean:
@ -34,6 +31,12 @@ clean:
main.o: main.c stubs.h interface/curses.c net/sockets.c
$(CC) $(CFLAGS) -c main.c
game.o: game.h game.c
$(CC) $(CFLAGS) -c game.c
player.o: game.h player.h player.c
$(CC) $(CFLAGS) -c player.c
sockets.o: net/sockets.c stubs.h
$(CC) $(CFLAGS) -c net/sockets.c

13
game.c 100644
View File

@ -0,0 +1,13 @@
/****
***/
#include "main.h"
#include "common.h"
#include "game.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);
// }
}

14
game.h 100644
View File

@ -0,0 +1,14 @@
#ifndef GAME_H
#define GAME_H
/* The Eight Holy Directions */
#define NORTH 8
#define SOUTH 2
#define EAST 6
#define WEST 4
#define NORTHEAST 7
#define NORTHWEST 9
#define SOUTHEAST 1
#define SOUTHWEST 3
#endif

View File

@ -1,5 +1,7 @@
#include <curses.h>
#include "curses.h"
#include "../player.h"
#include "../game.h"
#include "../main.h"
#include "../common.h"
@ -34,11 +36,25 @@ void interfaceLoop() {
case 'Q':
is_running = 0;
break;
case KEY_UP:
(*player_commands[PLAYER_MOVE])(NORTH, 1);
break;
case KEY_DOWN:
(*player_commands[PLAYER_MOVE])(SOUTH, 1);
break;
case KEY_RIGHT:
(*player_commands[PLAYER_MOVE])(EAST, 1);
break;
case KEY_LEFT:
(*player_commands[PLAYER_MOVE])(WEST, 1);
break;
}
}
void interfaceDraw() {
clear();
mvwaddstr(screen, player.y, player.x, "@");
refresh();
}
void interfaceClose() {

View File

@ -5,6 +5,8 @@
#include "sdl.h"
#include "../main.h"
#include "../common.h"
#include "../player.h"
#include "../game.h"
int interfaceInit() {
// Load it up!
@ -30,15 +32,28 @@ void interfaceLoop() {
is_running = 0;
break;
case SDL_KEYDOWN:
if (event.key.keysym.sym == SDLK_q)
if (event.key.keysym.sym == SDLK_q) {
is_running = 0;
} else if (event.key.keysym.sym == SDLK_UP) {
(*player_commands[PLAYER_MOVE])(NORTH, 1);
} else if (event.key.keysym.sym == SDLK_DOWN) {
(*player_commands[PLAYER_MOVE])(SOUTH, 1);
} else if (event.key.keysym.sym == SDLK_RIGHT) {
(*player_commands[PLAYER_MOVE])(EAST, 1);
} else if (event.key.keysym.sym == SDLK_LEFT) {
(*player_commands[PLAYER_MOVE])(WEST, 1);
}
break;
}
}
}
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};
SDL_FillRect(screen, &player_rect, SDL_MapRGB(screen->format, 255, 255, 255));
SDL_Flip(screen); // redraw!
}
void interfaceClose() {

6
main.c
View File

@ -1,6 +1,8 @@
#include "main.h"
#include "common.h"
#include "stubs.h"
#include "game.h"
#include "player.h"
// TODO: add arguments, so user can connect to server via cmdline option
int main(int argc, char *argv[]) {
// initialize our interface system (ncurses, SDL, etc.)
@ -12,6 +14,10 @@ int main(int argc, char *argv[]) {
return ERROR;
}
is_running = 1;
// h'okay, let's add our default player commands
playerSetCommand(PLAYER_MOVE, playerMove);
// start our program loop!
while(is_running) {
if (is_networking)

28
player.c 100644
View File

@ -0,0 +1,28 @@
/**** player.c - player creation, movement, etc. functions
This file contains the functions for initializing and commanding the player.
****/
#include "player.h"
#include "game.h"
void playerSetCommand(int command_id, void(*function)) {
player_commands[command_id] = function;
}
/* in-game movement stuff */
void playerMove(int direction, int distance) {
switch(direction) {
case NORTH:
player.y -= distance;
break;
case SOUTH:
player.y += distance;
break;
case EAST:
player.x += distance;
break;
case WEST:
player.x -= distance;
break;
}
}

28
player.h 100644
View File

@ -0,0 +1,28 @@
#ifndef PLAYER_H
#define PLAYER_H
#define MAX_PLAYER_COMMANDS 128
/* list of standard command ids */
#define PLAYER_MOVE 1
#define PLAYER_KICK 2
#define PLAYER_TUMBLE 3
typedef struct {
int x;
int y;
} player_struct;
player_struct player;
void (*player_commands[128]) (); // pointer to array of command functions
/** playerSetCommand
This function ties a command function to a command id, as contained within the player_commands array. After tying a command to a function, a command can be directly called with the following syntax:
(*player_commands[PLAYER_MOVE])(argument_1, argument_2, ...)
or via the playerCommand helper function:
playerCommand(PLAYER_MOVE, argument_1, argument_2, ...)
**/
void playerSetCommand(int command_id, void(*function));
void playerMove(int direction, int distance);
#endif

View File

@ -308,7 +308,7 @@
<key>PBXProjectModuleGUID</key>
<string>1CE0B20306471E060097A5F4</string>
<key>PBXProjectModuleLabel</key>
<string>sdl.c</string>
<string>player.c</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@ -316,25 +316,26 @@
<key>PBXProjectModuleGUID</key>
<string>1CE0B20406471E060097A5F4</string>
<key>PBXProjectModuleLabel</key>
<string>sdl.c</string>
<string>player.c</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
<string>2002F0DC17E972B3003CF277</string>
<string>20568DFA17EC16C60022F314</string>
<key>history</key>
<array>
<string>20F6A21417E95C1200BAD261</string>
<string>20567ECA17E95DEC0002B1A9</string>
<string>20567ECF17E95DEC0002B1A9</string>
<string>20567EE317E95E0D0002B1A9</string>
<string>2090289817E95F9E0051A253</string>
<string>2090289B17E95F9E0051A253</string>
<string>2090289C17E95F9E0051A253</string>
<string>2090289D17E95F9E0051A253</string>
<string>20D2707917E962A1005B3EA0</string>
<string>20D2707A17E962A1005B3EA0</string>
<string>2002F0D917E972B3003CF277</string>
<string>2002F0D417E972A4003CF277</string>
<string>20568DE617EC16C60022F314</string>
<string>20568DE717EC16C60022F314</string>
<string>20568DE817EC16C60022F314</string>
<string>20568DE917EC16C60022F314</string>
<string>20568DEA17EC16C60022F314</string>
</array>
<key>prevStack</key>
<array>
@ -350,7 +351,10 @@
<string>2090289E17E95F9E0051A253</string>
<string>2090289F17E95F9E0051A253</string>
<string>209028A517E95F9E0051A253</string>
<string>2002F0DA17E972B3003CF277</string>
<string>20568DEB17EC16C60022F314</string>
<string>20568DEC17EC16C60022F314</string>
<string>20568DED17EC16C60022F314</string>
<string>20568DEE17EC16C60022F314</string>
</array>
</dict>
<key>SplitCount</key>
@ -410,9 +414,9 @@
</array>
<key>TableOfContents</key>
<array>
<string>2002F0C517E9705F003CF277</string>
<string>20568DF017EC16C60022F314</string>
<string>1CE0B1FE06471DED0097A5F4</string>
<string>2002F0C617E9705F003CF277</string>
<string>20568DF117EC16C60022F314</string>
<string>1CE0B20306471E060097A5F4</string>
<string>1CE0B20506471E060097A5F4</string>
</array>
@ -568,14 +572,12 @@
<key>Dock</key>
<array>
<dict>
<key>BecomeActive</key>
<true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>1CD0528F0623707200166675</string>
<key>PBXProjectModuleLabel</key>
<string>sdl.c</string>
<string></string>
<key>StatusBarVisibility</key>
<true/>
</dict>
@ -631,7 +633,7 @@
<key>TableOfContents</key>
<array>
<string>20F6A1B417E95A6200BAD261</string>
<string>2002F0C717E9705F003CF277</string>
<string>20568DF217EC16C60022F314</string>
<string>1CD0528F0623707200166675</string>
<string>XCMainBuildResultsModuleGUID</string>
</array>
@ -751,13 +753,13 @@
<key>TableOfContents</key>
<array>
<string>1CD10A99069EF8BA00B06720</string>
<string>2002F0C817E9705F003CF277</string>
<string>20568DF317EC16C60022F314</string>
<string>1C162984064C10D400B95A72</string>
<string>2002F0C917E9705F003CF277</string>
<string>2002F0CA17E9705F003CF277</string>
<string>2002F0CB17E9705F003CF277</string>
<string>2002F0CC17E9705F003CF277</string>
<string>2002F0CD17E9705F003CF277</string>
<string>20568DF417EC16C60022F314</string>
<string>20568DF517EC16C60022F314</string>
<string>20568DF617EC16C60022F314</string>
<string>20568DF717EC16C60022F314</string>
<string>20568DF817EC16C60022F314</string>
</array>
<key>ToolbarConfiguration</key>
<string>xcode.toolbar.config.debugV3</string>
@ -919,7 +921,7 @@
<key>TableOfContents</key>
<array>
<string>1C78EAAD065D492600B07095</string>
<string>2002F0CE17E9705F003CF277</string>
<string>20568DF917EC16C60022F314</string>
<string>1C78EAAC065D492600B07095</string>
</array>
<key>ToolbarConfiguration</key>

View File

@ -21,14 +21,6 @@
sepNavVisRange = "{0, 272}";
};
};
2002F0D417E972A4003CF277 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
comments = "error: false undeclared (first use in this function)";
fRef = 20F6A1F017E95B6F00BAD261 /* sdl.c */;
rLen = 1;
rLoc = 29;
rType = 1;
};
2002F0D917E972B3003CF277 /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D1107310486CEB800E47090 /* Info.plist */;
@ -40,27 +32,6 @@
rLen = 0;
rLoc = 2147483647;
};
2002F0DA17E972B3003CF277 /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D1107310486CEB800E47090 /* Info.plist */;
fallbackIsa = PBXBookmark;
isK = 0;
kPath = (
);
name = /Users/kts/Devel/timesynk/xcode/Info.plist;
rLen = 0;
rLoc = 2147483647;
};
2002F0DC17E972B3003CF277 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 20F6A1F017E95B6F00BAD261 /* sdl.c */;
name = "sdl.c: 47";
rLen = 0;
rLoc = 833;
rType = 0;
vrLen = 422;
vrLoc = 314;
};
20567ECA17E95DEC0002B1A9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 20F6A1C417E95AD300BAD261 /* common.h */;
@ -111,10 +82,111 @@
vrLen = 332;
vrLoc = 0;
};
20568DD417EBE9490022F314 /* player.c */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {519, 392}}";
sepNavSelRange = "{614, 0}";
sepNavVisRange = "{0, 483}";
};
};
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 */;
name = "main.h: 1";
rLen = 0;
rLoc = 0;
rType = 0;
vrLen = 73;
vrLoc = 0;
};
20568DE817EC16C60022F314 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 2090287B17E95E780051A253 /* timesynk_Prefix.pch */;
name = "timesynk_Prefix.pch: 1";
rLen = 0;
rLoc = 0;
rType = 0;
vrLen = 179;
vrLoc = 0;
};
20568DE917EC16C60022F314 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 002F3A2B09D0888800EBEB88 /* SDLMain.h */;
name = "SDLMain.h: 1";
rLen = 0;
rLoc = 0;
rType = 0;
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, 163}}";
sepNavSelRange = "{126, 0}";
sepNavIntBoundsRect = "{{0, 0}, {600, 253}}";
sepNavSelRange = "{0, 0}";
sepNavVisRange = "{0, 179}";
sepNavWindowFrame = "{{15, 183}, {750, 558}}";
};
@ -129,26 +201,6 @@
vrLen = 272;
vrLoc = 0;
};
2090289B17E95F9E0051A253 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 002F3A2B09D0888800EBEB88 /* SDLMain.h */;
name = "SDLMain.h: 1";
rLen = 0;
rLoc = 0;
rType = 0;
vrLen = 374;
vrLoc = 0;
};
2090289C17E95F9E0051A253 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 2090287B17E95E780051A253 /* timesynk_Prefix.pch */;
name = "timesynk_Prefix.pch: 1";
rLen = 0;
rLoc = 0;
rType = 0;
vrLen = 175;
vrLoc = 0;
};
2090289D17E95F9E0051A253 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 20F6A1F117E95B6F00BAD261 /* sdl.h */;
@ -293,7 +345,7 @@
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {519, 253}}";
sepNavSelRange = "{0, 0}";
sepNavVisRange = "{0, 107}";
sepNavVisRange = "{0, 73}";
};
};
20F6A1D417E95AD300BAD261 /* stubs.h */ = {
@ -320,14 +372,14 @@
rLen = 0;
rLoc = 0;
rType = 0;
vrLen = 107;
vrLen = 73;
vrLoc = 0;
};
20F6A1F017E95B6F00BAD261 /* sdl.c */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {450, 588}}";
sepNavIntBoundsRect = "{{0, 0}, {519, 798}}";
sepNavSelRange = "{833, 0}";
sepNavVisRange = "{378, 332}";
sepNavVisRange = "{355, 401}";
};
};
20F6A1F117E95B6F00BAD261 /* sdl.h */ = {
@ -344,16 +396,6 @@
sepNavVisRange = "{0, 62}";
};
};
20F6A21417E95C1200BAD261 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 20F6A1CF17E95AD300BAD261 /* main.h */;
name = "main.h: 1";
rLen = 0;
rLoc = 0;
rType = 0;
vrLen = 107;
vrLoc = 0;
};
20F6A21A17E95C1200BAD261 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 20F6A1D417E95AD300BAD261 /* stubs.h */;
@ -408,22 +450,27 @@
PBXFileDataSource_Target_ColumnID,
);
};
PBXPerProjectTemplateStateSaveDate = 401174600;
PBXWorkspaceStateSaveDate = 401174600;
PBXPerProjectTemplateStateSaveDate = 401336609;
PBXWorkspaceStateSaveDate = 401336609;
};
perUserProjectItems = {
2002F0D417E972A4003CF277 /* PBXTextBookmark */ = 2002F0D417E972A4003CF277 /* PBXTextBookmark */;
2002F0D917E972B3003CF277 /* PlistBookmark */ = 2002F0D917E972B3003CF277 /* PlistBookmark */;
2002F0DA17E972B3003CF277 /* PlistBookmark */ = 2002F0DA17E972B3003CF277 /* PlistBookmark */;
2002F0DC17E972B3003CF277 /* PBXTextBookmark */ = 2002F0DC17E972B3003CF277 /* 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 */;
2090289B17E95F9E0051A253 /* PBXTextBookmark */ = 2090289B17E95F9E0051A253 /* PBXTextBookmark */;
2090289C17E95F9E0051A253 /* PBXTextBookmark */ = 2090289C17E95F9E0051A253 /* PBXTextBookmark */;
2090289D17E95F9E0051A253 /* PBXTextBookmark */ = 2090289D17E95F9E0051A253 /* PBXTextBookmark */;
2090289E17E95F9E0051A253 /* PBXTextBookmark */ = 2090289E17E95F9E0051A253 /* PBXTextBookmark */;
2090289F17E95F9E0051A253 /* PBXTextBookmark */ = 2090289F17E95F9E0051A253 /* PBXTextBookmark */;
@ -435,7 +482,6 @@
20F6A1B117E95A6200BAD261 /* PlistBookmark */ = 20F6A1B117E95A6200BAD261 /* PlistBookmark */;
20F6A1E917E95B5200BAD261 /* PBXTextBookmark */ = 20F6A1E917E95B5200BAD261 /* PBXTextBookmark */;
20F6A1EA17E95B5200BAD261 /* PBXTextBookmark */ = 20F6A1EA17E95B5200BAD261 /* PBXTextBookmark */;
20F6A21417E95C1200BAD261 /* PBXTextBookmark */ = 20F6A21417E95C1200BAD261 /* PBXTextBookmark */;
20F6A21A17E95C1200BAD261 /* PBXTextBookmark */ = 20F6A21A17E95C1200BAD261 /* PBXTextBookmark */;
20F6A21E17E95C1200BAD261 /* PBXTextBookmark */ = 20F6A21E17E95C1200BAD261 /* PBXTextBookmark */;
};

View File

@ -11,6 +11,8 @@
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 */; };
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 */; };
20F6A1D517E95AD300BAD261 /* interface in Resources */ = {isa = PBXBuildFile; fileRef = 20F6A1C517E95AD300BAD261 /* interface */; };
20F6A1D617E95AD300BAD261 /* net in Resources */ = {isa = PBXBuildFile; fileRef = 20F6A1D017E95AD300BAD261 /* net */; };
@ -41,6 +43,10 @@
002F3AF009D08F1000EBEB88 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/SDLMain.nib; sourceTree = "<group>"; };
089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
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; };
20568DD517EBE9490022F314 /* player.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = player.h; path = ../player.h; sourceTree = SOURCE_ROOT; };
2090287B17E95E780051A253 /* timesynk_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = timesynk_Prefix.pch; sourceTree = "<group>"; };
20F6A1C217E95AAA00BAD261 /* main.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = main.c; path = ../main.c; sourceTree = SOURCE_ROOT; };
20F6A1C417E95AD300BAD261 /* common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = common.h; path = ../common.h; sourceTree = SOURCE_ROOT; };
@ -74,6 +80,10 @@
isa = PBXGroup;
children = (
002F3A2B09D0888800EBEB88 /* SDLMain.h */,
20568DD217EBE9490022F314 /* game.c */,
20568DD317EBE9490022F314 /* game.h */,
20568DD417EBE9490022F314 /* player.c */,
20568DD517EBE9490022F314 /* player.h */,
002F3A2C09D0888800EBEB88 /* SDLMain.m */,
);
name = Classes;
@ -215,6 +225,8 @@
20F6A1C317E95AAA00BAD261 /* main.c in Sources */,
20F6A1F317E95B6F00BAD261 /* sdl.c in Sources */,
20F6A20317E95BC400BAD261 /* sockets.c in Sources */,
20568DD617EBE9490022F314 /* game.c in Sources */,
20568DD717EBE9490022F314 /* player.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};