diff --git a/COMPILING.txt b/COMPILING.txt index 2acc359..d557d36 100644 --- a/COMPILING.txt +++ b/COMPILING.txt @@ -12,4 +12,4 @@ 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. + - the SDL project is compiled against SDL-1.2.15 and SDL_image-1.2.12, and as such, looks for SDL's "lib/" and "include/" directories in "../../SDL-1.2.15/". Copy SDL.dll, SDL_image.dll, libpng15-15.dll, and zlib1.dll to the same directory as timesynk.exe. diff --git a/devcpp/Makefile.win b/devcpp/Makefile.win index 917e866..27334cf 100644 --- a/devcpp/Makefile.win +++ b/devcpp/Makefile.win @@ -1,17 +1,17 @@ -# Project: timesynk-pdcurses +# Project: timesynk-sdl # Makefile created by Dev-C++ 5.4.2 CPP = g++.exe CC = gcc.exe WINDRES = windres.exe -OBJ = ../main.o ../interface/curses.o ../net/sockets.o ../game.o ../player.o -LINKOBJ = ../main.o ../interface/curses.o ../net/sockets.o ../game.o ../player.o -LIBS = -L"C:/Program Files (x86)/Dev-Cpp/MinGW32/lib" -static-libstdc++ -static-libgcc ../../PDCurses/pdcurses.lib -INCS = -I"C:/Program Files (x86)/Dev-Cpp/MinGW32/include" -I"../../PDCurses" -CXXINCS = -I"C:/Program Files (x86)/Dev-Cpp/MinGW32/include" -I"../../PDCurses" -BIN = timesynk-pdcurses.exe -CXXFLAGS = $(CXXINCS) -CFLAGS = $(INCS) +OBJ = ../main.o ../interface/sdl.o ../net/sockets.o ../game.o ../player.o ../wall.o ../tiles/tiles.o ../console.o ../context.o ../helper.o ../map.o ../npc.o ../tile.o +LINKOBJ = ../main.o ../interface/sdl.o ../net/sockets.o ../game.o ../player.o ../wall.o ../tiles/tiles.o ../console.o ../context.o ../helper.o ../map.o ../npc.o ../tile.o +LIBS = -L"C:/Program Files (x86)/Dev-Cpp/MinGW32/lib" -static-libstdc++ -static-libgcc -L"../../SDL-1.2.15/lib" -mwindows -lsdl -lSDL_image -lSDLmain -g3 +INCS = -I"C:/Program Files (x86)/Dev-Cpp/MinGW32/include" -I"../../SDL-1.2.15/include" +CXXINCS = -I"C:/Program Files (x86)/Dev-Cpp/MinGW32/include" -I"../../SDL-1.2.15/include" +BIN = timesynk-sdl.exe +CXXFLAGS = $(CXXINCS) -g3 +CFLAGS = $(INCS) -g3 RM = rm -f .PHONY: all all-before all-after clean clean-custom @@ -28,8 +28,8 @@ $(BIN): $(OBJ) ../main.o: ../main.c $(CC) -c ../main.c -o ../main.o $(CFLAGS) -../interface/curses.o: ../interface/curses.c - $(CC) -c ../interface/curses.c -o ../interface/curses.o $(CFLAGS) +../interface/sdl.o: ../interface/sdl.c + $(CC) -c ../interface/sdl.c -o ../interface/sdl.o $(CFLAGS) ../net/sockets.o: ../net/sockets.c $(CC) -c ../net/sockets.c -o ../net/sockets.o $(CFLAGS) @@ -39,3 +39,27 @@ $(BIN): $(OBJ) ../player.o: ../player.c $(CC) -c ../player.c -o ../player.o $(CFLAGS) + +../wall.o: ../wall.c + $(CC) -c ../wall.c -o ../wall.o $(CFLAGS) + +../tiles/tiles.o: ../tiles/tiles.c + $(CC) -c ../tiles/tiles.c -o ../tiles/tiles.o $(CFLAGS) + +../console.o: ../console.c + $(CC) -c ../console.c -o ../console.o $(CFLAGS) + +../context.o: ../context.c + $(CC) -c ../context.c -o ../context.o $(CFLAGS) + +../helper.o: ../helper.c + $(CC) -c ../helper.c -o ../helper.o $(CFLAGS) + +../map.o: ../map.c + $(CC) -c ../map.c -o ../map.o $(CFLAGS) + +../npc.o: ../npc.c + $(CC) -c ../npc.c -o ../npc.o $(CFLAGS) + +../tile.o: ../tile.c + $(CC) -c ../tile.c -o ../tile.o $(CFLAGS) diff --git a/devcpp/timesynk-pdcurses.dev b/devcpp/timesynk-pdcurses.dev index f0627e4..b7b3623 100644 --- a/devcpp/timesynk-pdcurses.dev +++ b/devcpp/timesynk-pdcurses.dev @@ -24,12 +24,12 @@ HostApplication= UseCustomMakefile=0 CustomMakefile= CommandLine= -Folders=interface,net +Folders=interface,net,tiles IncludeVersionInfo=0 SupportXPThemes=0 CompilerSet=0 -CompilerSettings=0000000000000000000000000 -UnitCount=11 +CompilerSettings=0000000000000000001000000 +UnitCount=28 [VersionInfo] Major=1 @@ -160,3 +160,173 @@ Priority=1000 OverrideBuildCmd=0 BuildCmd= +[Unit12] +FileName=..\display.h +CompileCpp=0 +Folder=timesynk-pdcurses +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit13] +FileName=..\map.h +CompileCpp=0 +Folder=timesynk-pdcurses +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit14] +FileName=..\wall.c +CompileCpp=0 +Folder=timesynk-pdcurses +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit15] +FileName=..\wall.h +CompileCpp=0 +Folder=timesynk-pdcurses +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit16] +FileName=..\console.c +CompileCpp=0 +Folder=timesynk-pdcurses +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit17] +FileName=..\console.h +CompileCpp=0 +Folder=timesynk-pdcurses +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit18] +FileName=..\context.c +CompileCpp=0 +Folder=timesynk-pdcurses +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit19] +FileName=..\context.h +CompileCpp=0 +Folder=timesynk-pdcurses +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit20] +FileName=..\helper.c +CompileCpp=0 +Folder=timesynk-pdcurses +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit21] +FileName=..\helper.h +CompileCpp=0 +Folder=timesynk-pdcurses +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit22] +FileName=..\map.c +CompileCpp=0 +Folder=timesynk-pdcurses +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit23] +FileName=..\npc.c +CompileCpp=0 +Folder=timesynk-pdcurses +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit24] +FileName=..\npc.h +CompileCpp=0 +Folder=timesynk-pdcurses +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit25] +FileName=..\tile.c +CompileCpp=0 +Folder=timesynk-pdcurses +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit26] +FileName=..\tile.h +CompileCpp=0 +Folder=timesynk-pdcurses +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit27] +FileName=..\tiles\curses_tiles.c +CompileCpp=0 +Folder=tiles +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit28] +FileName=..\tiles\curses_tiles.h +CompileCpp=0 +Folder=tiles +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/devcpp/timesynk-pdcurses.layout b/devcpp/timesynk-pdcurses.layout index 47aec22..dd21574 100644 --- a/devcpp/timesynk-pdcurses.layout +++ b/devcpp/timesynk-pdcurses.layout @@ -11,8 +11,8 @@ Focused=-1 [Editor_1] Open=0 Top=0 -CursorCol=1 -CursorRow=1 +CursorCol=14 +CursorRow=25 TopLine=1 LeftChar=1 [Editor_2] @@ -25,28 +25,119 @@ LeftChar=1 [Editor_3] Open=0 Top=0 +CursorCol=1 +CursorRow=1 +TopLine=1 +LeftChar=1 [Editor_4] Open=0 Top=0 -CursorCol=22 -CursorRow=35 -TopLine=1 +CursorCol=1 +CursorRow=61 +TopLine=46 LeftChar=1 [Editor_5] Open=0 Top=0 +CursorCol=1 +CursorRow=1 +TopLine=1 +LeftChar=1 [Editor_6] Open=0 Top=0 +CursorCol=1 +CursorRow=1 +TopLine=1 +LeftChar=1 [Editor_7] Open=0 Top=0 +CursorCol=3 +CursorRow=26 +TopLine=13 +LeftChar=1 [Editor_8] Open=0 Top=0 +CursorCol=1 +CursorRow=1 +TopLine=1 +LeftChar=1 [Editor_9] Open=0 Top=0 +CursorCol=4 +CursorRow=27 +TopLine=1 +LeftChar=1 [Editor_10] Open=0 Top=0 +CursorCol=24 +CursorRow=8 +TopLine=1 +LeftChar=1 +[Editor_11] +Open=0 +Top=0 +[Editor_12] +Open=0 +Top=0 +[Editor_13] +Open=0 +Top=0 +[Editor_14] +Open=0 +Top=0 +[Editor_15] +Open=0 +Top=0 +CursorCol=1 +CursorRow=1 +TopLine=1 +LeftChar=1 +[Editor_16] +Open=0 +Top=0 +CursorCol=1 +CursorRow=1 +TopLine=1 +LeftChar=1 +[Editor_17] +Open=0 +Top=0 +[Editor_18] +Open=0 +Top=0 +CursorCol=1 +CursorRow=3 +TopLine=1 +LeftChar=1 +[Editor_19] +Open=0 +Top=0 +[Editor_20] +Open=0 +Top=0 +[Editor_21] +Open=0 +Top=0 +[Editor_22] +Open=0 +Top=0 +[Editor_23] +Open=0 +Top=0 +[Editor_24] +Open=0 +Top=0 +[Editor_25] +Open=0 +Top=0 +[Editor_26] +Open=0 +Top=0 +[Editor_27] +Open=0 +Top=0 diff --git a/devcpp/timesynk-sdl.dev b/devcpp/timesynk-sdl.dev index a9a3fb3..31f3cc5 100644 --- a/devcpp/timesynk-sdl.dev +++ b/devcpp/timesynk-sdl.dev @@ -11,7 +11,7 @@ ResourceIncludes= MakeIncludes= Compiler= CppCompiler= -Linker=-lsdl -lSDLmain_@@_ +Linker=-lsdl -lSDL_image -lSDLmain_@@_ IsCpp=0 Icon= ExeOutput= @@ -24,12 +24,12 @@ HostApplication= UseCustomMakefile=0 CustomMakefile= CommandLine= -Folders=interface,net +Folders=interface,net,tiles IncludeVersionInfo=0 SupportXPThemes=0 CompilerSet=0 -CompilerSettings=0000000000000000000000000 -UnitCount=11 +CompilerSettings=0000000000000000001000000 +UnitCount=28 [VersionInfo] Major=1 @@ -160,3 +160,173 @@ Priority=1000 OverrideBuildCmd=0 BuildCmd= +[Unit12] +FileName=..\display.h +CompileCpp=0 +Folder=timesynk-sdl +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit13] +FileName=..\map.h +CompileCpp=0 +Folder=timesynk-sdl +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit14] +FileName=..\wall.c +CompileCpp=0 +Folder=timesynk-sdl +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit15] +FileName=..\wall.h +CompileCpp=0 +Folder=timesynk-sdl +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit16] +FileName=..\tiles\tiles.c +CompileCpp=0 +Folder=tiles +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit17] +FileName=..\tiles\tiles.h +CompileCpp=0 +Folder=tiles +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit18] +FileName=..\console.c +CompileCpp=0 +Folder=timesynk-sdl +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit19] +FileName=..\console.h +CompileCpp=0 +Folder=timesynk-sdl +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit20] +FileName=..\context.c +CompileCpp=0 +Folder=timesynk-sdl +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit21] +FileName=..\context.h +CompileCpp=0 +Folder=timesynk-sdl +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit22] +FileName=..\helper.c +CompileCpp=0 +Folder=timesynk-sdl +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit23] +FileName=..\helper.h +CompileCpp=0 +Folder=timesynk-sdl +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit24] +FileName=..\map.c +CompileCpp=0 +Folder=timesynk-sdl +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit25] +FileName=..\npc.c +CompileCpp=0 +Folder=timesynk-sdl +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit26] +FileName=..\npc.h +CompileCpp=0 +Folder=timesynk-sdl +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit27] +FileName=..\tile.c +CompileCpp=0 +Folder=timesynk-sdl +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit28] +FileName=..\tile.h +CompileCpp=0 +Folder=timesynk-sdl +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/devcpp/timesynk-sdl.layout b/devcpp/timesynk-sdl.layout index 6027d63..38d33aa 100644 --- a/devcpp/timesynk-sdl.layout +++ b/devcpp/timesynk-sdl.layout @@ -1,6 +1,6 @@ [Editor_0] -CursorCol=1 -CursorRow=1 +CursorCol=7 +CursorRow=13 TopLine=1 LeftChar=1 Open=0 @@ -11,34 +11,121 @@ Focused=-1 [Editor_1] Open=0 Top=0 +CursorCol=1 +CursorRow=1 +TopLine=1 +LeftChar=1 [Editor_2] Open=0 Top=0 +CursorCol=1 +CursorRow=1 +TopLine=1 +LeftChar=1 [Editor_3] Open=0 Top=0 +CursorCol=1 +CursorRow=1 +TopLine=1 +LeftChar=1 [Editor_4] Open=0 Top=0 +CursorCol=34 +CursorRow=67 +TopLine=54 +LeftChar=1 [Editor_5] Open=0 Top=0 +CursorCol=1 +CursorRow=1 +TopLine=1 +LeftChar=1 [Editor_6] Open=0 Top=0 [Editor_7] -CursorCol=1 -CursorRow=1 -TopLine=1 +CursorCol=10 +CursorRow=66 +TopLine=31 LeftChar=1 Open=0 Top=0 [Editor_8] Open=0 Top=0 +CursorCol=1 +CursorRow=1 +TopLine=1 +LeftChar=1 [Editor_9] Open=0 Top=0 +CursorCol=1 +CursorRow=7 +TopLine=1 +LeftChar=1 [Editor_10] Open=0 Top=0 +CursorCol=1 +CursorRow=1 +TopLine=1 +LeftChar=1 +[Editor_11] +Open=0 +Top=0 +[Editor_12] +Open=0 +Top=0 +[Editor_13] +Open=0 +Top=0 +[Editor_14] +Open=0 +Top=0 +[Editor_15] +Open=0 +Top=0 +[Editor_16] +Open=0 +Top=0 +[Editor_17] +Open=0 +Top=0 +[Editor_18] +Open=0 +Top=0 +[Editor_19] +Open=0 +Top=0 +[Editor_20] +Open=0 +Top=0 +[Editor_21] +Open=0 +Top=0 +[Editor_22] +Open=0 +Top=0 +[Editor_23] +Open=0 +Top=0 +[Editor_24] +Open=0 +Top=0 +[Editor_25] +Open=0 +Top=0 +[Editor_26] +Open=0 +Top=0 +CursorCol=25 +CursorRow=38 +TopLine=36 +LeftChar=1 +[Editor_27] +Open=0 +Top=0 diff --git a/game.c b/game.c index 21ddcd1..e8d0d7f 100644 --- a/game.c +++ b/game.c @@ -111,8 +111,8 @@ int gameCollision(target_x, target_y) { void gameMoveTile(struct Tile *tile, int target_x, int target_y) { // remove tile from chain and connect tile's neighbors to each other - if (tile->prev != NULL) { - if (tile->next != NULL) { + if (tile->prev) { + if (tile->next) { tile->prev->next = tile->next; } else { tile->prev->next = NULL; diff --git a/main.c b/main.c index cb98e22..610e66f 100644 --- a/main.c +++ b/main.c @@ -23,7 +23,6 @@ int main(int argc, char *argv[]) { playerSetCommand(PLAYER_LOOK, playerLook); gameInit(); - // start our program loop! while(is_running) { if (is_networking) diff --git a/tile.c b/tile.c index 1ea663c..63c1a77 100644 --- a/tile.c +++ b/tile.c @@ -34,6 +34,8 @@ struct Tile *newTile(unsigned int type_id, short id, short x, short y) { new_tile->id = id; new_tile->x = x; new_tile->y = y; + new_tile->next = NULL; + new_tile->prev = NULL; switch(type_id) { case WALL: new_tile->data = (WallTile *) malloc(sizeof(WallTile));