summaryrefslogtreecommitdiffhomepage
path: root/StarsEx/Archive.h
diff options
context:
space:
mode:
authorAki <please@ignore.pl>2022-04-10 15:56:29 +0200
committerAki <please@ignore.pl>2022-04-10 15:56:29 +0200
commit879612a1dcb6bb5b891447baffd4d5917ea37ee5 (patch)
treef0aa6fe32d736666dc98cc9bc1114196e96d4b63 /StarsEx/Archive.h
parent034aa81895b201164004d79aa090e882e3e66945 (diff)
downloadstarshatter-879612a1dcb6bb5b891447baffd4d5917ea37ee5.zip
starshatter-879612a1dcb6bb5b891447baffd4d5917ea37ee5.tar.gz
starshatter-879612a1dcb6bb5b891447baffd4d5917ea37ee5.tar.bz2
Switched to C types and memory mutation functions in Archive
Diffstat (limited to 'StarsEx/Archive.h')
-rw-r--r--StarsEx/Archive.h38
1 files changed, 18 insertions, 20 deletions
diff --git a/StarsEx/Archive.h b/StarsEx/Archive.h
index 1cf76e9..825cc1f 100644
--- a/StarsEx/Archive.h
+++ b/StarsEx/Archive.h
@@ -12,8 +12,6 @@
#include <cstdint>
-#include "Types.h"
-
// +------------------------------------------------------------------+
namespace Archive
@@ -29,11 +27,11 @@ struct DataHeader
{
static const char* TYPENAME() { return "DataHeader"; }
- DWORD version;
- DWORD nfiles;
- DWORD dir_blocks;
- DWORD dir_size_comp;
- DWORD dir_offset;
+ std::uint32_t version;
+ std::uint32_t nfiles;
+ std::uint32_t dir_blocks;
+ std::uint32_t dir_size_comp;
+ std::uint32_t dir_offset;
};
struct DataEntry
@@ -41,9 +39,9 @@ struct DataEntry
static const char* TYPENAME() { return "DataEntry"; }
char name[Archive::NAMELEN];
- DWORD size_orig;
- DWORD size_comp;
- DWORD offset;
+ std::uint32_t size_orig;
+ std::uint32_t size_comp;
+ std::uint32_t offset;
};
class DataArchive
@@ -62,19 +60,19 @@ public:
void Remove(const char* name);
void List();
- void WriteEntry(int index, BYTE* buf);
+ void WriteEntry(int index, std::uint8_t* buf);
int FindEntry(const char* req_name);
- int ExpandEntry(int index, BYTE*& buf, bool null_terminate=false);
- BYTE* CompressEntry(int index);
+ int ExpandEntry(int index, std::uint8_t*& buf, bool null_terminate=false);
+ std::uint8_t* CompressEntry(int index);
int InsertEntry(const char* name);
void RemoveEntry(int index);
- DWORD Blocks(DWORD raw_size);
- DWORD DirBlocks();
- DWORD FileBlocks(int index);
+ std::uint32_t Blocks(std::uint32_t raw_size);
+ std::uint32_t DirBlocks();
+ std::uint32_t FileBlocks(int index);
int FindDataBlocks(int blocks_needed);
void CreateBlockMap();
- DWORD NumFiles() { return header.nfiles; }
+ std::uint32_t NumFiles() { return header.nfiles; }
DataEntry* GetFile(int i) { if (i>=0 && i<(int)header.nfiles) return &directory[i]; return 0; }
const char* Name() const { return datafile; }
@@ -83,13 +81,13 @@ private:
// persistent data members:
DataHeader header;
DataEntry* directory;
- BYTE* dirbuf;
+ std::uint8_t* dirbuf;
// transient members:
char datafile[Archive::NAMELEN];
- DWORD* block_map;
- DWORD nblocks;
+ std::uint32_t* block_map;
+ std::uint32_t nblocks;
};
#endif // Archive_h