diff options
| author | Dennis Brentjes <d.brentjes@gmail.com> | 2016-06-19 22:05:32 +0200 |
|---|---|---|
| committer | Dennis Brentjes <d.brentjes@gmail.com> | 2016-06-19 22:05:32 +0200 |
| commit | de95ca22ec87cc8b79ceb7beba475301461713a6 (patch) | |
| tree | dce723a717ac0ba583de992777d7d968c3be870b /le | |
| parent | cea325b7451c1fb8dd22462ec2e7b5b88ea9b547 (diff) | |
| download | openwar-de95ca22ec87cc8b79ceb7beba475301461713a6.tar.gz openwar-de95ca22ec87cc8b79ceb7beba475301461713a6.tar.bz2 openwar-de95ca22ec87cc8b79ceb7beba475301461713a6.zip | |
adds an LE file parser and refactors some code.
Diffstat (limited to 'le')
| -rw-r--r-- | le/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | le/le_header.cpp | 6 | ||||
| -rw-r--r-- | le/le_header.hpp | 2 | ||||
| -rw-r--r-- | le/le_header_parser.cpp | 2 |
4 files changed, 7 insertions, 5 deletions
diff --git a/le/CMakeLists.txt b/le/CMakeLists.txt index a4887c5..646f68b 100644 --- a/le/CMakeLists.txt +++ b/le/CMakeLists.txt @@ -1,6 +1,7 @@ add_library(le STATIC le_header.hpp le_header.cpp + le_file.hpp le_file.cpp ) target_include_directories(le @@ -10,6 +11,7 @@ target_include_directories(le target_link_libraries(le PUBLIC fusion-utils PUBLIC binparse + PUBLIC mz ) add_executable(le_header_parser diff --git a/le/le_header.cpp b/le/le_header.cpp index a429add..f28cc4d 100644 --- a/le/le_header.cpp +++ b/le/le_header.cpp @@ -59,17 +59,17 @@ BOOST_FUSION_ADAPT_STRUCT( namespace le { template <int... Indices> -LEHeader parse_file_impl(std::istream& is, indices<Indices...>) { +LEHeader parse_header_impl(std::istream& is, indices<Indices...>) { return {parse<typename std::decay<typename boost::fusion::result_of::at_c<LEHeader, Indices>::type>::type>(is, boost::fusion::extension::struct_member_name<LEHeader, Indices>::call())...}; } -LEHeader parse_file(std::istream& is) { +LEHeader parse_header(std::istream& is) { typedef build_indices<boost::fusion::result_of::size<LEHeader>::value>::type indices; - return parse_file_impl(is, indices{}); + return parse_header_impl(is, indices{}); } std::ostream& output_impl(std::ostream& os, LEHeader const&, indices<>) { diff --git a/le/le_header.hpp b/le/le_header.hpp index 9501127..5d070b6 100644 --- a/le/le_header.hpp +++ b/le/le_header.hpp @@ -100,7 +100,7 @@ struct LEHeader { Value32 heapsize; }; -LEHeader parse_file(std::istream& is); +LEHeader parse_header(std::istream& is); std::ostream& operator<<(std::ostream& os, LEHeader const& header); diff --git a/le/le_header_parser.cpp b/le/le_header_parser.cpp index 524c60d..e8c7096 100644 --- a/le/le_header_parser.cpp +++ b/le/le_header_parser.cpp @@ -50,7 +50,7 @@ int main(int argc, char* argv[]) { std::ifstream file(file_path.string()); file.seekg(0x2aa8); - auto x = le::parse_file(file); + auto x = le::parse_header(file); std::cout << x << std::endl; return 0; |
