Mario Kart 64
save.h
Go to the documentation of this file.
1 #ifndef SAVE_H
2 #define SAVE_H
3 
4 #include "PR/os.h"
5 #include "common_structs.h"
6 #include <types.h>
7 
8 /* define symbols */
9 
10 #define CONTROLLER_1 0
11 #define CONTROLLER_2 1
12 #define CONTROLLER_3 2
13 #define CONTROLLER_4 3
14 
15 #define PFS_NO_ERROR 0 // controller pak no error return
16 #define PFS_NO_PAK_INSERTED 1 // no pak pressent or wrong device inserted into the controller
17 #define PFS_PAK_BAD_READ 2 // controller pak error while data transfer
18 #define PFS_FILE_OVERFLOW 4 // too many files written to in the controller pak
19 #define PFS_INVALID_DATA -1 // bad arguments, game note does not exist, osPfsInit was not called.
20 // controller pak test functions
21 #define PFS_NUM_FILES_ERROR -2
22 #define PFS_FREE_BLOCKS_ERROR -3
23 #define PFS_PAK_STATE_OK -4
24 
25 #define NO_PAK 0
26 #define PAK 1
27 #define PAK_NOT_INSERTED -1
28 
29 /* Function Prototypes */
30 
31 void func_800B45E0(s32);
33 void func_800B46D0(void);
34 void func_800B4728(s32);
42 void load_save_data(void);
43 void func_800B4A9C(s32);
44 void validate_save_data(void);
45 void populate_time_trial_record(u8 *timeTrialRecord, u32 time, s32 characterId);
49 s32 func_800B4F2C(void);
53 void func_800B536C(s32);
54 void func_800B5404(s32, s32);
59 s32 func_800B555C(void);
60 s32 func_800B557C(void);
61 void func_800B559C(s32);
65 void update_save_data_backup(void);
73 s32 func_800B5F30(void);
74 s32 func_800B6014(void);
80 void func_800B6708(void);
81 void func_800B6798(void);
85 s32 func_800B6A68(void);
86 
87 /* data */
88 // these might not be in this file, but for now...
89 
90 extern u32* D_800DC714;
91 
92 extern u16 gCompanyCode;
93 extern u32 gGameCode; // osPfs gamecode
94 extern s8 gControllerPak1State; // Current state of Controller Pak 1
95 
96 extern s8 sControllerPak2State; // Current state of the Controller Pak 2
97 extern const u8 D_800F2E60[];
98 extern const u8 gGameName[];
99 extern const u8 gExtCode[];
100 extern u16 D_80162DD6;
101 extern s32 D_80162DE0;
102 extern s32 D_80162DFC;
103 extern OSPfs gControllerPak1FileHandle;
104 extern OSPfs gControllerPak2FileHandle;
105 extern OSPfsState pfsState[16];
106 extern s32 pfsError[16];
109 extern s8 D_8018EDE5;
110 extern s8 D_8018EDE6;
111 extern s8 D_8018EDE7;
112 
113 
114 #endif /* CODE_800B045E0_H */
s32 func_800B639C(s32)
Definition: save.c:837
s32 func_800B65F4(s32, s32)
Definition: save.c:919
s32 func_800B5B2C(s32)
const u8 gExtCode[]
Definition: save.c:32
void func_800B559C(s32)
Definition: save.c:468
s32 gControllerPak1MaxWriteableFiles
Definition: code_80091750.c:107
void update_save_data_backup(void)
Definition: save.c:547
s32 func_800B5020(u32, s32)
Definition: save.c:296
u16 D_80162DD6
Definition: staff_ghosts.c:47
u8 compute_save_data_checksum_backup_1(void)
Definition: save.c:560
void populate_time_trial_record(u8 *timeTrialRecord, u32 time, s32 characterId)
Definition: save.c:232
s8 gControllerPak1State
Definition: save.c:23
void write_save_data_grand_prix_points_and_sound_mode(void)
Definition: save.c:44
u32 gGameCode
Definition: save.c:22
void func_800B6798(void)
Definition: save.c:959
s32 func_800B557C(void)
Definition: save.c:464
s32 func_800B6014(void)
Definition: save.c:740
s32 D_80162DFC
Definition: staff_ghosts.c:57
s32 check_for_controller_pak(s32)
Definition: save.c:589
s32 func_800B6178(s32)
Definition: save.c:780
void func_800B4A9C(s32)
Definition: save.c:156
void func_800B6708(void)
Definition: save.c:947
s32 func_800B578C(s32)
s32 pfsError[16]
Definition: code_80091750.c:105
s32 func_800B6088(s32)
Definition: save.c:756
u8 compute_save_data_checksum_1(void)
Definition: save.c:122
u8 func_800B68F4(s32)
s32 controller_pak_2_status(void)
Definition: save.c:666
u8 func_800B54C0(s32, s32)
Definition: save.c:422
u32 * D_800DC714
Definition: staff_ghosts.c:62
s32 func_800B69BC(s32)
s32 func_800B5888(s32)
Definition: save.c:526
void load_save_data(void)
Definition: save.c:139
s8 D_8018EDE5
u8 func_800B5508(s32, s32, s32)
Definition: save.c:440
s32 func_800B64EC(s32)
Definition: save.c:884
void func_800B536C(s32)
Definition: save.c:381
s8 D_8018EDE7
u8 func_800B60E8(s32)
void reset_save_data_grand_prix_points_and_sound_mode(void)
Definition: save.c:89
void validate_save_data(void)
Definition: save.c:206
u32 func_800B4DF4(u8 *)
Definition: save.c:247
s32 D_80162DE0
Definition: staff_ghosts.c:50
s32 func_800B63F0(s32)
Definition: save.c:847
u8 func_800B6828(s32)
Definition: save.c:977
s32 func_800B5530(s32)
Definition: save.c:451
s8 D_8018EDE6
s32 func_800B4E24(s32)
Definition: save.c:257
u16 gCompanyCode
Definition: save.c:21
u8 func_800B54EC(s32, s32)
Definition: save.c:427
u8 compute_save_data_checksum_2(void)
Definition: save.c:134
s32 controller_pak_1_status(void)
Definition: save.c:607
OSPfs gControllerPak2FileHandle
Definition: code_80091750.c:103
s32 func_800B58C4(s32)
Definition: save.c:531
s32 validate_save_data_checksum_backup(void)
Definition: save.c:577
const u8 gGameName[]
Definition: save.c:30
s32 func_800B5218(void)
s32 func_800B6A68(void)
Definition: save.c:1028
u32 func_800B4EB4(s32, s32)
Definition: save.c:267
OSPfsState pfsState[16]
Definition: code_80091750.c:104
s8 sControllerPak2State
Definition: save.c:24
void func_800B4728(s32)
Definition: save.c:63
void func_800B46D0(void)
Definition: save.c:51
s32 func_800B4FB0(s32)
Definition: save.c:287
void func_800B5404(s32, s32)
Definition: save.c:399
s32 func_800B6348(s32)
Definition: save.c:827
u8 checksum_time_trial_records(s32)
Definition: save.c:102
s32 func_800B4F2C(void)
Definition: save.c:277
const u8 D_800F2E60[]
Definition: save.c:28
s32 gControllerPak1NumFilesUsed
Definition: code_80091750.c:106
s32 func_800B5F30(void)
Definition: save.c:715
void func_800B45E0(s32)
Definition: save.c:35
s32 func_800B555C(void)
Definition: save.c:459
OSPfs gControllerPak1FileHandle
Definition: code_80091750.c:102
u8 compute_save_data_checksum_backup_2(void)
Definition: save.c:572
signed int s32
Definition: ultratypes.h:15
unsigned int u32
Definition: ultratypes.h:16
signed char s8
Definition: ultratypes.h:11
unsigned short int u16
Definition: ultratypes.h:14
unsigned char u8
Definition: ultratypes.h:12