core2/code_B9770.c progress
This commit is contained in:
@@ -9,7 +9,7 @@
|
|||||||
</mask>
|
</mask>
|
||||||
<g mask="url(#anybadge_1)">
|
<g mask="url(#anybadge_1)">
|
||||||
<path fill="#555" d="M0 0h44v20H0z"/>
|
<path fill="#555" d="M0 0h44v20H0z"/>
|
||||||
<path fill="#43e000" d="M44 0h67v20H44z"/>
|
<path fill="#41e000" d="M44 0h67v20H44z"/>
|
||||||
<path fill="url(#b)" d="M0 0h111v20H0z"/>
|
<path fill="url(#b)" d="M0 0h111v20H0z"/>
|
||||||
</g>
|
</g>
|
||||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
<text x="22.0" y="14">core2</text>
|
<text x="22.0" y="14">core2</text>
|
||||||
</g>
|
</g>
|
||||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
||||||
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">84.9582%</text>
|
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">85.3818%</text>
|
||||||
<text x="77.5" y="14">84.9582%</text>
|
<text x="77.5" y="14">85.3818%</text>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
@@ -9,7 +9,7 @@
|
|||||||
</mask>
|
</mask>
|
||||||
<g mask="url(#anybadge_1)">
|
<g mask="url(#anybadge_1)">
|
||||||
<path fill="#555" d="M0 0h150v20H0z"/>
|
<path fill="#555" d="M0 0h150v20H0z"/>
|
||||||
<path fill="#3ce000" d="M150 0h67v20H150z"/>
|
<path fill="#3be000" d="M150 0h67v20H150z"/>
|
||||||
<path fill="url(#b)" d="M0 0h217v20H0z"/>
|
<path fill="url(#b)" d="M0 0h217v20H0z"/>
|
||||||
</g>
|
</g>
|
||||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
<text x="75.0" y="14">Banjo-Kazooie (us.v10)</text>
|
<text x="75.0" y="14">Banjo-Kazooie (us.v10)</text>
|
||||||
</g>
|
</g>
|
||||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
||||||
<text x="184.5" y="15" fill="#010101" fill-opacity=".3">86.5411%</text>
|
<text x="184.5" y="15" fill="#010101" fill-opacity=".3">86.7842%</text>
|
||||||
<text x="183.5" y="14">86.5411%</text>
|
<text x="183.5" y="14">86.7842%</text>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@@ -4,8 +4,8 @@
|
|||||||
|
|
||||||
#include "animation.h"
|
#include "animation.h"
|
||||||
|
|
||||||
extern void func_8033AA50(void *, f32, s32);
|
extern void func_8033AA50(void *, f32, Struct_B1400_1 *);
|
||||||
extern void func_8033A750(s32, s32, s32, f32);
|
extern void func_8033A750(s32, s32, Struct_B1400_1 *, f32);
|
||||||
|
|
||||||
/* .code */
|
/* .code */
|
||||||
void func_80335560(Struct80s *self){
|
void func_80335560(Struct80s *self){
|
||||||
@@ -85,7 +85,7 @@ s32 func_803356A0(Struct80s *self){
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(self->unk28 == 0){
|
if(self->unk28 == 0){
|
||||||
self->unk28 = func_8033A710();
|
self->unk28 = (Struct_B1400_1 *) func_8033A710();
|
||||||
}
|
}
|
||||||
func_8033AA50(self->unk4, self->unk8, self->unk28);
|
func_8033AA50(self->unk4, self->unk8, self->unk28);
|
||||||
func_8033A750(self->unk0, self->unk24, self->unk28, self->unk20);
|
func_8033A750(self->unk0, self->unk24, self->unk28, self->unk20);
|
||||||
|
@@ -2,10 +2,19 @@
|
|||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
|
|
||||||
extern u8 D_80370338[];
|
extern u8 D_80370338[4];
|
||||||
|
extern u8 D_8037033C;
|
||||||
|
|
||||||
/* .bss */
|
/* .bss */
|
||||||
u8 pad_80383610[0x24];
|
s32 D_80383610;
|
||||||
|
s32 D_80383614;
|
||||||
|
s32 D_80383618;
|
||||||
|
s32 D_8038361C;
|
||||||
|
s32 D_80383620;
|
||||||
|
s32 D_80383624;
|
||||||
|
s32 D_80383628;
|
||||||
|
s32 D_8038362C;
|
||||||
|
u32 D_80383630;
|
||||||
u32 D_80383634;
|
u32 D_80383634;
|
||||||
u32 D_80383638;
|
u32 D_80383638;
|
||||||
s32 D_8038363C;
|
s32 D_8038363C;
|
||||||
@@ -362,11 +371,31 @@ void func_80337B68(Gfx **gfx, Vtx **vtx, Struct84s *texture_list, s32 texture_in
|
|||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_AEDA0/func_803381B4.s")
|
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_AEDA0/func_803381B4.s")
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_AEDA0/func_80338270.s")
|
void func_803382D8(s32 arg0);
|
||||||
|
void func_803382E4(s32 arg0);
|
||||||
|
void func_803382F0(s32 arg0);
|
||||||
|
void func_803382FC(s32 arg0);
|
||||||
|
void func_80338308(s32 arg0, s32 arg1);
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_AEDA0/func_803382B4.s")
|
void func_80338270(){
|
||||||
|
func_803382D8(0xFF);
|
||||||
|
func_803382E4(0);
|
||||||
|
func_803382F0(0);
|
||||||
|
func_803382FC(0xFF);
|
||||||
|
func_80338308(100, 100);
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_AEDA0/func_803382D8.s")
|
}
|
||||||
|
|
||||||
|
void func_803382B4(s32 arg0, s32 arg1, s32 arg2, s32 arg3){
|
||||||
|
D_80383620 = arg0;
|
||||||
|
D_80383624 = arg1;
|
||||||
|
D_80383628 = arg2;
|
||||||
|
D_8038362C = arg3;
|
||||||
|
}
|
||||||
|
|
||||||
|
void func_803382D8(s32 arg0){
|
||||||
|
D_80383630 = arg0;
|
||||||
|
}
|
||||||
|
|
||||||
void func_803382E4(s32 arg0){
|
void func_803382E4(s32 arg0){
|
||||||
D_80383634 = arg0;
|
D_80383634 = arg0;
|
||||||
@@ -390,10 +419,16 @@ void func_8033831C(s32 *arg0, s32 *arg1){
|
|||||||
*arg1 = D_80383644;
|
*arg1 = D_80383644;
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_AEDA0/func_80338338.s")
|
void func_80338338(s32 r, s32 g, s32 b){
|
||||||
|
D_80383610 = r;
|
||||||
|
D_80383614 = g;
|
||||||
|
D_80383618 = b;
|
||||||
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_AEDA0/func_80338354.s")
|
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_AEDA0/func_80338354.s")
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_AEDA0/func_80338370.s")
|
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_AEDA0/func_80338370.s")
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_AEDA0/func_8033837C.s")
|
void func_8033837C(s32 arg0){
|
||||||
|
D_8037033C = arg0;
|
||||||
|
}
|
@@ -2,15 +2,17 @@
|
|||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
|
|
||||||
extern f32 func_80323540(struct56s *, f32, f32, f32);
|
extern void func_80250530(s32, u16, f32);
|
||||||
|
extern s32 func_80255D44(s32);
|
||||||
extern void sfxsource_setSampleRate(u8, s32);
|
extern void sfxsource_setSampleRate(u8, s32);
|
||||||
extern bool func_80323240(struct56s *, f32, f32[3]);
|
extern bool func_80323240(struct56s *, f32, f32[3]);
|
||||||
extern f32 func_803234FC(struct56s *, f32, f32);
|
extern f32 func_803234FC(struct56s *, f32, f32);
|
||||||
|
extern f32 func_80323540(struct56s *, f32, f32, f32);
|
||||||
extern f32 func_803237E8(struct56s *);
|
extern f32 func_803237E8(struct56s *);
|
||||||
extern f32 func_80323FDC(struct56s *, f32, f32, s32 *);
|
extern f32 func_80323FDC(struct56s *, f32, f32, s32 *);
|
||||||
extern f32 func_803240E0(struct56s *, f32, f32, s32 *);
|
extern f32 func_803240E0(struct56s *, f32, f32, s32 *);
|
||||||
extern void func_80250530(s32, u16, f32);
|
extern void func_8032417C(struct56s *, f32, f32[3], f32[3]);
|
||||||
extern s32 func_80255D44(s32);
|
extern void func_80328FF0(Actor *, f32);
|
||||||
|
|
||||||
extern struct56s **D_80371E70;
|
extern struct56s **D_80371E70;
|
||||||
extern void **D_80371E74;
|
extern void **D_80371E74;
|
||||||
@@ -18,6 +20,7 @@ extern s32 D_80371E78;
|
|||||||
extern s32 D_80371E7C;
|
extern s32 D_80371E7C;
|
||||||
extern s32 D_80371E80;
|
extern s32 D_80371E80;
|
||||||
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
f32 unk0;
|
f32 unk0;
|
||||||
u8 pad4[0x8];
|
u8 pad4[0x8];
|
||||||
@@ -180,12 +183,16 @@ typedef struct{
|
|||||||
}Struct_glspline_t1;
|
}Struct_glspline_t1;
|
||||||
|
|
||||||
typedef struct{
|
typedef struct{
|
||||||
u8 pad0[0xC];
|
f32 unk0;
|
||||||
|
u8 pad0[0x8];
|
||||||
struct{
|
struct{
|
||||||
u32 pad_bit31:31;
|
u32 pad_bit31:31;
|
||||||
u32 bit0:1;
|
u32 bit0:1;
|
||||||
}unkC;
|
}unkC;
|
||||||
u8 pad10[0x4];
|
struct {
|
||||||
|
u32 pad_31:31;
|
||||||
|
u32 bit0:1;
|
||||||
|
}unk10;
|
||||||
}Struct_glspline_common;
|
}Struct_glspline_common;
|
||||||
|
|
||||||
typedef union{
|
typedef union{
|
||||||
@@ -205,6 +212,12 @@ typedef struct{
|
|||||||
extern char D_80378FF0[];
|
extern char D_80378FF0[];
|
||||||
extern f32 D_8037901C;
|
extern f32 D_8037901C;
|
||||||
|
|
||||||
|
extern f64 D_80379058;
|
||||||
|
extern f64 D_80379060;
|
||||||
|
extern f64 D_80379068;
|
||||||
|
extern f64 D_80379070;
|
||||||
|
|
||||||
|
|
||||||
/* .bss */
|
/* .bss */
|
||||||
s16 *D_803858A0;
|
s16 *D_803858A0;
|
||||||
|
|
||||||
@@ -315,15 +328,72 @@ int func_80342064(s32 arg0){
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_B9770/func_80342070.s")
|
s32 func_80342070(s32 arg0){
|
||||||
|
glspline_list **temp_v0 = D_80371E74;
|
||||||
|
glspline_list *temp_v1;
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_B9770/func_803420BC.s")
|
if(arg0 == -1)
|
||||||
|
return 0;
|
||||||
|
|
||||||
s32 func_803421A4(s32, f32);
|
temp_v1 = temp_v0[arg0];
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_B9770/func_803421A4.s")
|
if (temp_v1->unk0 == 0) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return temp_v1->spline[0].t1.unk10.bit31;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 func_803420BC(s32 arg0, s32 arg1, s32 arg2){
|
||||||
|
glspline_list **temp_v0 = D_80371E74;
|
||||||
|
glspline_list *temp_v1;
|
||||||
|
s32 temp_a1;
|
||||||
|
s32 var_a0;
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_B9770/func_80342244.s")
|
if(arg0 == -1)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
temp_v1 = temp_v0[arg0];
|
||||||
|
temp_a1 = temp_v1->unk0;
|
||||||
|
if (temp_a1 == 0) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
for(var_a0 = 0; (var_a0 < temp_a1) && arg1 != temp_v1->spline[var_a0].t1.unk10.bit31; var_a0++);
|
||||||
|
|
||||||
|
if (var_a0 == temp_a1) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
var_a0 += arg2;
|
||||||
|
while(var_a0 < 0){ var_a0 += temp_a1; }
|
||||||
|
while(var_a0 >= temp_a1){ var_a0 -= temp_a1; }
|
||||||
|
return temp_v1->spline[var_a0].t1.unk10.bit31;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 func_803421A4(s32 arg0, f32 arg1) {
|
||||||
|
glspline_list **temp_v0 = D_80371E74;
|
||||||
|
glspline_list *temp_v1;
|
||||||
|
s32 var_a3;
|
||||||
|
Union_glspline *i_ptr;
|
||||||
|
Union_glspline *temp_a2;
|
||||||
|
|
||||||
|
if (arg0 == -1) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
temp_v1 = temp_v0[arg0];
|
||||||
|
if (temp_v1->unk0 == 0) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
i_ptr = temp_v1->spline;
|
||||||
|
temp_a2 = i_ptr + temp_v1->unk0;
|
||||||
|
for(var_a3 = 0; (i_ptr < temp_a2) && (i_ptr->common.unk0 < arg1); i_ptr++){
|
||||||
|
var_a3++;
|
||||||
|
}
|
||||||
|
return var_a3;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 func_80342244(s32 arg0){
|
||||||
|
return (arg0 < 180) ? (arg0 + 180) : (arg0 - 180);
|
||||||
|
}
|
||||||
|
|
||||||
f32 func_80342260(s32 arg0, f32 arg1, s32 arg2){
|
f32 func_80342260(s32 arg0, f32 arg1, s32 arg2){
|
||||||
return func_803234FC(func_80342038(arg0), arg1, 1.0f) / ((f32)arg2 /4);
|
return func_803234FC(func_80342038(arg0), arg1, 1.0f) / ((f32)arg2 /4);
|
||||||
@@ -629,9 +699,95 @@ s32 func_803422D4(Actor *arg0, Union_glspline *arg1, glspline_list *arg2) {
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_B9770/func_803430B4.s")
|
void func_803430B4(Actor *arg0) {
|
||||||
|
f32 d_yaw;
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_B9770/func_803431D0.s")
|
if ((arg0->marker->unk14_20 == 0x12) && (arg0->unk138_30 == 1)) {
|
||||||
|
d_yaw = arg0->yaw_moving - arg0->yaw;
|
||||||
|
while (d_yaw >= 360.0f) { d_yaw -= 360.0f; }
|
||||||
|
while (d_yaw < 0.0f) { d_yaw += 360.0f; }
|
||||||
|
|
||||||
|
if (d_yaw >= 180.0f) {
|
||||||
|
d_yaw = 360.0f - d_yaw;
|
||||||
|
}
|
||||||
|
arg0->unk10_3 = (d_yaw < D_80379058) ? 3
|
||||||
|
: (d_yaw < D_80379060) ? 2
|
||||||
|
: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void func_803431D0(Actor *arg0, s32 arg1, s32 arg2, s32 arg3) {
|
||||||
|
f32 sp64[3];
|
||||||
|
f32 sp58[3];
|
||||||
|
f32 sp4C[3];
|
||||||
|
f32 sp40[3];
|
||||||
|
f32 sp3C;
|
||||||
|
s32 pad38;
|
||||||
|
f32 var_f2;
|
||||||
|
|
||||||
|
if (arg1 & 0x300) {
|
||||||
|
func_8032417C(func_80342038(arg0->unk44_14), arg0->unk48, sp64, sp58);
|
||||||
|
if (arg1 & 1) {
|
||||||
|
if (arg1 & 0x100) {
|
||||||
|
arg0->yaw_moving = sp58[1];
|
||||||
|
}
|
||||||
|
if (arg1 & 0x200) {
|
||||||
|
arg0->unk6C = sp58[0];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (arg1 & 0x100) {
|
||||||
|
if (sp58[1] >= 180.0f) {
|
||||||
|
arg0->yaw_moving = sp58[1] - 180.0f;
|
||||||
|
} else {
|
||||||
|
arg0->yaw_moving = sp58[1] + 180.0f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (arg1 & 0x200) {
|
||||||
|
arg0->unk6C = (D_80379068 - sp58[0]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (arg0->unk10_4) {
|
||||||
|
player_getPosition(sp4C);
|
||||||
|
func_802BC434(sp40, sp4C, arg0->position);
|
||||||
|
if (arg0->marker->unk14_20 != 0x12) {
|
||||||
|
sp40[1] += 180.0f;
|
||||||
|
while (sp40[1] >= 360.0f) {
|
||||||
|
sp40[1] -= 360.0f;
|
||||||
|
}
|
||||||
|
sp40[0] = 360.0f - sp40[0];
|
||||||
|
}
|
||||||
|
arg0->yaw_moving = sp40[1];
|
||||||
|
arg0->unk6C = sp40[0];
|
||||||
|
} else {
|
||||||
|
if ((arg0->unk70 <= arg0->unk48) && (arg0->unk48 < arg0->unk74)) {
|
||||||
|
sp3C = (arg0->unk48 - arg0->unk70) / (arg0->unk74 - arg0->unk70);
|
||||||
|
if (arg0->unkF4_24 & 1) {
|
||||||
|
if (arg1 & 0x800) {
|
||||||
|
var_f2 = mlDiffDegF(arg0->unk38_21, arg0->unk38_13) * sp3C + arg0->unk38_13;
|
||||||
|
while (var_f2 >= 360.0f) { var_f2 -= 360.0f; }
|
||||||
|
while (var_f2 < 0.0f) { var_f2 += 360.0f; }
|
||||||
|
arg0->yaw_moving = var_f2;
|
||||||
|
}
|
||||||
|
if (arg1 & 0x1000) {
|
||||||
|
var_f2 = mlDiffDegF(arg0->unk78_22, arg0->unk78_31) * sp3C + arg0->unk78_31;
|
||||||
|
while (var_f2 >= 360.0f) { var_f2 -= 360.0f; }
|
||||||
|
while (var_f2 < 0.0f) { var_f2 += 360.0f; }
|
||||||
|
arg0->unk6C = var_f2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (arg0->unkF4_24 & 2) {
|
||||||
|
arg0->unk4C = ((arg0->unk144 - arg0->unk140) * sp3C) + arg0->unk140;
|
||||||
|
}
|
||||||
|
} else if ((arg0->unk70 != 0.0f) || (arg0->unk74 != 0.0f)) {
|
||||||
|
arg0->unk70 = 0.0f;
|
||||||
|
arg0->unk74 = 0.0f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func_803430B4(arg0);
|
||||||
|
func_80328FB0(arg0, (f32) arg2);
|
||||||
|
func_80328FF0(arg0, (f32) arg3);
|
||||||
|
}
|
||||||
|
|
||||||
s32 func_80343654(Actor *this){
|
s32 func_80343654(Actor *this){
|
||||||
s32 tmp_v1;
|
s32 tmp_v1;
|
||||||
@@ -641,11 +797,49 @@ s32 func_80343654(Actor *this){
|
|||||||
return tmp_a0 + tmp_v1;
|
return tmp_a0 + tmp_v1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_B9770/func_80343694.s")
|
s32 func_80343694(Actor *actor, s32 indx, s32 begin, s32 end, s32 count, s32 stride) {
|
||||||
|
glspline_list **temp_v0;
|
||||||
|
glspline_list *temp_s5;
|
||||||
|
Union_glspline *start_ptr;
|
||||||
|
Union_glspline *end_ptr;
|
||||||
|
bool var_v1;
|
||||||
|
f32 sp48;
|
||||||
|
Union_glspline *i_ptr;
|
||||||
|
|
||||||
|
temp_v0 = D_80371E74;
|
||||||
|
temp_s5 = temp_v0[indx];
|
||||||
|
var_v1 = 0;
|
||||||
|
if (temp_s5->unk0 == 0) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
start_ptr = temp_s5->spline;
|
||||||
|
i_ptr = temp_s5->spline + ((begin == -9999) ? temp_s5->unk0 - 1 : begin);
|
||||||
|
end_ptr = temp_s5->spline + ((end == -9999) ? temp_s5->unk0 + count : end);
|
||||||
|
for(; (i_ptr != end_ptr) && (var_v1 != 1); i_ptr += stride){
|
||||||
|
if( ((stride >= 1) && (i_ptr->common.unk10.bit0 == 0))
|
||||||
|
|| ((stride < 0) && (i_ptr->common.unk10.bit0 == 1))
|
||||||
|
) {
|
||||||
|
if (D_80371E80 == 1) {
|
||||||
|
sp48 = i_ptr->common.unk0;
|
||||||
|
}
|
||||||
|
var_v1 = func_803422D4(actor, i_ptr, temp_s5);
|
||||||
|
if( ((actor->unk70 != 0.0f) || (actor->unk74 != 0.0f))
|
||||||
|
&& (!(actor->unk70 <= actor->unk48) || !(actor->unk48 < actor->unk74))
|
||||||
|
) {
|
||||||
|
actor->unk70 = 0.0f;
|
||||||
|
actor->unk74 = 0.0f;
|
||||||
|
}
|
||||||
|
if ((var_v1 == 1) && (actor->modelCacheIndex == 0x66) && (actor->unk70 != actor->unk74)) {
|
||||||
|
var_v1 = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ((D_80371E80 == 1) && (var_v1 == 1)) {
|
||||||
|
actor->unk48 = sp48 + D_80379070;
|
||||||
|
}
|
||||||
|
return var_v1;
|
||||||
|
}
|
||||||
|
|
||||||
#ifndef NONMATCHING
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_B9770/func_803438E0.s")
|
|
||||||
#else
|
|
||||||
s32 func_803438E0(Actor *actor, s32 arg1, s32 arg2, s32 arg3) {
|
s32 func_803438E0(Actor *actor, s32 arg1, s32 arg2, s32 arg3) {
|
||||||
s32 sp4C;
|
s32 sp4C;
|
||||||
s32 sp48;
|
s32 sp48;
|
||||||
@@ -653,15 +847,13 @@ s32 func_803438E0(Actor *actor, s32 arg1, s32 arg2, s32 arg3) {
|
|||||||
f32 sp40;
|
f32 sp40;
|
||||||
s32 sp3C;
|
s32 sp3C;
|
||||||
s32 temp_v0;
|
s32 temp_v0;
|
||||||
s32 sp28;
|
|
||||||
|
|
||||||
sp44 = 0;
|
sp44 = 0;
|
||||||
sp40 = actor->unk4C;
|
sp40 = actor->unk4C;
|
||||||
sp28 = actor->unk44_14;
|
if (actor->unk44_14 == -1) {
|
||||||
if (sp28 == -1) {
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
sp4C = func_803421A4(sp28, actor->unk48);
|
sp4C = func_803421A4(actor->unk44_14, actor->unk48);
|
||||||
if ((actor->unk54 == 0.0f) && (actor->unk138_3 == 0)) {
|
if ((actor->unk54 == 0.0f) && (actor->unk138_3 == 0)) {
|
||||||
if (actor->marker->unk14_20 == 0xB0) {
|
if (actor->marker->unk14_20 == 0xB0) {
|
||||||
actor->unk48 = func_803240E0(D_80371E70[actor->unk44_14], actor->unk48, sp40, &sp44);
|
actor->unk48 = func_803240E0(D_80371E70[actor->unk44_14], actor->unk48, sp40, &sp44);
|
||||||
@@ -715,7 +907,6 @@ s32 func_803438E0(Actor *actor, s32 arg1, s32 arg2, s32 arg3) {
|
|||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
int func_80343D50(Actor *this, s32 arg1, s32 arg2, s32 arg3){
|
int func_80343D50(Actor *this, s32 arg1, s32 arg2, s32 arg3){
|
||||||
s32 s0;
|
s32 s0;
|
||||||
|
@@ -368,6 +368,7 @@ set_model_render_mode = 0x8033A4CC;
|
|||||||
assetcache_release = 0x8033B3D8;
|
assetcache_release = 0x8033B3D8;
|
||||||
assetcache_update_ptr = 0x8033B574;
|
assetcache_update_ptr = 0x8033B574;
|
||||||
assetcache_get = 0x8033B798;
|
assetcache_get = 0x8033B798;
|
||||||
|
assetCache_init = 0x8033bb84;
|
||||||
savedata_update_crc = 0x8033BFD0;
|
savedata_update_crc = 0x8033BFD0;
|
||||||
strcat = 0x8033D660;
|
strcat = 0x8033D660;
|
||||||
strcatc = 0x8033D6A8;
|
strcatc = 0x8033D6A8;
|
||||||
@@ -518,6 +519,8 @@ D_80378F68 = 0x80378F68;
|
|||||||
D_80378FC8 = 0x80378FC8;
|
D_80378FC8 = 0x80378FC8;
|
||||||
D_80378FCC = 0x80378FCC;
|
D_80378FCC = 0x80378FCC;
|
||||||
D_8037901C = 0x8037901C;
|
D_8037901C = 0x8037901C;
|
||||||
|
D_80379058 = 0x80379058;
|
||||||
|
D_80379060 = 0x80379060;
|
||||||
D_80379080 = 0x80379080;
|
D_80379080 = 0x80379080;
|
||||||
D_80379084 = 0x80379084;
|
D_80379084 = 0x80379084;
|
||||||
D_80379088 = 0x80379088;
|
D_80379088 = 0x80379088;
|
||||||
|
Reference in New Issue
Block a user