Horizon Official Technical Documentation
GRF.hpp File Reference
#include "DES.hpp"
#include <cstdlib>
#include <string>
#include <unordered_map>
#include <boost/filesystem/path.hpp>
#include <memory>
+ Include dependency graph for GRF.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  DataFile
 
class  GRF
 

Enumerations

enum  datafile_type { DATAFILE_TYPE_FILE = 0x01 , DATAFILE_TYPE_DES_MIXED = 0x02 , DATAFILE_TYPE_DES_HEADER = 0x04 }
 
enum  grf_load_result_type {
  GRF_LOAD_OK = 0 , GRF_LOAD_PATH_ERROR = 1 , GRF_LOAD_INCOMPLETE_HEADER = 2 , GRF_LOAD_MAGIC_ERROR = 3 ,
  GRF_LOAD_FORMAT_ERROR = 4 , GRF_LOAD_INVALID_VERSION = 5 , GRF_LOAD_HEADER_READ_ERROR = 6 , GRF_LOAD_ILLEGAL_DATA_FORMAT = 7 ,
  GRF_LOAD_READ_ERROR = 8
}
 
enum  grf_file_error_type { GRF_FILE_ERROR_NONE = 0 , GRF_FILE_ERROR_NAME_TOO_LONG = 1 }
 
enum  grf_read_error_type { GRE_OK = 0 , GRE_NOT_FOUND = 1 , GRE_READ_ERROR = 2 , GRE_DECOMPRESS_SIZE_MISMATCH = 3 }
 

Enumeration Type Documentation

◆ datafile_type

Enumerator
DATAFILE_TYPE_FILE 
DATAFILE_TYPE_DES_MIXED 
DATAFILE_TYPE_DES_HEADER 
40{
41 DATAFILE_TYPE_FILE = 0x01, // entry is a file
42 DATAFILE_TYPE_DES_MIXED = 0x02, // encryption mode 0 (header DES + periodic DES/shuffle)
43 DATAFILE_TYPE_DES_HEADER = 0x04, // encryption mode 1 (header DES only)
44};
@ DATAFILE_TYPE_FILE
Definition: GRF.hpp:41
@ DATAFILE_TYPE_DES_MIXED
Definition: GRF.hpp:42
@ DATAFILE_TYPE_DES_HEADER
Definition: GRF.hpp:43

◆ grf_file_error_type

Enumerator
GRF_FILE_ERROR_NONE 
GRF_FILE_ERROR_NAME_TOO_LONG 
60{
63};
@ GRF_FILE_ERROR_NAME_TOO_LONG
Definition: GRF.hpp:62
@ GRF_FILE_ERROR_NONE
Definition: GRF.hpp:61

◆ grf_load_result_type

Enumerator
GRF_LOAD_OK 
GRF_LOAD_PATH_ERROR 
GRF_LOAD_INCOMPLETE_HEADER 
GRF_LOAD_MAGIC_ERROR 
GRF_LOAD_FORMAT_ERROR 
GRF_LOAD_INVALID_VERSION 
GRF_LOAD_HEADER_READ_ERROR 
GRF_LOAD_ILLEGAL_DATA_FORMAT 
GRF_LOAD_READ_ERROR 
47{
48 GRF_LOAD_OK = 0,
57};
@ GRF_LOAD_INCOMPLETE_HEADER
Definition: GRF.hpp:50
@ GRF_LOAD_ILLEGAL_DATA_FORMAT
Definition: GRF.hpp:55
@ GRF_LOAD_OK
Definition: GRF.hpp:48
@ GRF_LOAD_MAGIC_ERROR
Definition: GRF.hpp:51
@ GRF_LOAD_FORMAT_ERROR
Definition: GRF.hpp:52
@ GRF_LOAD_READ_ERROR
Definition: GRF.hpp:56
@ GRF_LOAD_PATH_ERROR
Definition: GRF.hpp:49
@ GRF_LOAD_INVALID_VERSION
Definition: GRF.hpp:53
@ GRF_LOAD_HEADER_READ_ERROR
Definition: GRF.hpp:54

◆ grf_read_error_type

Enumerator
GRE_OK 
GRE_NOT_FOUND 
GRE_READ_ERROR 
GRE_DECOMPRESS_SIZE_MISMATCH 
66{
67 GRE_OK = 0,
68 GRE_NOT_FOUND = 1,
71};
@ GRE_READ_ERROR
Definition: GRF.hpp:69
@ GRE_NOT_FOUND
Definition: GRF.hpp:68
@ GRE_DECOMPRESS_SIZE_MISMATCH
Definition: GRF.hpp:70
@ GRE_OK
Definition: GRF.hpp:67