Decompile mpCalculateAwards

This commit is contained in:
Ryan Dwyer 2022-01-09 20:45:16 +10:00
parent 4b1c23bf39
commit e62f309bf4
4 changed files with 509 additions and 1502 deletions

File diff suppressed because it is too large Load Diff

View File

@ -262,6 +262,24 @@
#define AUDIOCONFIGFLAG_20 0x20
#define AUDIOCONFIGFLAG_40 0x40
#define AWARD_MOSTSUICIDAL 0x00000001
#define AWARD_WHONEEDSAMMO 0x00000002
#define AWARD_LEASTSHIELDED 0x00000004
#define AWARD_BESTPROTECTED 0x00000008
#define AWARD_MARKSMANSHIP 0x00000010
#define AWARD_MOSTPROFESSIONAL 0x00000020
#define AWARD_MOSTDEADLY 0x00000040
#define AWARD_MOSTHARMLESS 0x00000080
#define AWARD_MOSTCOWARDLY 0x00000100
#define AWARD_MOSTFRANTIC 0x00000200
#define AWARD_MOSTHONORABLE 0x00000400
#define AWARD_MOSTDISHONORABLE 0x00000800
#define AWARD_SHORTESTLIFE 0x00001000
#define AWARD_LONGESTLIFE 0x00002000
#define AWARD_DOUBLEKILL 0x00004000
#define AWARD_TRIPLEKILL 0x00008000
#define AWARD_QUADKILL 0x00010000
#define BANK_0 0
#define BANK_1 1
@ -1384,6 +1402,11 @@
#define MAX_SQUADRONS 16
#define MAX_TEAMS 8
#define MEDAL_KILLMASTER 0x01
#define MEDAL_HEADSHOT 0x02
#define MEDAL_ACCURACY 0x04
#define MEDAL_SURVIVOR 0x08
#define MEMBANK_ONBOARD 0
#define MEMBANK_EXPANSION 1

View File

@ -39,12 +39,12 @@ s32 mpGetWeaponSet(void);
bool mpIsPaused(void);
void mpSetPaused(u8 mode);
Gfx *mpRenderModalText(Gfx *gdl);
u32 func0f189cc0(void);
u32 func0f189dc8(void);
u32 func0f189ed0(void);
u32 func0f18a030(void);
s32 mpFindMaxInt(s32 playercount, s32 val0, s32 val1, s32 val2, s32 val3);
s32 mpFindMinInt(s32 playercount, s32 val0, s32 val1, s32 val2, s32 val3);
s32 mpFindMaxFloat(s32 playercount, f32 val0, f32 val1, f32 val2, f32 val3);
s32 mpFindMinFloat(s32 playercount, f32 val0, f32 val1, f32 val2, f32 val3);
void mpCalculatePlayerTitle(struct mpplayerconfig *mpplayer);
void func0f18a56c(void);
void mpCalculateAwards(void);
void mpEndMatch(void);
s32 mpGetNumHeads2(void);
s32 mpGetNumHeads(void);

View File

@ -61,25 +61,25 @@ struct propstate {
};
struct playerstats {
/*0x00*/ u32 shotcount[7];
/*0x00*/ s32 shotcount[7];
/*0x1c*/ s32 killcount;
/*0x20*/ u32 ggkillcount;
/*0x24*/ u32 kills[4];
/*0x34*/ u32 drawplayercount;
/*0x20*/ s32 ggkillcount;
/*0x24*/ s32 kills[4];
/*0x34*/ s32 drawplayercount;
/*0x38*/ f32 distance;
/*0x3c*/ u32 backshotcount;
/*0x3c*/ s32 backshotcount;
/*0x40*/ f32 armourcount;
/*0x44*/ s32 fastest2kills;
/*0x48*/ s32 slowest2kills;
/*0x4c*/ s32 longestlife;
/*0x50*/ s32 shortestlife;
/*0x54*/ u32 maxkills;
/*0x54*/ s32 maxkills;
/*0x58*/ s32 maxsimulkills;
/*0x5c*/ f32 damagescale; // of received damage
/*0x60*/ s32 tokenheldtime;
/*0x64*/ u32 unk64;
/*0x68*/ u32 cloaktime;
/*0x6c*/ u32 speedpillcount;
/*0x64*/ s32 unk64;
/*0x68*/ s32 cloaktime;
/*0x6c*/ s32 speedpillcount;
// Temporary hack
union {
@ -7345,4 +7345,22 @@ struct var80062960 {
/*0x158*/ u32 unk158;
};
struct awardmetrics {
/*0x00*/ s32 numshots;
/*0x04*/ s32 numheadshots;
/*0x08*/ s32 numkills;
/*0x0c*/ s32 numdeaths;
/*0x10*/ s32 numsuicides;
/*0x14*/ f32 ksratio; // kills/shots
/*0x18*/ f32 kdratio; // kills/deaths
/*0x1c*/ s32 backshotcount;
/*0x20*/ s32 drawplayercount;
/*0x24*/ f32 avgkmperhour; // average kilometres
/*0x28*/ f32 armourcount;
/*0x2c*/ u32 awards;
/*0x30*/ s32 longestlife;
/*0x34*/ s32 shortestlife;
/*0x38*/ f32 accuracyfrac;
};
#endif