mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-06-29 02:30:44 -04:00
Decompile gamefileLoad
This commit is contained in:
+1
-1
@@ -198,7 +198,7 @@ extern u32 g_CheatsActiveBank1;
|
||||
extern u32 g_CheatsEnabledBank0;
|
||||
extern u32 g_CheatsEnabledBank1;
|
||||
extern struct savelocation_2d8 var800a21f8;
|
||||
extern struct savefile_solo g_SoloSaveFile;
|
||||
extern struct gamefile g_GameFile;
|
||||
extern struct savelocation_2d8 g_FilemgrLoadedMainFile;
|
||||
extern s8 g_SoloCompleted;
|
||||
extern u8 g_AltTitle;
|
||||
|
||||
@@ -3574,7 +3574,7 @@
|
||||
/**
|
||||
* Sets a savefile flag.
|
||||
*
|
||||
* Expected to be a SAVEFILEFLAG constant.
|
||||
* Expected to be a GAMEFILEFLAG constant.
|
||||
*/
|
||||
#define set_savefile_flag(flag) \
|
||||
mkshort(0x0190), \
|
||||
|
||||
+72
-72
@@ -3123,78 +3123,78 @@
|
||||
#define SAVEDEVICE_GAMEPAK 4
|
||||
#define SAVEDEVICE_INVALID 5
|
||||
|
||||
#define SAVEFILEFLAG_P1_FORWARDPITCH 0x00
|
||||
#define SAVEFILEFLAG_P1_AUTOAIM 0x01
|
||||
#define SAVEFILEFLAG_P1_AIMCONTROL 0x02
|
||||
#define SAVEFILEFLAG_P1_SIGHTONSCREEN 0x03
|
||||
#define SAVEFILEFLAG_P1_LOOKAHEAD 0x04
|
||||
#define SAVEFILEFLAG_P1_AMMOONSCREEN 0x05
|
||||
#define SAVEFILEFLAG_SCREENSIZE_WIDE 0x06
|
||||
#define SAVEFILEFLAG_SCREENRATIO 0x07
|
||||
#define SAVEFILEFLAG_SCREENSIZE_CINEMA 0x08
|
||||
#define SAVEFILEFLAG_P1_HEADROLL 0x09
|
||||
#define SAVEFILEFLAG_P1_SHOWGUNFUNCTION 0x0a
|
||||
#define SAVEFILEFLAG_INGAMESUBTITLES 0x0b
|
||||
#define SAVEFILEFLAG_P2_FORWARDPITCH 0x0c
|
||||
#define SAVEFILEFLAG_P2_AUTOAIM 0x0d
|
||||
#define SAVEFILEFLAG_P2_AIMCONTROL 0x0e
|
||||
#define SAVEFILEFLAG_P2_SIGHTONSCREEN 0x0f
|
||||
#define SAVEFILEFLAG_P2_LOOKAHEAD 0x10
|
||||
#define SAVEFILEFLAG_P2_AMMOONSCREEN 0x11
|
||||
#define SAVEFILEFLAG_P2_HEADROLL 0x12
|
||||
#define SAVEFILEFLAG_P2_SHOWGUNFUNCTION 0x13
|
||||
#define SAVEFILEFLAG_CUTSCENESUBTITLES 0x14
|
||||
#define SAVEFILEFLAG_P1_ALWAYSSHOWTARGET 0x15
|
||||
#define SAVEFILEFLAG_P2_ALWAYSSHOWTARGET 0x16
|
||||
#define SAVEFILEFLAG_P1_SHOWZOOMRANGE 0x17
|
||||
#define SAVEFILEFLAG_P2_SHOWZOOMRANGE 0x18
|
||||
#define SAVEFILEFLAG_SCREENSPLIT 0x19
|
||||
#define SAVEFILEFLAG_P1_SHOWMISSIONTIME 0x1a
|
||||
#define SAVEFILEFLAG_P2_SHOWMISSIONTIME 0x1b
|
||||
#define SAVEFILEFLAG_COOPRADARON 0x1c
|
||||
#define SAVEFILEFLAG_COOPFRIENDLYFIRE 0x1d
|
||||
#define SAVEFILEFLAG_ANTIRADARON 0x1e
|
||||
#define SAVEFILEFLAG_ANTIPLAYERNUM 0x1f
|
||||
#define SAVEFILEFLAG_P1_PAINTBALL 0x20
|
||||
#define SAVEFILEFLAG_P2_PAINTBALL 0x21
|
||||
#define SAVEFILEFLAG_HIRES 0x22
|
||||
#define SAVEFILEFLAG_USED_TRANSFERPAK 0x23
|
||||
#define SAVEFILEFLAG_CI_TOUR_DONE 0x24
|
||||
#define SAVEFILEFLAG_CI_HOLO7_DONE 0x29
|
||||
#define SAVEFILEFLAG_CI_HOLO6_DONE 0x2a
|
||||
#define SAVEFILEFLAG_CI_HOLO5_DONE 0x2b
|
||||
#define SAVEFILEFLAG_CI_HOLO4_DONE 0x2c
|
||||
#define SAVEFILEFLAG_CI_HOLO3_DONE 0x2d
|
||||
#define SAVEFILEFLAG_CI_HOLO2_DONE 0x2e
|
||||
#define SAVEFILEFLAG_CI_HOLO1_DONE 0x2f
|
||||
#define SAVEFILEFLAG_CI_CLOAK_DONE 0x30
|
||||
#define SAVEFILEFLAG_CI_DISGUISE_DONE 0x31
|
||||
#define SAVEFILEFLAG_CI_XRAY_DONE 0x32
|
||||
#define SAVEFILEFLAG_CI_IR_DONE 0x33
|
||||
#define SAVEFILEFLAG_CI_RTRACKER_DONE 0x34
|
||||
#define SAVEFILEFLAG_CI_DOORDECODER_DONE 0x35
|
||||
#define SAVEFILEFLAG_CI_NIGHTVISION_DONE 0x36
|
||||
#define SAVEFILEFLAG_CI_CAMSPY_DONE 0x37
|
||||
#define SAVEFILEFLAG_CI_ECMMINE_DONE 0x38
|
||||
#define SAVEFILEFLAG_CI_UPLINK_DONE 0x39
|
||||
#define SAVEFILEFLAG_CI_TOUR_STARTED 0x3a
|
||||
#define SAVEFILEFLAG_CRASHSITE_BIKE 0x3b
|
||||
#define SAVEFILEFLAG_DEFENSE_JON 0x3c
|
||||
#define SAVEFILEFLAG_AF1_ENTRY 0x3d
|
||||
#define SAVEFILEFLAG_RESCUE_MECHANIC_DEAD 0x3e
|
||||
#define SAVEFILEFLAG_G5_MINE 0x3f // true if thrown on top door
|
||||
#define SAVEFILEFLAG_LANGFILTERON 0x40
|
||||
#define SAVEFILEFLAG_41 0x41
|
||||
#define SAVEFILEFLAG_42 0x42
|
||||
#define SAVEFILEFLAG_43 0x43
|
||||
#define SAVEFILEFLAG_HOWTO_HOVERCRATE 0x47
|
||||
#define SAVEFILEFLAG_HOWTO_HOVERBIKE 0x48
|
||||
#define SAVEFILEFLAG_HOWTO_DOORS 0x49
|
||||
#define SAVEFILEFLAG_HOWTO_ELEVATORS 0x4a
|
||||
#define SAVEFILEFLAG_HOWTO_TERMINALS 0x4b
|
||||
#define SAVEFILEFLAG_4C 0x4c
|
||||
#define SAVEFILEFLAG_4D 0x4d
|
||||
#define SAVEFILEFLAG_4E 0x4e
|
||||
#define GAMEFILEFLAG_P1_FORWARDPITCH 0x00
|
||||
#define GAMEFILEFLAG_P1_AUTOAIM 0x01
|
||||
#define GAMEFILEFLAG_P1_AIMCONTROL 0x02
|
||||
#define GAMEFILEFLAG_P1_SIGHTONSCREEN 0x03
|
||||
#define GAMEFILEFLAG_P1_LOOKAHEAD 0x04
|
||||
#define GAMEFILEFLAG_P1_AMMOONSCREEN 0x05
|
||||
#define GAMEFILEFLAG_SCREENSIZE_WIDE 0x06
|
||||
#define GAMEFILEFLAG_SCREENRATIO 0x07
|
||||
#define GAMEFILEFLAG_SCREENSIZE_CINEMA 0x08
|
||||
#define GAMEFILEFLAG_P1_HEADROLL 0x09
|
||||
#define GAMEFILEFLAG_P1_SHOWGUNFUNCTION 0x0a
|
||||
#define GAMEFILEFLAG_INGAMESUBTITLES 0x0b
|
||||
#define GAMEFILEFLAG_P2_FORWARDPITCH 0x0c
|
||||
#define GAMEFILEFLAG_P2_AUTOAIM 0x0d
|
||||
#define GAMEFILEFLAG_P2_AIMCONTROL 0x0e
|
||||
#define GAMEFILEFLAG_P2_SIGHTONSCREEN 0x0f
|
||||
#define GAMEFILEFLAG_P2_LOOKAHEAD 0x10
|
||||
#define GAMEFILEFLAG_P2_AMMOONSCREEN 0x11
|
||||
#define GAMEFILEFLAG_P2_HEADROLL 0x12
|
||||
#define GAMEFILEFLAG_P2_SHOWGUNFUNCTION 0x13
|
||||
#define GAMEFILEFLAG_CUTSCENESUBTITLES 0x14
|
||||
#define GAMEFILEFLAG_P1_ALWAYSSHOWTARGET 0x15
|
||||
#define GAMEFILEFLAG_P2_ALWAYSSHOWTARGET 0x16
|
||||
#define GAMEFILEFLAG_P1_SHOWZOOMRANGE 0x17
|
||||
#define GAMEFILEFLAG_P2_SHOWZOOMRANGE 0x18
|
||||
#define GAMEFILEFLAG_SCREENSPLIT 0x19
|
||||
#define GAMEFILEFLAG_P1_SHOWMISSIONTIME 0x1a
|
||||
#define GAMEFILEFLAG_P2_SHOWMISSIONTIME 0x1b
|
||||
#define GAMEFILEFLAG_COOPRADARON 0x1c
|
||||
#define GAMEFILEFLAG_COOPFRIENDLYFIRE 0x1d
|
||||
#define GAMEFILEFLAG_ANTIRADARON 0x1e
|
||||
#define GAMEFILEFLAG_ANTIPLAYERNUM 0x1f
|
||||
#define GAMEFILEFLAG_P1_PAINTBALL 0x20
|
||||
#define GAMEFILEFLAG_P2_PAINTBALL 0x21
|
||||
#define GAMEFILEFLAG_HIRES 0x22
|
||||
#define GAMEFILEFLAG_USED_TRANSFERPAK 0x23
|
||||
#define GAMEFILEFLAG_CI_TOUR_DONE 0x24
|
||||
#define GAMEFILEFLAG_CI_HOLO7_DONE 0x29
|
||||
#define GAMEFILEFLAG_CI_HOLO6_DONE 0x2a
|
||||
#define GAMEFILEFLAG_CI_HOLO5_DONE 0x2b
|
||||
#define GAMEFILEFLAG_CI_HOLO4_DONE 0x2c
|
||||
#define GAMEFILEFLAG_CI_HOLO3_DONE 0x2d
|
||||
#define GAMEFILEFLAG_CI_HOLO2_DONE 0x2e
|
||||
#define GAMEFILEFLAG_CI_HOLO1_DONE 0x2f
|
||||
#define GAMEFILEFLAG_CI_CLOAK_DONE 0x30
|
||||
#define GAMEFILEFLAG_CI_DISGUISE_DONE 0x31
|
||||
#define GAMEFILEFLAG_CI_XRAY_DONE 0x32
|
||||
#define GAMEFILEFLAG_CI_IR_DONE 0x33
|
||||
#define GAMEFILEFLAG_CI_RTRACKER_DONE 0x34
|
||||
#define GAMEFILEFLAG_CI_DOORDECODER_DONE 0x35
|
||||
#define GAMEFILEFLAG_CI_NIGHTVISION_DONE 0x36
|
||||
#define GAMEFILEFLAG_CI_CAMSPY_DONE 0x37
|
||||
#define GAMEFILEFLAG_CI_ECMMINE_DONE 0x38
|
||||
#define GAMEFILEFLAG_CI_UPLINK_DONE 0x39
|
||||
#define GAMEFILEFLAG_CI_TOUR_STARTED 0x3a
|
||||
#define GAMEFILEFLAG_CRASHSITE_BIKE 0x3b
|
||||
#define GAMEFILEFLAG_DEFENSE_JON 0x3c
|
||||
#define GAMEFILEFLAG_AF1_ENTRY 0x3d
|
||||
#define GAMEFILEFLAG_RESCUE_MECHANIC_DEAD 0x3e
|
||||
#define GAMEFILEFLAG_G5_MINE 0x3f // true if thrown on top door
|
||||
#define GAMEFILEFLAG_LANGFILTERON 0x40
|
||||
#define GAMEFILEFLAG_FOUNDTIMEDMINE 0x41
|
||||
#define GAMEFILEFLAG_FOUNDPROXYMINE 0x42
|
||||
#define GAMEFILEFLAG_FOUNDREMOTEMINE 0x43
|
||||
#define GAMEFILEFLAG_HOWTO_HOVERCRATE 0x47
|
||||
#define GAMEFILEFLAG_HOWTO_HOVERBIKE 0x48
|
||||
#define GAMEFILEFLAG_HOWTO_DOORS 0x49
|
||||
#define GAMEFILEFLAG_HOWTO_ELEVATORS 0x4a
|
||||
#define GAMEFILEFLAG_HOWTO_TERMINALS 0x4b
|
||||
#define GAMEFILEFLAG_4C 0x4c
|
||||
#define GAMEFILEFLAG_4D 0x4d
|
||||
#define GAMEFILEFLAG_4E 0x4e
|
||||
|
||||
#define SCREENRATIO_NORMAL 0
|
||||
#define SCREENRATIO_16_9 1
|
||||
|
||||
@@ -4,15 +4,15 @@
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
u32 savefileHasFlag(u32 value);
|
||||
void savefileSetFlag(u32 value);
|
||||
void savefileUnsetFlag(u32 value);
|
||||
void savefilePrintFlags(void);
|
||||
void savefileApplyOptions(struct savefile_solo *file);
|
||||
void savefileLoadDefaults(struct savefile_solo *file);
|
||||
s32 func0f10fac8(s32 arg0);
|
||||
u32 gamefileHasFlag(u32 value);
|
||||
void gamefileSetFlag(u32 value);
|
||||
void gamefileUnsetFlag(u32 value);
|
||||
void gamefilePrintFlags(void);
|
||||
void gamefileApplyOptions(struct gamefile *file);
|
||||
void gamefileLoadDefaults(struct gamefile *file);
|
||||
s32 gamefileLoad(s32 arg0);
|
||||
s32 func0f10feac(s32 arg0, s32 arg1, u16 arg2);
|
||||
void savefileGetOverview(char *arg0, char *name, u8 *stage, u8 *difficulty, u32 *time);
|
||||
void gamefileGetOverview(char *arg0, char *name, u8 *stage, u8 *difficulty, u32 *time);
|
||||
bool func0f1106c8(void);
|
||||
u32 func0f110720(void);
|
||||
u32 func0f11080c(void);
|
||||
|
||||
+1
-1
@@ -4495,7 +4495,7 @@ struct menu {
|
||||
/*0xe6c*/ s8 savedevice; // 0-3 = controller pak 1-4, 4 = game pak
|
||||
};
|
||||
|
||||
struct savefile_solo {
|
||||
struct gamefile {
|
||||
/*0x00*/ char name[11];
|
||||
/*0x0b*/ u8 thumbnail : 5; // stage index of the image to show on file select screen
|
||||
/*0x0b*/ u8 autodifficulty : 3;
|
||||
|
||||
Reference in New Issue
Block a user