mirror of
https://notabug.org/scuti/lib3ddevil1
synced 2024-11-22 22:03:00 +05:30
37 lines
979 B
C
37 lines
979 B
C
#ifndef DEVIL1PLD_H
|
|
#define DEVIL1PLD_H
|
|
|
|
#include <stdint.h>
|
|
#include <stdbool.h>
|
|
#pragma pack(push, 1)
|
|
|
|
struct PldHeader {
|
|
int32_t numOffset;
|
|
// array of numOffset elements
|
|
uint32_t *offsets; // <format=hex>
|
|
};
|
|
|
|
#pragma pack(pop)
|
|
|
|
typedef struct {
|
|
bool (* const getheader) (struct PldHeader*, const char*);
|
|
int (* const sizeofsector)(struct PldHeader*, unsigned int, unsigned int);
|
|
void (* const printheader) (struct PldHeader*);
|
|
} fn_devil1pld;
|
|
extern fn_devil1pld const DEVIL1PLD;
|
|
|
|
// input: pointer to a struct, contents of the .pld file.
|
|
// * = pass by reference of a struct PldHeader
|
|
static bool getpldh(struct PldHeader*, const char*);
|
|
|
|
// input: pointer to header, index of offset, filesize
|
|
// * = pass by reference of a struct PldHeader
|
|
static int sizeofpldstruct(struct PldHeader*, unsigned int, unsigned int);
|
|
|
|
// input: a pld header struct.
|
|
// * = pass by reference of a struct PldHeader
|
|
static void printpldh(struct PldHeader*);
|
|
|
|
|
|
#endif
|