diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..cc9feb4 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "src/rlk"] + path = src/rlk + url = https://github.com/rlk/obj.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 4717517..222220a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,8 +5,10 @@ cmake_minimum_required(VERSION 3.1) cmake_policy(VERSION 3.1) +set(CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR}) # define project +add_definitions(-DCONF_NO_GL) if(DEFINED ENV{CI}) project(rse-model VERSION 1.0.0.$ENV{CI_BUILD_NUMBER} DESCRIPTION "RogueSquadron Extractor - Model" LANGUAGES C) set(RSE_MOD_NAME $ENV{CI_OUTPUT_NAME}-${PROJECT_VERSION}) @@ -21,17 +23,17 @@ include(CheckCSourceCompiles) # needed packages -#find_package(ZLIB REQUIRED) -#include_directories(${ZLIB_INCLUDE_DIR}) +find_package(GLEW REQUIRED) +include_directories(${GLEW_INCLUDE_DIR}) # define src/headers files -FILE(GLOB RSE_MOD_SRCS src/*.c) -FILE(GLOB RSE_MOD_HRDS src/*.h) +FILE(GLOB_RECURSE RSE_MOD_SRCS src/*.c) +FILE(GLOB_RECURSE RSE_MOD_HRDS src/*.h) SOURCE_GROUP("Source Files" FILES ${RSE_MOD_SRCS}) SOURCE_GROUP("Header Files" FILES ${RSE_MOD_HRDS}) -# begin building RSE-Map +# begin building RSE-Model #set(CMAKE_BUILD_TYPE Debug) #include_directories(${CMAKE_CURRENT_SOURCE_DIR}) @@ -43,7 +45,7 @@ if(MSVC) set_target_properties(rse-model PROPERTIES PREFIX "lib") set_target_properties(rse-model PROPERTIES IMPORT_PREFIX "lib") endif() -#target_link_libraries(rse-model ${ZLIB_LIBRARIES} ${PNG_LIBRARIES}) +target_link_libraries(rse-model ${GLEW_LIBRARIES}) # add GPG signature command #add_custom_command( diff --git a/conanfile.txt b/conanfile.txt new file mode 100644 index 0000000..d0e7072 --- /dev/null +++ b/conanfile.txt @@ -0,0 +1,11 @@ +[requires] +glew/2.2.0 + +[generators] +cmake +cmake_find_package + +[options] +glew:shared=True + +[imports] \ No newline at end of file diff --git a/src/Model-Extractor.c b/src/Model-Extractor.c new file mode 100644 index 0000000..461d125 --- /dev/null +++ b/src/Model-Extractor.c @@ -0,0 +1,91 @@ +/* + ================================================================================ + Name : Map-Extractor.c + Author : JackCarterSmith + License : GPL-v3.0 + Description : DAT textures extractor to PNG format with enhanced function in C + ================================================================================ + */ + +#include "Model-Extractor.h" +#include "rlk/obj.h" + + +int _options; // Global options settings variable + +int main(int argc, char *argv[]) { + // Init buffer vars + int file_index; + + printf("\n*** RogueSquadron Extractor (RSE) - MAP module - v%s ***\n", VERSION); + + // Check if filenames arguments exist + if (argc < 2) { + printf("\n[ERR] No input file/commands specified!\n"); + dispHelp(); + return EXIT_FAILURE; //TODO: implement own error codes system + } + _options = checkArgs(argv, argc); // Analyse program arguments + if (_options == -1) return EXIT_SUCCESS; + + // Do the work + for (file_index=(_options >> 8) & 0xFF; file_index 1) { + for (i=1; i\n", VERSION); + printf("\n"); +} diff --git a/src/Model-Extractor.h b/src/Model-Extractor.h new file mode 100644 index 0000000..bde7db8 --- /dev/null +++ b/src/Model-Extractor.h @@ -0,0 +1,22 @@ +#ifndef MAP_EXTRACTOR_H_ +#define MAP_EXTRACTOR_H_ + +#include +#include +#include +#if defined(_WIN32) + #include +#else + #include + #include +#endif +#include "config.h" +#include "options.h" + + +void createSubDir(char *dirName); +int checkArgs(char *args[], int arg_nbr); +//int exportTextures(HMT_FILE *hmt_f, char *filename); +void dispHelp(); + +#endif diff --git a/src/config.h.in b/src/config.h.in new file mode 100644 index 0000000..d35c5f2 --- /dev/null +++ b/src/config.h.in @@ -0,0 +1 @@ +#define VERSION "@PROJECT_VERSION@" diff --git a/src/options.h b/src/options.h new file mode 100644 index 0000000..904c2d3 --- /dev/null +++ b/src/options.h @@ -0,0 +1,9 @@ +#ifndef OPTIONS_H_ +#define OPTIONS_H_ + +#define VERBOSE_ENABLED 0x0001 +#define OUTPUT_DIR 0x0002 + +extern int _options; + +#endif diff --git a/src/rlk b/src/rlk new file mode 160000 index 0000000..48a6916 --- /dev/null +++ b/src/rlk @@ -0,0 +1 @@ +Subproject commit 48a6916526d043691bb3f9e38676fbc99995da10