From 2f0d7efa7eeb32b2db3e2d7d25afa133a832c913 Mon Sep 17 00:00:00 2001 From: spartanj Date: Sat, 3 Jul 2010 16:00:17 -0300 Subject: [PATCH] Added support for Zip files and fixed some minor bugs on cPak. --- Makefile | 13 +- ee.linux.cbp | 6 + src/ee.h | 1 + src/graphics/cconsole.cpp | 70 +- src/helper/zip_utils/unzip.cpp | 4329 ++++++++++++++++++++++++++++++++ src/helper/zip_utils/unzip.h | 227 ++ src/helper/zip_utils/zip.cpp | 2991 ++++++++++++++++++++++ src/helper/zip_utils/zip.h | 215 ++ src/system/cpack.cpp | 4 +- src/system/cpack.hpp | 33 +- src/system/cpak.cpp | 63 +- src/system/cpak.hpp | 41 +- src/system/czip.cpp | 271 ++ src/system/czip.hpp | 80 + src/test/ee.cpp | 11 +- src/utils/utils.cpp | 37 +- src/utils/utils.hpp | 38 +- 17 files changed, 8301 insertions(+), 129 deletions(-) create mode 100644 src/helper/zip_utils/unzip.cpp create mode 100644 src/helper/zip_utils/unzip.h create mode 100644 src/helper/zip_utils/zip.cpp create mode 100644 src/helper/zip_utils/zip.h create mode 100644 src/system/czip.cpp create mode 100644 src/system/czip.hpp diff --git a/Makefile b/Makefile index 569b6e20c..999d1a479 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ ifeq ($(DEBUGBUILD), yes) - DEBUGFLAGS = -g -DDEBUG + DEBUGFLAGS = -g -DDEBUG -DEE_DEBUG else DEBUGFLAGS = -O2 -DNDEBUG endif @@ -36,6 +36,7 @@ SRCSDLTTF = $(wildcard ./src/helper/SDL_ttf/*.c) SRCSOIL = $(wildcard ./src/helper/SOIL/*.c) SRCFE = $(wildcard ./src/helper/fastevents/*.c) SRCSTBVORBIS = $(wildcard ./src/helper/stb_vorbis/*.c) +SRCZIPUTILS = $(wildcard ./src/helper/zip_utils/*.cpp) SRCAUDIO = $(wildcard ./src/audio/*.cpp) SRCGAMING = $(wildcard ./src/gaming/*.cpp) @@ -54,6 +55,7 @@ OBJFE = $(SRCFE:.c=.o) OBJSDLTTF = $(SRCSDLTTF:.c=.o) OBJSOIL = $(SRCSOIL:.c=.o) OBJSTBVORBIS = $(SRCSTBVORBIS:.c=.o) +OBJZIPUTILS = $(SRCZIPUTILS:.cpp=.o) OBJAUDIO = $(SRCAUDIO:.cpp=.o) OBJGAMING = $(SRCGAMING:.cpp=.o) @@ -64,7 +66,7 @@ OBJUI = $(SRCUI:.cpp=.o) OBJUTILS = $(SRCUTILS:.cpp=.o) OBJWINDOW = $(SRCWINDOW:.cpp=.o) -OBJHELPERS = $(OBJGLEW) $(OBJFE) $(OBJSDLTTF) $(OBJSOIL) $(OBJSTBVORBIS) +OBJHELPERS = $(OBJGLEW) $(OBJFE) $(OBJSDLTTF) $(OBJSOIL) $(OBJSTBVORBIS) $(OBJZIPUTILS) OBJMODULES = $(OBJUTILS) $(OBJMATH) $(OBJSYSTEM) $(OBJAUDIO) $(OBJWINDOW) $(OBJGRAPHICS) $(OBJGAMING) $(OBJUI) OBJTEST = $(SRCTEST:.cpp=.o) @@ -88,10 +90,10 @@ libeepp-s.a: $(OBJHELPERS) $(OBJMODULES) libeepp.so: $(OBJHELPERS) $(OBJMODULES) $(CPP) $(LDFLAGS) -Wl,-soname,$(LIB).$(VERSION) -o $(LIBNAME) $(OBJHELPERS) $(OBJMODULES) -lfreetype -lSDL -lsndfile -lopenal -lGL -lGLU -$(OBJMODULES): %.o: %.cpp +$(OBJMODULES) $(OBJZIPUTILS): %.o: %.cpp $(CPP) -o $@ -c $< $(CFLAGS) -I/usr/include/freetype2 -$(OBJHELPERS): %.o: %.c +$(OBJGLEW) $(OBJFE) $(OBJSDLTTF) $(OBJSOIL) $(OBJSTBVORBIS): %.o: %.c $(CC) -o $@ -c $< $(CFLAGSEXT) -DSTBI_FAILURE_USERMSG -I/usr/include/freetype2 test: $(EXE) @@ -115,6 +117,9 @@ docs: clean: @rm -rf $(OBJHELPERS) $(OBJMODULES) $(OBJTEST) $(OBJEEIV) + +cleantemp: + @rm -rf $(OBJMODULES) $(OBJTEST) $(OBJEEIV) cleanall: clean @rm -rf $(LIBNAME) diff --git a/ee.linux.cbp b/ee.linux.cbp index 13b42b57c..e9e600c14 100644 --- a/ee.linux.cbp +++ b/ee.linux.cbp @@ -150,6 +150,10 @@