Decompile func0f11416c

This commit is contained in:
Ryan Dwyer 2020-02-28 17:01:29 +10:00
parent a365519b57
commit 835b257dea
9 changed files with 47 additions and 151 deletions

View File

@ -955,18 +955,12 @@ u32 var80075bf0 = 0x00000000;
u32 var80075bf4 = 0x00000000;
u32 var80075bf8 = 0x00000000;
u32 var80075bfc = 0x00000000;
u32 var80075c00 = 0x002b0000;
u32 var80075c04 = 0x41180000;
u32 var80075c08 = 0x41d80000;
u32 var80075c0c = 0x00000000;
u32 var80075c10 = 0x00000000;
u32 var80075c14 = 0x3fc00000;
u32 var80075c18 = 0x00290000;
u32 var80075c1c = 0x40f00000;
u32 var80075c20 = 0x41880000;
u32 var80075c24 = 0x00000000;
u32 var80075c28 = 0x3fc00000;
u32 var80075c2c = 0x42c80000;
struct var80075c00 var80075c00[] = {
{ 43, 9.5, 27, 0, 0, 1.5 },
{ 41, 7.5, 17, 0, 1.5, 100 },
};
u32 var80075c30 = 0x00000000;
u32 var80075c34 = 0x00000000;
u32 var80075c38 = 0x00000000;

View File

@ -3,6 +3,7 @@
#include "game/data/data_000000.h"
#include "game/data/data_0083d0.h"
#include "game/data/data_0160b0.h"
#include "game/data/data_01a3a0.h"
#include "game/data/data_020df0.h"
#include "game/game_0b3350.h"
#include "game/game_0d4690.h"

View File

@ -3,6 +3,7 @@
#include "game/data/data_000000.h"
#include "game/data/data_0083d0.h"
#include "game/data/data_0160b0.h"
#include "game/data/data_01a3a0.h"
#include "game/data/data_020df0.h"
#include "game/game_0f09f0.h"
#include "game/game_10c9c0.h"
@ -10,6 +11,7 @@
#include "game/game_19aa80.h"
#include "gvars/gvars.h"
#include "types.h"
s32 menuhandler4MbDropOut(u32 operation, struct menu_item *item, s32 *value)
{
if (operation == MENUOP_SET) {
@ -139,4 +141,4 @@ bool menudialog4MbMainMenu(u32 operation, struct menu_dialog *dialog, struct men
}
return false;
}
}

View File

@ -3,6 +3,7 @@
#include "game/data/data_000000.h"
#include "game/data/data_0083d0.h"
#include "game/data/data_0160b0.h"
#include "game/data/data_01a3a0.h"
#include "game/data/data_020df0.h"
#include "game/game_096b20.h"
#include "game/game_0c79f0.h"
@ -723,69 +724,24 @@ void func0f11412c(f32 speed)
func0001deb0(&g_Vars.currentplayer->animdata, speed * 0.5f, 0);
}
GLOBAL_ASM(
glabel func0f11416c
.late_rodata
glabel var7f1b3a78
.word 0x3c4cccce
glabel var7f1b3a7c
.word 0x3b888889
.text
/* f11416c: 3c02800a */ lui $v0,0x800a
/* f114170: 8c42a244 */ lw $v0,-0x5dbc($v0)
/* f114174: 27bdffe0 */ addiu $sp,$sp,-32
/* f114178: afbf0014 */ sw $ra,0x14($sp)
/* f11417c: 8c4e03ac */ lw $t6,0x3ac($v0)
/* f114180: 3c017f1b */ lui $at,%hi(var7f1b3a78)
/* f114184: 05c20027 */ bltzl $t6,.L0f114224
/* f114188: 44800000 */ mtc1 $zero,$f0
/* f11418c: c4440198 */ lwc1 $f4,0x198($v0)
/* f114190: c4263a78 */ lwc1 $f6,%lo(var7f1b3a78)($at)
/* f114194: 3c017f1b */ lui $at,%hi(var7f1b3a7c)
/* f114198: c42a3a7c */ lwc1 $f10,%lo(var7f1b3a7c)($at)
/* f11419c: 46062202 */ mul.s $f8,$f4,$f6
/* f1141a0: 2444045c */ addiu $a0,$v0,0x45c
/* f1141a4: 460a4080 */ add.s $f2,$f8,$f10
/* f1141a8: 0c0074a2 */ jal func0001d288
/* f1141ac: e7a2001c */ swc1 $f2,0x1c($sp)
/* f1141b0: 44808000 */ mtc1 $zero,$f16
/* f1141b4: c7a2001c */ lwc1 $f2,0x1c($sp)
/* f1141b8: 3c0f800a */ lui $t7,0x800a
/* f1141bc: 4600803c */ c.lt.s $f16,$f0
/* f1141c0: 00000000 */ sll $zero,$zero,0x0
/* f1141c4: 45000014 */ bc1f .L0f114218
/* f1141c8: 00000000 */ sll $zero,$zero,0x0
/* f1141cc: 8defa244 */ lw $t7,-0x5dbc($t7)
/* f1141d0: 3c088007 */ lui $t0,%hi(var80075c00)
/* f1141d4: 25085c00 */ addiu $t0,$t0,%lo(var80075c00)
/* f1141d8: 8df803ac */ lw $t8,0x3ac($t7)
/* f1141dc: 0018c880 */ sll $t9,$t8,0x2
/* f1141e0: 0338c823 */ subu $t9,$t9,$t8
/* f1141e4: 0019c8c0 */ sll $t9,$t9,0x3
/* f1141e8: 03281021 */ addu $v0,$t9,$t0
/* f1141ec: c4520008 */ lwc1 $f18,0x8($v0)
/* f1141f0: c4440004 */ lwc1 $f4,0x4($v0)
/* f1141f4: 46049181 */ sub.s $f6,$f18,$f4
/* f1141f8: 46060303 */ div.s $f12,$f0,$f6
/* f1141fc: 4602603c */ c.lt.s $f12,$f2
/* f114200: 00000000 */ sll $zero,$zero,0x0
/* f114204: 45000002 */ bc1f .L0f114210
/* f114208: 00000000 */ sll $zero,$zero,0x0
/* f11420c: 46001306 */ mov.s $f12,$f2
.L0f114210:
/* f114210: 10000005 */ beqz $zero,.L0f114228
/* f114214: 46006006 */ mov.s $f0,$f12
.L0f114218:
/* f114218: 10000003 */ beqz $zero,.L0f114228
/* f11421c: 46001006 */ mov.s $f0,$f2
/* f114220: 44800000 */ mtc1 $zero,$f0
.L0f114224:
/* f114224: 00000000 */ sll $zero,$zero,0x0
.L0f114228:
/* f114228: 8fbf0014 */ lw $ra,0x14($sp)
/* f11422c: 27bd0020 */ addiu $sp,$sp,0x20
/* f114230: 03e00008 */ jr $ra
/* f114234: 00000000 */ sll $zero,$zero,0x0
/* f114238: 00000000 */ sll $zero,$zero,0x0
/* f11423c: 00000000 */ sll $zero,$zero,0x0
);
f32 func0f11416c(void)
{
if (g_Vars.currentplayer->unk03ac >= 0) {
f32 a = g_Vars.currentplayer->unk0198 * 0.012500001f + 0.004166667f;
f32 b = func0001d288(&g_Vars.currentplayer->animdata);
if (b > 0) {
f32 c = b / (var80075c00[g_Vars.currentplayer->unk03ac].unk08 - var80075c00[g_Vars.currentplayer->unk03ac].unk04);
if (c < a) {
c = a;
}
return c;
}
return a;
}
return 0;
}

View File

@ -4,6 +4,7 @@
#include "game/data/data_000000.h"
#include "game/data/data_0083d0.h"
#include "game/data/data_0160b0.h"
#include "game/data/data_01a3a0.h"
#include "game/data/data_020df0.h"
#include "game/game_000920.h"
#include "game/game_005fd0.h"
@ -13985,4 +13986,4 @@ glabel func0f1876e4
/* f187764: 00000000 */ sll $zero,$zero,0x0
/* f187768: 00000000 */ sll $zero,$zero,0x0
/* f18776c: 00000000 */ sll $zero,$zero,0x0
);
);

View File

@ -217,72 +217,5 @@ extern struct menu_dialog g_MainMenu4MbMenuDialog;
extern struct cheat g_Cheats[NUM_CHEATS];
extern struct menu_item g_CheatsBuddiesMenuItems[];
extern struct menu_dialog g_CheatsBuddiesMenuDialog;
extern u16 iomessages[];
extern struct menu_dialog menudialog_1a410;
extern u16 savelocations2[];
extern u16 iomessages2[];
extern u16 filetypenames[];
extern struct menu_dialog menudialog_filesaved;
extern struct menu_dialog menudialog_saveerror;
extern struct menu_dialog menudialog_savelost;
extern struct menu_dialog g_SaveElsewhereMenuDialog;
extern struct menu_dialog menudialog_1a654;
extern u32 var8007464c;
extern struct menu_dialog menudialog_changefilename;
extern struct menu_dialog menudialog_duplicatefilename;
extern u16 savelocations3[];
extern struct menu_dialog menudialog_selectlocation;
extern struct menu_dialog menudialog_confirmdelete;
extern struct menu_dialog menudialog_1a984;
extern struct menu_dialog menudialog_deletefile;
extern struct menu_dialog menudialog_copyfile;
extern u32 var80074a4c;
extern struct menu_dialog menudialog_deletegamenote;
extern struct menu_dialog menudialog_gamenotes;
extern struct menu_dialog menudialog_controllerpakmenu;
extern struct menu_dialog menudialog_enteragentname;
extern struct menu_dialog menudialog_fileselect;
extern struct menu_dialog menudialog_fileselect2;
extern struct menu_dialog menudialog_mpquickgo2;
extern struct menu_dialog menudialog_1b1bc;
extern struct menu_dialog g_4MbMainMenu;
extern struct menu_dialog menudialog_mpdropout;
extern struct menu_dialog g_MpEditSimulant4MbMenuDialog;
extern struct menu_dialog g_4MbAdvancedSetupMenuDialog;
extern struct menu_dialog menudialog_1b5c0;
extern struct menu_dialog menudialog_promptnextmission;
extern struct menu_dialog menudialog_1b7a4;
extern u32 var80075968;
extern struct menu_dialog menudialog_1bb44;
extern struct menu_dialog menudialog_1bb5c;
extern struct menu_dialog menudialog_1bb74;
extern struct menu_dialog menudialog_1bb8c;
extern struct menu_dialog menudialog_1bba4;
extern struct menu_dialog menudialog_1bbbc;
extern struct savelocation *g_SaveLocations[];
extern u32 var80075bd0;
extern u32 var80075be0;
extern u32 var80075c00;
extern u32 var80075c30;
extern u32 var80075c3c;
extern u32 var80075c48;
extern u32 var80075c54;
extern u32 var80075c94;
extern u32 var80075ca0;
extern char var80075cb4[];
extern char var80075cc0[];
extern u32 var80075ce0;
extern u32 var80075ce4;
extern u32 var80075ce8;
extern u32 var80075cec;
extern u32 var80075cf0;
extern u32 var80075cf4;
extern u32 var80075cf8;
extern u32 var80075d08;
extern u32 var80075d10;
extern u32 var80075d18;
extern u32 var80075d2c;
extern u32 var80075d40;
extern u32 var80075d54;
#endif

View File

@ -47,7 +47,7 @@ extern struct menu_dialog menudialog_1bbbc;
extern struct savelocation *g_SaveLocations[];
extern u32 var80075bd0;
extern u32 var80075be0;
extern u32 var80075c00;
extern struct var80075c00 var80075c00[];
extern u32 var80075c30;
extern u32 var80075c3c;
extern u32 var80075c48;

View File

@ -12,6 +12,6 @@ u32 func0f1138a4(void);
u32 func0f113f10(void);
u32 func0f1140bc(void);
void func0f11412c(f32 speed);
u32 func0f11416c(void);
f32 func0f11416c(void);
#endif

View File

@ -1120,7 +1120,7 @@ struct player {
/*0x018c*/ f32 unk018c;
/*0x0190*/ f32 unk0190;
/*0x0194*/ f32 unk0194;
/*0x0198*/ u32 unk0198;
/*0x0198*/ f32 unk0198;
/*0x019c*/ u32 unk019c;
/*0x01a0*/ u32 unk01a0;
/*0x01a4*/ u32 unk01a4;
@ -1247,7 +1247,7 @@ struct player {
/*0x03a0*/ bool resetheadpos;
/*0x03a4*/ bool resetheadrot;
/*0x03a8*/ u32 unk03a8;
/*0x03ac*/ u32 unk03ac;
/*0x03ac*/ s32 unk03ac;
/*0x03b0*/ f32 headamp;
/*0x03b4*/ u32 unk03b4;
/*0x03b8*/ u32 unk03b8;
@ -5174,4 +5174,13 @@ struct somedruggedracething {
u32 unk10;
};
struct var80075c00 {
u16 unk00;
f32 unk04;
f32 unk08;
f32 unk0c;
f32 unk10;
f32 unk14;
};
#endif