Decompile func0f0969d0
This commit is contained in:
parent
46adb0295e
commit
c18580f58f
|
|
@ -11,68 +11,31 @@
|
|||
#include "gvars/gvars.h"
|
||||
#include "types.h"
|
||||
|
||||
const u32 var7f1ab850[] = {0x46fffe00};
|
||||
const u32 var7f1ab854[] = {0x40490fdb};
|
||||
const u32 var7f1ab858[] = {0x477fff00};
|
||||
const u32 var7f1ab85c[] = {0x46fffe00};
|
||||
const u32 var7f1ab860[] = {0x40490fdb};
|
||||
const u32 var7f1ab864[] = {0x477fff00};
|
||||
const u32 var7f1ab868[] = {0x00000000};
|
||||
const u32 var7f1ab86c[] = {0x00000000};
|
||||
f32 func0f0969d0(f32 value)
|
||||
{
|
||||
s16 intval;
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f0969d0
|
||||
/* f0969d0: 3c013f80 */ lui $at,0x3f80
|
||||
/* f0969d4: 44812000 */ mtc1 $at,$f4
|
||||
/* f0969d8: 27bdffe8 */ addiu $sp,$sp,-24
|
||||
/* f0969dc: afbf0014 */ sw $ra,0x14($sp)
|
||||
/* f0969e0: 460c203e */ c.le.s $f4,$f12
|
||||
/* f0969e4: 3c01bf80 */ lui $at,0xbf80
|
||||
/* f0969e8: 45020004 */ bc1fl .L0f0969fc
|
||||
/* f0969ec: 44813000 */ mtc1 $at,$f6
|
||||
/* f0969f0: 10000010 */ beqz $zero,.L0f096a34
|
||||
/* f0969f4: 24047fff */ addiu $a0,$zero,0x7fff
|
||||
/* f0969f8: 44813000 */ mtc1 $at,$f6
|
||||
.L0f0969fc:
|
||||
/* f0969fc: 3c017f1b */ lui $at,%hi(var7f1ab850)
|
||||
/* f096a00: 4606603e */ c.le.s $f12,$f6
|
||||
/* f096a04: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f096a08: 45000003 */ bc1f .L0f096a18
|
||||
/* f096a0c: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f096a10: 10000008 */ beqz $zero,.L0f096a34
|
||||
/* f096a14: 24048001 */ addiu $a0,$zero,-32767
|
||||
.L0f096a18:
|
||||
/* f096a18: c428b850 */ lwc1 $f8,%lo(var7f1ab850)($at)
|
||||
/* f096a1c: 46086282 */ mul.s $f10,$f12,$f8
|
||||
/* f096a20: 4600540d */ trunc.w.s $f16,$f10
|
||||
/* f096a24: 44048000 */ mfc1 $a0,$f16
|
||||
/* f096a28: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f096a2c: 00047c00 */ sll $t7,$a0,0x10
|
||||
/* f096a30: 000f2403 */ sra $a0,$t7,0x10
|
||||
.L0f096a34:
|
||||
/* f096a34: 0fc25a44 */ jal func0f096910
|
||||
/* f096a38: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f096a3c: 44829000 */ mtc1 $v0,$f18
|
||||
/* f096a40: 3c014f80 */ lui $at,0x4f80
|
||||
/* f096a44: 04410004 */ bgez $v0,.L0f096a58
|
||||
/* f096a48: 46809120 */ cvt.s.w $f4,$f18
|
||||
/* f096a4c: 44813000 */ mtc1 $at,$f6
|
||||
/* f096a50: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f096a54: 46062100 */ add.s $f4,$f4,$f6
|
||||
.L0f096a58:
|
||||
/* f096a58: 3c017f1b */ lui $at,%hi(var7f1ab854)
|
||||
/* f096a5c: c428b854 */ lwc1 $f8,%lo(var7f1ab854)($at)
|
||||
/* f096a60: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
/* f096a64: 3c017f1b */ lui $at,%hi(var7f1ab858)
|
||||
/* f096a68: 46082282 */ mul.s $f10,$f4,$f8
|
||||
/* f096a6c: c430b858 */ lwc1 $f16,%lo(var7f1ab858)($at)
|
||||
/* f096a70: 27bd0018 */ addiu $sp,$sp,0x18
|
||||
/* f096a74: 03e00008 */ jr $ra
|
||||
/* f096a78: 46105003 */ div.s $f0,$f10,$f16
|
||||
);
|
||||
if (value >= 1) {
|
||||
intval = 0x7fff;
|
||||
} else if (value <= -1) {
|
||||
intval = -0x7fff;
|
||||
} else {
|
||||
intval = value * 32767.0f;
|
||||
}
|
||||
|
||||
return (func0f096910(intval) * M_PI) / 65535.0f;
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f096a7c
|
||||
.late_rodata
|
||||
glabel var7f1ab85c
|
||||
.word 0x46fffe00
|
||||
glabel var7f1ab860
|
||||
.word 0x40490fdb
|
||||
glabel var7f1ab864
|
||||
.word 0x477fff00
|
||||
.text
|
||||
/* f096a7c: 3c013f80 */ lui $at,0x3f80
|
||||
/* f096a80: 44812000 */ mtc1 $at,$f4
|
||||
/* f096a84: 27bdffe8 */ addiu $sp,$sp,-24
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
#include "types.h"
|
||||
|
||||
u32 func0f096890(void);
|
||||
u32 func0f096910(void);
|
||||
u32 func0f096910(s32 value);
|
||||
u32 func0f096964(void);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
#include <ultra64.h>
|
||||
#include "types.h"
|
||||
|
||||
u32 func0f0969d0(void);
|
||||
f32 func0f0969d0(f32 value);
|
||||
u32 func0f096a7c(void);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in New Issue