Merge branch 'file_functions' into 'master'
File functions See merge request banjo.decomp/banjo-kazooie!67
This commit is contained in:
@@ -4798,4 +4798,12 @@ enum marker_collision_func_type_e {
|
||||
MARKER_COLLISION_FUNC_2_DIE
|
||||
};
|
||||
|
||||
enum file_mode_e {
|
||||
FILE_MODE_0_UNKNOWN,
|
||||
FILE_MODE_1_UNKNOWN,
|
||||
FILE_MODE_2_FROM_ASSET,
|
||||
FILE_MODE_3_FROM_MEMORY,
|
||||
FILE_MODE_4_ALLOCATED
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@@ -460,7 +460,6 @@ void func_8033A280(f32);
|
||||
void func_80346C10(enum bs_e *retVal, enum bs_e fail_state, enum bs_e success_state, enum item_e item_id, int use_item);
|
||||
void func_80347A14(s32);
|
||||
void func_8034A174(struct5Bs *this, s32 indx,f32 dst[3]);
|
||||
Struct61s *func_8034AB6C(enum map_e map_id);
|
||||
Struct70s *func_8034C528(s32);
|
||||
Struct70s *func_8034C5AC(s32);
|
||||
void func_8034DC08(Struct6Ds *, f32[3], f32[3], f32, s32);
|
||||
@@ -582,4 +581,31 @@ extern void miscFlag_set(enum misc_flag_e arg0);
|
||||
extern void miscFlag_clear(enum misc_flag_e arg0);
|
||||
extern void miscFlag_toggle(enum misc_flag_e arg0);
|
||||
|
||||
extern void file_close(File* file);
|
||||
extern File *file_open(enum asset_e asset_id);
|
||||
extern File *file_openMap(enum map_e map_id);
|
||||
extern File *file_openWithBaseIndex(s32 indx, enum asset_e base_indx);
|
||||
extern File *file_openFromMem(void *ptr, s32 size);
|
||||
extern File *file_allocNew();
|
||||
extern void file_realloc(File *file, void **arg1, s32 *size);
|
||||
extern void file_getByte(File *file, u8 *dst);
|
||||
extern void file_getNBytes(File *file, u8 *dst, s32 cnt);
|
||||
extern void file_getFloat(File *file, f32 *dst);
|
||||
extern void file_getNFloat(File *file, f32 *dst, s32 cnt);
|
||||
extern void file_getWord(File *file, s32 *dst);
|
||||
extern void file_getNWords(File *file, s32 *dst, s32 cnt);
|
||||
extern void file_read(File *file, void *dst, s32 len);
|
||||
extern void file_getShort(File *file, s16 *dst);
|
||||
extern void file_getNShorts(File *file, s16 *dst, s32 cnt);
|
||||
extern bool file_isNextByteExpected(File *file, s32 expected);
|
||||
extern bool file_getByte_ifExpected(File *file, s32 expected, u8 *dst);
|
||||
extern bool file_getNBytes_ifExpected(File *file, s32 expected, u8 *dst, s32 cnt);
|
||||
extern bool file_getFloat_ifExpected(File *file, s32 expected, f32 *dst);
|
||||
extern bool file_getNFloats_ifExpected(File *file, s32 expected, f32 *dst, s32 cnt);
|
||||
extern bool file_getWord_ifExpected(File *file, s32 expected, s32 *dst);
|
||||
extern bool file_getNWords_ifExpected(File *file, s32 expected, s32 *dst, s32 cnt);
|
||||
extern bool file_get_ifExpected(File *file, s32 expected, void *dst, s32 len);
|
||||
extern bool file_getShort_ifExpected(File *file, s32 expected, s16 *dst);
|
||||
extern bool file_getNShorts_ifExpected(File *file, s32 expected, s16 *dst, s32 cnt);
|
||||
|
||||
#endif
|
||||
|
@@ -4,6 +4,8 @@
|
||||
#include <ultra64.h>
|
||||
#include "model.h"
|
||||
#include "core2/vla.h"
|
||||
#include "enums.h"
|
||||
|
||||
#define MERGE(a, b) a ## b
|
||||
|
||||
#define UNK_TYPE(t) t
|
||||
@@ -549,17 +551,17 @@ typedef struct {
|
||||
|
||||
//Struct60s moved to top
|
||||
|
||||
typedef struct{
|
||||
void *unk0;
|
||||
void *unk4;
|
||||
void *unk8; //start_ptr
|
||||
void *unkC; //current_ptr
|
||||
void *unk10; //end_ptr
|
||||
s32 unk14;
|
||||
typedef struct file_s {
|
||||
void *asset_base_ptr;
|
||||
void *asset_current_ptr;
|
||||
void *base_ptr;
|
||||
void *current_ptr;
|
||||
void *end_ptr;
|
||||
enum file_mode_e mode;
|
||||
u8 pad18[0x64];
|
||||
s32 unk7C;
|
||||
s32 unk80;
|
||||
}Struct61s; //file stream
|
||||
s32 last_expected; // used in file_isNextByteExpected
|
||||
s32 unk80; // always set to -1 and never used
|
||||
} File;
|
||||
|
||||
typedef struct {
|
||||
s16 unk0;
|
||||
|
Reference in New Issue
Block a user