diff --git a/.gitignore b/.gitignore index cc0b6a3..e11069d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,48 +1,31 @@ -# Object files +# Compiled object files. +*.slo +*.lo *.o -# Libraries -*.lib +# Compiled Dynsamic libs. +*.so + +# Compiled Static libs. +*.lai +*.la *.a -# Shared objects (inc. Windows DLLs) -*.dll -*.so -*.so.* -*.dylib -*.bin - -# Executables -*.exe -*.out -*.app - -# Crap. -*.log +# Project Specific. +*Lephisto3D* +bin/* +*Makefile +*Makefile.in +*.stash *.swp -*.txt -*.tsv -*.pdf -*.pyc -*bin/Lephisto -*bin/mksprite -*bin/ldata -*bin/test.xml -*pack -*core -screenshots/*.png -*VERSION -utils/resedit/*.xml -docs/doxygen/docs/* -docs/doxygen/lua/* - - -# Windows Crap -win32/Lephisto/* -win32/Pack/* -win32/Makefile - -# Qt crap. -qt/*.user -qt/Makefile - +*.swo +*.cache +*.deps +*aclocal.m4 +*compile +*config.log +*config.status +*configure +*depcomp +*install-sh +*missing diff --git a/README b/README index d4fc205..739e596 100644 --- a/README +++ b/README @@ -1,131 +1,2 @@ -Lephisto : SaraCraft Studio's - -Overview: -~~~~~~~~~ -Lephisto was the first game project I worked on. I have decided to start a new project and as originally planned when -ceasing work on the original, re-use the name! - -Dependencies: -~~~~~~~~~~~~~ -OpenGL -SDL -sdl_image -freetype2 -libpng - -Compiling: -~~~~~~~~~~ - ----------------------- --- Linux. - -- cd Lephisto/bin/ - -- make ----------------------- - -Instalation: -~~~~~~~~~~~~~ -Installation is not currently supported. - -Bugs/Crashes and problems: -~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Please visit the bug tracker https://github.com/Allanis/Lephisto/issues?state=open -and report any issues that you are having. Please ensure that your bug has not -already been documented before posting. - - -Dependencies: -~~~~~~~~~~~~~ - -- Debian: - -- Binary: - -- libsdl1.2debian - -- libsdl-image1.2 - -- libsdl-mixer1.2 - -- libgl1-mesa-dri - -- libxml2 - -- libfreetype6 - -- libpng12-0 - - -- Source: - -- libsdl1.2-dev - -- libsdl-image1.2-dev - -- libsdl-mixer1.2-dev - -- libgl1-mesa-dev - -- libxml2-dev - -- libfreetype6-dev - -- libpng12-dev - - -Instructions: -~~~~~~~~~~~~~ -Keys: - ========================================================= - Lephisto uses a dynamic keybinding system that allows you - to configure the keybinds to joystick, keyboard or a mix - of both. - -- Joystick. - If you are going to use a joystick, You will have to tell - Lephisto which joystick to use. You can either use the -j - or -J parameter from the terminal or put it in the conf - file. - -- Eg. - -- ./Lephisto -j 0 - -- ./Lephisto -J "Precision" - -- joystick = "Precision" # in conf file. - - -- Syntax. - KEY_IDENTIFIER = { type = KEY_TYPE, key = KEY_NUMBER, - [reverse = KEY_REVERSE, mod = MOD_IDENTIFIER] } - - KEY_IDENTIFIER is the indetifier given below: - KEY_TYPE can be one of keyboard, jaxis or jbutton. - KEY_NUMBER is the number of the key (found with xev usually, just - convert the keysym from hex to base 10). - KEY_REVERSE is whether it is reversed or not, which - is only useful in the case of jaxis. - MOD_IDENTIFIER is the modifier to take into account, can be on of: - lctrl, rctrl, lshift, rshift, lmeta, rmeta, ralt, lalt - It isn't used with joystick bindings. - - -- Eg. - accel = { type = "jbutton", key = 0 } - ========================================================= - - Movement: - -- w : Accelerate. - -- Double tap for afterburners. - -- a : Left. - -- d : Right. - -- s : Turn 180 degree, so you can stop easily. - - Combat: - -- Space : Primary weapons. - -- Tab : Target. - -- 'r' : Target closest hostile ship. - -- 'f' : Faces the target. - -- 'b' : Board the target. - -- 'LALT' : Fires secondary weapon. - -- 'e' : Cycle through secondary weapons. - -- 'LCTRL+e' : Cycle backwards through secondary weapons. - - Escorts: - -- Cycle through secondary weapons until you find fighter bay, then fire - secondary weapon with LALT to dispatch fighters. - -- 1 : Command escort to attack. - -- 2 : Command escort to hold. - -- 3 : Command escort to return to hold. - -- 4 : Command escort to clear all commands. - - Space: - -- 'p' : Cycles through planets. - -- 'l' : Attempts to land or targets nearest planet. - -- 'h' : Cycles through hyperspace jump points. - -- 'j' : Jump through hyperspace. - -- 'm' : StarMap - - GUI: - -- '0' : Zoom in. - -- '9' : Zoom out. - -- F12 : Take a screenshot. - -- ESC : Menu. - -- 'i' : Opens the character information window. +-- Lephisto3D -- diff --git a/TODO b/TODO deleted file mode 100644 index 044be07..0000000 --- a/TODO +++ /dev/null @@ -1,67 +0,0 @@ -Vital: - - -- Developer mode. - -- Lua console. - -- Run missions. - -- See mount points. - -- Integrate the resource editor possibly. - -- Asteroids. - -- Real news. - -- Event System. - -- Like mission system, but they occur naturally/randomly. - -- Has similar power to mission system. - -- More missions. - -- Empire shipping campaign. - -- FLF Nebulae campaign. - -- Space Trader Missions. - -- Misc Empire Guard missions. - -- Pirate Missions. - -- FLF Missions. - -Major: - -- Unique pilot system (besides mission uniques). - -- Escorts available for hire. - -- Nicer AI. - -- Ship fleet movement (Maybe based on boids?) - -- Options menu needs to do something. - -- Configuration app for keybindings. - -- Secondary weapon revamp. - -- Players should be able to configure what outfits they want as secondary. - -- Players should also be able to set hotkeys for secondary weapons. - -Minor: - -- Pilot communication system. - -- Request fuel. - -- Hybrid Ships. - -- Start out with X skillpoints that get spread out by use, use fast at first. - -- Can't use normal gear. - -- Very rare. - -- Random mutation for cloaking/displacement abilities. - -- Optimize texture usage. - -- All land graphics should be on land only (optionally). - -- Planet space graphics should be ondemand. - -- Improved graphics. - -- Have ships flying in nebulae leave traces. - -- Missile smoke. - -- Engine glow -> need models. - -- More special effects. - -- Cloaking effects? - -- Maybe some fancy displacement effects for some ships. - -- Dynamic politics - Faction wide ai. - -- Allow player to create faction and control fleets. - -- Cinematic scenes. - -- Allow for subsystems getting damaged. - -- Allow mouse movement (steering). - -- Pilot titles. - -- Would usually indicate changes on the base ship equipment. - -- Radar improvements. - -- Non-linear - See alot more data then currently possible. - -- Objects always in sight (depending on resolution). - -- Allow creating collision masks to make collision more realistic. - -- Improve font system to handle unicode. - -- Mission improvements. - -- Allow creation of OSD (On Screen Displays). - -SOMEDAY!! MAYBE...: - -- 3d models (not actually a 3D perspective, just no sprites). - diff --git a/bin/Makefile b/bin/Makefile deleted file mode 100644 index 261a6bd..0000000 --- a/bin/Makefile +++ /dev/null @@ -1,166 +0,0 @@ -# OPTIONS. -DEBUG := 1 -#DEBUG_PARANOID := 1 -export DEBUG - -OS := LINUX -#OS := FREEBSD -#OS := WIN32 -#OS := MACOS -export OS - -# Data path. -#LDATA_DEF := \"../ldata\" - -#CC = clang - -# VERSION. -VMAJOR := 0 -VMINOR := 3 -VREV := 5 -VERSION = -DVMAJOR=$(VMAJOR) -DVMINOR=$(VMINOR) -DVREV=$(VREV) -VERSIONFILE = VERSION - -# OBJECTS. -APPNAME := Lephisto -OBJS := $(patsubst %.c, %.o, $(wildcard ../src/*.c)) - -# CFLAGS -CLUA := -I../lib/lua -CCSPARSE := -I../lib/csparse -CSDL := $(shell sdl-config --cflags) -DGL_GLEXT_PROTOTYPES -CXML := $(shell xml2-config --cflags) -CTTF := $(shell freetype-config --cflags) -CPNG := #$(shell libpng-config libpng --cflags) -CGL := -CFLAGS := $(CLUA) $(CCSPARSE) $(CSDL) $(CXML) $(CTTF) $(CPNG) $(CGL) $(VERSION) -D$(OS) -ifdef LDATA_DEF -CFLAGS += -DLDATA_DEF=$(LDATA_DEF) -endif - -# Debug stuff. -ifdef DEBUG -CFLAGS += -W -Wall -Wextra -Wunused -Wshadow -Wpointer-arith -Wmissing-prototypes \ - -Winline -Wcast-align -Wmissing-declarations -fstack-protector \ - -fstack-protector-all -g -DDEBUG -DLUA_USE_APICHECK -std=c99 - -ifdef DEBUG_PARANOID -CFLAGS += -DDEBUG_PARANOID -endif - -# Handle OS Debug stuff here. - -# Linux Stuff. -ifeq ($(OS), LINUX) -LDFLAGS += -rdynamic -endif # Linux. - -else # DEBUG -CFLAGS += -O2 -funroll-loops -pipe -std=c99 -endif - -# LDFLAGS. -LDLUA := ../lib/lua/liblua.a -LDCSPARSE := ../lib/csparse/libcsparse.a -LDSDL := $(shell sdl-config --libs) -lSDL_image -lSDL_mixer -lpng -LDXML := $(shell xml2-config --libs) -LDTTF := $(shell freetype-config --libs) -CPNG := #$(shell libpng-config libpng --libs) -LDGL := -lGL -LDFLAGS := -lm $(LDLUA) $(LDCSPARSE) $(LDSDL) $(LDXML) $(LDTTF) $(CPNG) $(LDGL) $(LDPNG) - -# This is just for gstat to run some analysis on performance. -ifdef DEBUG -LDFLAGS += -pg -endif - -# DATA. -DATA_MISC := ../AUTHORS VERSION -DATA_AI := $(wildcard ../scripts/ai/*.lua \ - ../scripts/ai/*/*.lua) -DATA_GFX := $(wildcard ../gfx/*.png \ - ../gfx/*/*.png \ - ../gfx/*/*/*.png) -DATA_XML := $(wildcard ../dat/*.xml ../dat/*.ttf ../dat/intro) -DATA_SND := $(wildcard ../snd/music/*.ogg \ - ../snd/sounds/*.wav) ../snd/music.lua -DATA_MISN := $(wildcard ../dat/missions/*.lua \ - ../dat/missions/*/*.lua \ - ../dat/mission/*/*/*.lua) - -DATA := ldata -DATAFILES := $(DATA_MISC) $(DATA_AI) $(DATA_GFX) $(DATA_XML) $(DATA_SND) $(DATA_MISN) - -# TARGETS. -.PHONY: all help csparse lua utils docs clean distclean - -%.o: %.c %.h - @$(CC) -c $(CFLAGS) -o $@ $< - @echo " CC $@" - -all: utils ldata lua csparse Lephisto - -help: - @echo "Possible targets are:": - @echo " lua - Builds Lua support." - @echo " csparse - Builds CSparse support." - @echo " lephisto - Builds the Lephisto binary." - @echo " mkspr - Builds the mkspr utility." - @echo " ldata - Creates the ldata file." - @echo " utils - Builds all the utilities." - @echo " docs - Creates the doxygen documentation." - @echo " clean - Removes Lephisto's main binary and ldata file." - @echo " distclean - Removes everything done." - -$(APPNAME): $(OBJS) - @$(CC) $(LDFLAGS) -o $(APPNAME) $(OBJS) ../lib/lua/liblua.a ../lib/csparse/libcsparse.a - @echo " LD $(APPNAME)" - -lua: ../lib/lua/liblua.a - -../lib/lua/liblua.a: - +@$(MAKE) -C ../lib/lua a - -csparse: ../lib/csparse/libcsparse.a - -../lib/csparse/libcsparse.a: - +@$(MAKE) -C ../lib/csparse - -pack: ../src/md5.c ../src/pack.c ../utils/pack/main.c - @$(MAKE) -C ../utils/pack - -mksprite: ../utils/mkspr/main.c - @$(MAKE) -C ../utils/mkspr - -$(VERSIONFILE): - @echo -n "$(VMAJOR).$(VMINOR).$(VREV)" > $(VERSIONFILE) - -ldata: pack $(DATAFILES) - @echo -n "$(VMAJOR).$(VMINOR).$(VREV)" > $(VERSIONFILE) - @echo " Creating ldata..\n" - @./pack $(DATA) $(DATAFILES) - -utils: pack mksprite - -docs: - +@$(MAKE) -C ../docs/ - -clean: - @echo " Removing ldata" - @$(RM) $(DATA) - @echo " Removing object files" - @$(RM) $(OBJS) - @echo " Removing main binary ($(APPNAME))" - @$(RM) $(APPNAME) - -distclean: clean - @echo " Cleaning utilites" - @$(MAKE) -C ../utils/pack clean - @$(MAKE) -C ../utils/mkspr clean - @echo " Cleaning Lua" - @$(MAKE) -C ../lib/lua clean - @echo " Cleaning CSparse." - @$(MAKE) -C ../lib/csparse clean - @echo " Removing build tool binaries." - @$(RM) Lephisto mksprite ldata pack gmon.out VERSION - diff --git a/bin/conf.example b/bin/conf.example deleted file mode 100644 index 08fef31..0000000 --- a/bin/conf.example +++ /dev/null @@ -1,47 +0,0 @@ ---WINDOW. -width = 800 -height = 640 -fullscreen = 0 - --- SCREEN. -fps = 0 - --- SOUND. -nosound = 0 -sound = 0.7 -music = 0.5 - --- JOYSTICK. --- Can be number or substring of joystick name. -joystick = "Precision" - --- KEYBINDINGS. --- Type can be keyboard, jaxis or jbutton. --- --- If left is an axis, it will automatically set right to the same axis. --- setting both to the same axis (key). --- You can use reverse = 1 option to reverse them. --- Currently keybindings work with the number of the key only (when doing --- keyboard). Would be cool to have a gui to do this for you at some point. - --- Movement. -accel = { type = "jbutton", key = 0 } -left = { type = "jaxis", key = 0 } -right = { type = "jaxis", key = 0 } - --- Combat. -primary = { type = "jbutton", key = 1 } -target = { type = "jbutton", key = 4 } -target_nearest = { type = "jbutton", key = 3 } -face = { type = "keyboard", key = 38 } -board = { type = "keyboard", key = 57 } -secondary = { type = "jbutton", key = 7 } -secondary_next = { type = "jbutton", key = 5 } - --- Space. - --- Gui. -mapzoomin = { type = "jbutton", key = 4 } -mapzoomout = { type = "jbutton", key = 6 } -screenshot = { type = "keyboard", key = 82 } - diff --git a/dat/SHIP b/dat/SHIP deleted file mode 100644 index 5e84f0c..0000000 --- a/dat/SHIP +++ /dev/null @@ -1,14 +0,0 @@ -// ================ -// NOTES. -// ================ - -Units: - Thrust, speed is in pixels/second. - turn is in degrees per half a second. - - energy, armor and shield regen are in points a minute. - - crew is in, uh.. people. - mass is in tons. - cargo and weapon capacity are int tons. - diff --git a/dat/commodity.xml b/dat/commodity.xml deleted file mode 100644 index 096559e..0000000 --- a/dat/commodity.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - Airtight compressed nutrient packets. Very nutritious. - 140 - - - All sorts of assorted ores. Needed for all sorts of production processes. - 210 - - - Your basic industrial goods. From cutting lasers to processed metals. - 340 - - - An assortment of medicines suitable for curing all sorts of ailments. - 750 - - - All sorts of high quality luxury goods. - 630 - - - - - - - - - diff --git a/dat/faction.xml b/dat/faction.xml deleted file mode 100644 index 119d215..0000000 --- a/dat/faction.xml +++ /dev/null @@ -1,164 +0,0 @@ - - - - 0 - - - - - 0 - - Trader - - - Pirate - Collective - FLF - - - - Frontier Alliance - 0 - - Trader - - - Pirate - Collective - - - - Space Traders Guild - 0 - - Independent - Empire - Soromid - Frontier - - - Pirate - FLF - Collective - - - - Galactic Pirates - -20 - - Empire - Dvaered - Za'lek - Collective - Soromid - Sirius - Frontier - - - - empire - 0 - - Dvaered - Soromid - Za'lek - Trader - Sirius - - - Pirate - FLF - Collective - - - - -100 - - Empire - Dvaered - Za'lek - Soromid - Pirate - FLF - Sirius - Frontier - - - - Frontier Liberation Front - -10 - - Empire - Dvaered - Za'lek - Collective - Soromid - - - - dvaered - House Dvaered - 0 - - Empire - - - Pirate - FLF - Collective - - - - zalek - House Za'lek - 0 - - Empire - - - Pirate - Collective - FLF - - - - sirius - House Sirius - 0 - - Empire - - - Pirate - Collective - FLF - - - - House Soromid - 0 - - Empire - Trader - - - Pirate - FLF - Collective - - - - goddard - House Goddard - 0 - - Empire - Trader - - - Pirate - FLF - Collective - - - diff --git a/dat/fleet.xml b/dat/fleet.xml deleted file mode 100644 index df50f7f..0000000 --- a/dat/fleet.xml +++ /dev/null @@ -1,323 +0,0 @@ - - - - goddard - Goddard - - Goddard - - - - trader - Trader - - Llama - - - - trader - Trader - - Koala - - - - trader - Trader - - Mule - - - - trader - Trader - - Llama - Llama - Koala - Mule - - - - flf - FLF - - Pacifier - - - - flf - FLF - - Vendetta - - - - flf - FLF - - Hyena - Hyena - Admonisher - Vendetta - - - - flf - FLF - - Hyena - Hyena - Hyena - Admonisher - Vendetta - Vendetta - Pacifier - - - - flf - FLF - - Hyena - Hyena - Hyena - Hyena - Admonisher - Admonisher - Vendetta - Vendetta - Vendetta - Pacifier - Hawking - - - - pirate - Pirate - - Hyena - - - - pirate - Pirate - - Hyena - Hyena - Hyena - Hyena - Hyena - - - - pirate - Pirate - - Pirate Admonisher - - - - pirate - Pirate - - Pirate Vendetta - - - - pirate - Pirate - - Pirate Ancestor - - - - pirate - Pirate - - Pirate Kestrel - - - - collective - Collective - - Drone - - - - collective - Collective - - Drone - Drone - Drone - Drone - Drone - Drone - Drone - Drone - Drone - Drone - Drone - Drone - Drone - Drone - Drone - Drone - Drone - Drone - Drone - Drone - - - - collective - Collective - - Drone - Drone - Drone - Drone - Drone - Drone - - - - dvaered - Dvaered - - Dvaered Vendetta - - - - dvaered - Dvaered - - Dvaered Ancestor - - - - dvaered - Dvaered - - Dvaered Goddard - Dvaered Ancestor - Dvaered Ancestor - - - - dvaered - Dvaered - - Dvaered Vendetta - Dvaered Vendetta - Dvaered Ancestor - Dvaered Ancestor - Dvaered Goddard - - - - dvaered - Dvaered - - Dvaered Vendetta - Dvaered Vendetta - Dvaered Vendetta - Dvaered Vendetta - Dvaered Ancestor - Dvaered Ancestor - Dvaered Ancestor - Dvaered Goddard - - - - empire - Empire - - Empire Lancelot - - - - empire - Empire - - Empire Lancelot - Empire Lancelot - Empire Admonisher - Empire Pacifier - Empire Hawking - - - - empire - Empire - - Empire Lancelot - Empire Lancelot - Empire Lancelot - Empire Lancelot - Empire Lancelot - Empire Lancelot - Empire Lancelot - Empire Admonisher - Empire Admonisher - Empire Admonisher - Empire Pacifier - Empire Hawking - Empire Hawking - - - - empire - Empire - - Empire Lancelot - Empire Lancelot - Empire Lancelot - Empire Lancelot - Empire Admonisher - Empire Admonisher - Empire Pacifier - Empire Hawking - - - - empire - Empire - - Empire Lancelot - Empire Lancelot - Empire Admonisher - Empire Pacifier - - - - empire - Empire - - Empire Pacifier - - - - empire - Empire - - Empire Admonisher - - - - collective - Collective - - Empire Hawking - - - - collective - Collective - - Goddard - - - diff --git a/dat/fleetgroup.xml b/dat/fleetgroup.xml deleted file mode 100644 index c2fbf92..0000000 --- a/dat/fleetgroup.xml +++ /dev/null @@ -1,129 +0,0 @@ - - - - Goddard Goddard - Goddard Goddard - - - Trader Llama - Trader Llama - Trader Koala - Trader Koala - Trader Mule - - - Trader Llama - Trader Llama - Trader Koala - Trader Koala - Trader Mule - Trader Mule - Sml Trader Convoy - - - Trader Llama - Trader Llama - Trader Llama - Trader Koala - Trader Koala - Trader Koala - Trader Mule - Trader Mule - Trader Mule - Sml Trader Convoy - Sml Trader Convoy - - - Pirate Hyena - Pirate Vendetta - Pirate Ancestor - Pirate Hyena Pack - Pirate Admonisher - - - Pirate Hyena - Pirate Vendetta - Pirate Ancestor - Pirate Hyena Pack - Pirate Admonisher - - - Pirate Hyena - Pirate Hyena - Pirate Vendetta - Pirate Vendetta - Pirate Ancestor - Pirate Ancestor - Pirate Hyena Pack - Pirate Admonisher - Pirate Kestrel - - - Empire Pacifier - Empire Pacifier - - - Empire Lancelot - Empire Admonisher - Empire Pacifier - - - Empire Lancelot - Empire Lancelot - Empire Admonisher - Empire Pacifier - - - Empire Lancelot - Empire Lancelot - Empire Admonisher - Empire Admonisher - Empire Pacifier - Empire Pacifier - Empire Sml Defense - - - Collective Drone - Collective Drone - Collective Sml Swarm - - - Collective Drone - Collective Drone - Collective Drone - Collective Sml Swarm - Collective Sml Swarm - - - Dvaered Vendetta - Dvaered Vendetta - Dvaered Ancestor - - - Dvaered Vendetta - Dvaered Vendetta - Dvaered Ancestor - Dvaered Ancestor - Dvaered Goddard - - - Dvaered Vendetta - Dvaered Vendetta - Dvaered Vendetta - Dvaered Ancestor - Dvaered Ancestor - Dvaered Goddard - Dvaered Sml Force - - - FLF Vendetta - FLF Pacifier - FLF Sml Force - - - FLF Vendetta - FLF Pacifier - FLF Sml Force - FLF Med Force - - diff --git a/dat/font.ttf b/dat/font.ttf deleted file mode 100644 index 2072cda..0000000 Binary files a/dat/font.ttf and /dev/null differ diff --git a/dat/gui.xml b/dat/gui.xml deleted file mode 100644 index 2d70a4a..0000000 --- a/dat/gui.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - minimal_energy - minimal_fuel - -