diff options
| author | Dennis Brentjes <d.brentjes@gmail.com> | 2016-06-23 18:07:42 +0200 |
|---|---|---|
| committer | Dennis Brentjes <d.brentjes@gmail.com> | 2016-06-23 18:07:42 +0200 |
| commit | a7bcede17b4c10e172c7877fc2ce89862dc454af (patch) | |
| tree | d89b8ff274d18d67d695c5f320a1d079e1bb26b6 /le/le_file.cpp | |
| parent | 0f2d7c9ed9dfa3716840fc112bd53e5ec6b6315b (diff) | |
| download | openwar-a7bcede17b4c10e172c7877fc2ce89862dc454af.tar.gz openwar-a7bcede17b4c10e172c7877fc2ce89862dc454af.tar.bz2 openwar-a7bcede17b4c10e172c7877fc2ce89862dc454af.zip | |
adds alot more binary parsing.
Diffstat (limited to 'le/le_file.cpp')
| -rw-r--r-- | le/le_file.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/le/le_file.cpp b/le/le_file.cpp index 4a9f57e..b6aa54f 100644 --- a/le/le_file.cpp +++ b/le/le_file.cpp @@ -18,6 +18,9 @@ BOOST_FUSION_ADAPT_STRUCT( (std::vector<uint8_t>, dos_exe) (le::Header, le_header) (le::ObjectTable, object_table) + (le::ObjectPageTable, object_page_table) + (le::ResidentNameTable, resident_name_table) + (le::EntryTable, entry_table) ) namespace le { @@ -39,6 +42,12 @@ File parse_file(std::istream& is) { auto object_table = parse_object_table(is, le_offset + le_h.object_table_offset, le_h.nr_objects_in_module); + auto object_page_table = parse_object_page_table(is, le_offset + le_h.object_page_table_offset, le_h.module_nr_of_pages); + + auto resident_name_table = parse_resident_name_table(is, le_offset + le_h.resident_name_table_offset); + + auto entry_table = parse_entry_table(is, le_offset + le_h.entry_table_offset); + return { mz_h, unused, @@ -48,6 +57,9 @@ File parse_file(std::istream& is) { dos_exe, le_h, object_table, + object_page_table, + resident_name_table, + entry_table }; } |
