Decompile modelSetDistanceChecksDisabled
This commit is contained in:
parent
69d8005b89
commit
209a9aeb16
|
|
@ -7876,7 +7876,7 @@ glabel var7f1a99ecpf
|
|||
/* f023ea8: 10400004 */ beqz $v0,.PF0f023ebc
|
||||
/* f023eac: 3c013ea0 */ lui $at,0x3ea0
|
||||
/* f023eb0: 44816000 */ mtc1 $at,$f12
|
||||
/* f023eb4: 0c0068a7 */ jal func0001a50c
|
||||
/* f023eb4: 0c0068a7 */ jal modelSetDistanceScale
|
||||
/* f023eb8: 00000000 */ nop
|
||||
.PF0f023ebc:
|
||||
/* f023ebc: 3c0a7f02 */ lui $t2,0x7f02
|
||||
|
|
@ -8185,7 +8185,7 @@ glabel var7f1a99ecpf
|
|||
.PF0f024334:
|
||||
/* f024334: ac20ec74 */ sw $zero,-0x138c($at)
|
||||
/* f024338: 3c018006 */ lui $at,0x8006
|
||||
/* f02433c: 0c0068a7 */ jal func0001a50c
|
||||
/* f02433c: 0c0068a7 */ jal modelSetDistanceScale
|
||||
/* f024340: c42c26c8 */ lwc1 $f12,0x26c8($at)
|
||||
/* f024344: 8fab01f0 */ lw $t3,0x1f0($sp)
|
||||
/* f024348: 260400f8 */ addiu $a0,$s0,0xf8
|
||||
|
|
@ -9314,7 +9314,7 @@ glabel var7f1a87d8
|
|||
/* f023d84: 10400004 */ beqz $v0,.L0f023d98
|
||||
/* f023d88: 3c013ea0 */ lui $at,0x3ea0
|
||||
/* f023d8c: 44816000 */ mtc1 $at,$f12
|
||||
/* f023d90: 0c006943 */ jal func0001a50c
|
||||
/* f023d90: 0c006943 */ jal modelSetDistanceScale
|
||||
/* f023d94: 00000000 */ nop
|
||||
.L0f023d98:
|
||||
/* f023d98: 3c0c7f02 */ lui $t4,%hi(func0f02152c)
|
||||
|
|
@ -9623,7 +9623,7 @@ glabel var7f1a87d8
|
|||
.L0f024210:
|
||||
/* f024210: ac20efcc */ sw $zero,%lo(var8005efcc)($at)
|
||||
/* f024214: 3c018006 */ lui $at,%hi(var800629e8)
|
||||
/* f024218: 0c006943 */ jal func0001a50c
|
||||
/* f024218: 0c006943 */ jal modelSetDistanceScale
|
||||
/* f02421c: c42c29e8 */ lwc1 $f12,%lo(var800629e8)($at)
|
||||
/* f024220: 8fad01f0 */ lw $t5,0x1f0($sp)
|
||||
/* f024224: 260400f8 */ addiu $a0,$s0,0xf8
|
||||
|
|
@ -10693,7 +10693,7 @@ glabel var7f1a87d8
|
|||
/* f02379c: 10400004 */ beqz $v0,.NB0f0237b0
|
||||
/* f0237a0: 3c013ea0 */ lui $at,0x3ea0
|
||||
/* f0237a4: 44816000 */ mtc1 $at,$f12
|
||||
/* f0237a8: 0c006d9f */ jal func0001a50c
|
||||
/* f0237a8: 0c006d9f */ jal modelSetDistanceScale
|
||||
/* f0237ac: 00000000 */ sll $zero,$zero,0x0
|
||||
.NB0f0237b0:
|
||||
/* f0237b0: 3c0e7f02 */ lui $t6,0x7f02
|
||||
|
|
@ -11002,7 +11002,7 @@ glabel var7f1a87d8
|
|||
.NB0f023c28:
|
||||
/* f023c28: ac20139c */ sw $zero,0x139c($at)
|
||||
/* f023c2c: 3c018006 */ lui $at,0x8006
|
||||
/* f023c30: 0c006d9f */ jal func0001a50c
|
||||
/* f023c30: 0c006d9f */ jal modelSetDistanceScale
|
||||
/* f023c34: c42c4ef8 */ lwc1 $f12,0x4ef8($at)
|
||||
/* f023c38: 8faa01f0 */ lw $t2,0x1f0($sp)
|
||||
/* f023c3c: 260400f8 */ addiu $a0,$s0,0xf8
|
||||
|
|
|
|||
|
|
@ -55,8 +55,8 @@ extern u32 var8005ef40;
|
|||
extern u32 var8005ef5c;
|
||||
extern u32 var8005ef7c;
|
||||
extern u32 var8005ef90;
|
||||
extern u32 var8005efb4;
|
||||
extern f32 var8005efb8;
|
||||
extern bool g_ModelDistanceDisabled;
|
||||
extern f32 g_ModelDistanceScale;
|
||||
extern bool var8005efbc;
|
||||
extern u32 var8005efc0;
|
||||
extern bool (*var8005efc4)(struct model *model, struct modelnode *node);
|
||||
|
|
|
|||
|
|
@ -4,8 +4,7 @@
|
|||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
u32 func0001a500(void);
|
||||
void func0001a50c(f32 value);
|
||||
void modelSetDistanceScale(f32 value);
|
||||
void func0001a518(void *callback);
|
||||
s32 func0001a524(struct modelnode *node, s32 arg1);
|
||||
Mtxf *func0001a5cc(struct model *model, struct modelnode *node, s32 arg2);
|
||||
|
|
|
|||
|
|
@ -50,8 +50,8 @@ u32 var8005efb0 = 0x00000000;
|
|||
u32 var8005efb0_2 = 0;
|
||||
#endif
|
||||
|
||||
u32 var8005efb4 = 0x00000000;
|
||||
f32 var8005efb8 = 1;
|
||||
bool g_ModelDistanceDisabled = false;
|
||||
f32 g_ModelDistanceScale = 1;
|
||||
bool var8005efbc = false;
|
||||
u32 var8005efc0 = 0x00000000;
|
||||
bool (*var8005efc4)(struct model *model, struct modelnode *node) = NULL;
|
||||
|
|
@ -821,8 +821,8 @@ glabel func00018680
|
|||
/* 1900c: 0000000c */ syscall
|
||||
/* 19010: 0c006897 */ jal func0001a25c
|
||||
/* 19014: 001c4020 */ add $t0,$zero,$gp
|
||||
/* 19018: 3c0a8006 */ lui $t2,%hi(var8005efb4)
|
||||
/* 1901c: 254aefb4 */ addiu $t2,$t2,%lo(var8005efb4)
|
||||
/* 19018: 3c0a8006 */ lui $t2,%hi(g_ModelDistanceDisabled)
|
||||
/* 1901c: 254aefb4 */ addiu $t2,$t2,%lo(g_ModelDistanceDisabled)
|
||||
/* 19020: 0c006747 */ jal func00019d1c
|
||||
/* 19024: 8f890004 */ lw $t1,0x4($gp)
|
||||
/* 19028: 8d4a0000 */ lw $t2,0x0($t2)
|
||||
|
|
@ -837,8 +837,8 @@ glabel func00018680
|
|||
/* 1904c: 46000007 */ neg.s $f0,$f0
|
||||
/* 19050: c5411774 */ lwc1 $f1,0x1774($t2)
|
||||
/* 19054: 46010002 */ mul.s $f0,$f0,$f1
|
||||
/* 19058: 3c088006 */ lui $t0,%hi(var8005efb8)
|
||||
/* 1905c: 2508efb8 */ addiu $t0,$t0,%lo(var8005efb8)
|
||||
/* 19058: 3c088006 */ lui $t0,%hi(g_ModelDistanceScale)
|
||||
/* 1905c: 2508efb8 */ addiu $t0,$t0,%lo(g_ModelDistanceScale)
|
||||
/* 19060: c5010000 */ lwc1 $f1,0x0($t0)
|
||||
/* 19064: 46010002 */ mul.s $f0,$f0,$f1
|
||||
.L00019068:
|
||||
|
|
|
|||
|
|
@ -18,16 +18,14 @@
|
|||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0001a500
|
||||
/* 1a500: 3c018006 */ lui $at,%hi(var8005efb4)
|
||||
/* 1a504: 03e00008 */ jr $ra
|
||||
/* 1a508: ac24efb4 */ sw $a0,%lo(var8005efb4)($at)
|
||||
);
|
||||
|
||||
void func0001a50c(f32 value)
|
||||
void modelSetDistanceChecksDisabled(bool disabled)
|
||||
{
|
||||
var8005efb8 = value;
|
||||
g_ModelDistanceDisabled = disabled;
|
||||
}
|
||||
|
||||
void modelSetDistanceScale(f32 scale)
|
||||
{
|
||||
g_ModelDistanceScale = scale;
|
||||
}
|
||||
|
||||
void func0001a518(void *callback)
|
||||
|
|
@ -2748,7 +2746,7 @@ glabel func0001c5b4
|
|||
);
|
||||
|
||||
/**
|
||||
* For a near/far node, set its target to visible based on distance.
|
||||
* For a distance node, set its target to visible based on distance.
|
||||
*/
|
||||
void func0001c664(struct model *model, struct modelnode *node)
|
||||
{
|
||||
|
|
@ -2757,13 +2755,13 @@ void func0001c664(struct model *model, struct modelnode *node)
|
|||
Mtxf *mtx = func0001a5cc(model, node, 0);
|
||||
f32 distance;
|
||||
|
||||
if (var8005efb4 || !mtx) {
|
||||
if (g_ModelDistanceDisabled || !mtx) {
|
||||
distance = 0;
|
||||
} else {
|
||||
distance = -mtx->m[3][2] * currentPlayerGetLodScaleZ();
|
||||
|
||||
if (var8005efb8 != 1) {
|
||||
distance *= var8005efb8;
|
||||
if (g_ModelDistanceScale != 1) {
|
||||
distance *= g_ModelDistanceScale;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue