Link JAIConst.cpp (#48)

This commit is contained in:
Luke Street 2022-09-08 13:17:22 -04:00 committed by GitHub
parent ec0593c013
commit 12e701cb09
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 41 additions and 164 deletions

View File

@ -1,56 +0,0 @@
.include "macros.inc"
.section .ctors, "wa" # 0x80472F00 - 0x804732C0
lbl_constructor:
.4byte __sinit_JAIConst_cpp
.section .bss # 0x804EFC20 - 0x8051467C
# JAIConst.cpp
.comm nullCamera__Q27JAInter5Const, 0x68, 4
.comm nullActor__Q27JAInter5Const, 0x14, 4
.comm camMtx__Q27JAInter5Const, 0x30, 4
.comm camTrans__Q27JAInter5Const, 0xC, 4
.comm camPreTrans__Q27JAInter5Const, 0xC, 4
.section .sbss # 0x80514D80 - 0x80516360
.balign 8
.global random__Q27JAInter5Const
random__Q27JAInter5Const:
.skip 0x4
.section .text, "ax" # 0x800056C0 - 0x80472F00
__sinit_JAIConst_cpp: # static initializer
/* 800AD40C 000AA34C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800AD410 000AA350 7C 08 02 A6 */ mflr r0
/* 800AD414 000AA354 3C E0 80 51 */ lis r7, camTrans__Q27JAInter5Const@ha
/* 800AD418 000AA358 3C A0 80 51 */ lis r5, camPreTrans__Q27JAInter5Const@ha
/* 800AD41C 000AA35C 90 01 00 14 */ stw r0, 0x14(r1)
/* 800AD420 000AA360 38 00 00 00 */ li r0, 0
/* 800AD424 000AA364 38 E7 22 5C */ addi r7, r7, camTrans__Q27JAInter5Const@l
/* 800AD428 000AA368 3C C0 80 51 */ lis r6, nullCamera__Q27JAInter5Const@ha
/* 800AD42C 000AA36C 3C 80 80 51 */ lis r4, camMtx__Q27JAInter5Const@ha
/* 800AD430 000AA370 3C 60 80 51 */ lis r3, nullActor__Q27JAInter5Const@ha
/* 800AD434 000AA374 94 03 22 18 */ stwu r0, nullActor__Q27JAInter5Const@l(r3)
/* 800AD438 000AA378 38 A5 22 68 */ addi r5, r5, camPreTrans__Q27JAInter5Const@l
/* 800AD43C 000AA37C 38 84 22 2C */ addi r4, r4, camMtx__Q27JAInter5Const@l
/* 800AD440 000AA380 28 00 00 00 */ cmplwi r0, 0
/* 800AD444 000AA384 94 E6 21 B0 */ stwu r7, nullCamera__Q27JAInter5Const@l(r6)
/* 800AD448 000AA388 90 A6 00 04 */ stw r5, 4(r6)
/* 800AD44C 000AA38C 90 86 00 08 */ stw r4, 8(r6)
/* 800AD450 000AA390 90 03 00 04 */ stw r0, 4(r3)
/* 800AD454 000AA394 90 03 00 08 */ stw r0, 8(r3)
/* 800AD458 000AA398 90 03 00 0C */ stw r0, 0xc(r3)
/* 800AD45C 000AA39C 40 82 00 10 */ bne lbl_800AD46C
/* 800AD460 000AA3A0 38 00 00 01 */ li r0, 1
/* 800AD464 000AA3A4 98 03 00 10 */ stb r0, 0x10(r3)
/* 800AD468 000AA3A8 48 00 00 0C */ b lbl_800AD474
lbl_800AD46C:
/* 800AD46C 000AA3AC 38 00 00 01 */ li r0, 1
/* 800AD470 000AA3B0 98 03 00 10 */ stb r0, 0x10(r3)
lbl_800AD474:
/* 800AD474 000AA3B4 38 6D 8B 88 */ addi r3, r13, random__Q27JAInter5Const@sda21
/* 800AD478 000AA3B8 38 80 00 00 */ li r4, 0
/* 800AD47C 000AA3BC 4B F8 7C 85 */ bl __ct__Q25JMath13TRandom_fast_FUl
/* 800AD480 000AA3C0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800AD484 000AA3C4 7C 08 03 A6 */ mtlr r0
/* 800AD488 000AA3C8 38 21 00 10 */ addi r1, r1, 0x10
/* 800AD48C 000AA3CC 4E 80 00 20 */ blr

View File

@ -3,20 +3,18 @@
#include "types.h"
#include "JSystem/JAI/JAInter.h"
#include "JSystem/JMath.h"
namespace JAInter {
namespace Const {
Vec dummyZeroVec = { 0, 0, 0 };
u32 sCInfos_0[8] = { 0x04020402, 0x04020402, 0x04020402, 0x04020402, 0x04020402, 0x04020402, 0x04020402, 0x04020402 };
/*
Camera nullCamera;
Actor nullActor;
// Actor nullActor { m_flag.boolView[0] = true };
Mtx camMtx;
Vec camTrans;
Vec camPreTrans;
u32 random;
*/
extern Vec dummyZeroVec;
extern u32 sCInfos_0[8];
extern Vec camPreTrans;
extern Vec camTrans;
extern Mtx camMtx;
extern Camera nullCamera;
extern Actor nullActor;
extern JMath::TRandom_fast_ random;
} // namespace Const
} // namespace JAInter
#endif

View File

@ -16,6 +16,20 @@ struct CustomHeapInfo {
} // namespace SequenceMgr
struct Actor {
inline Actor(Vec* vec1, Vec* vec2, Vec* vec3, u32 unk)
{
m_vec1 = vec1;
m_vec2 = vec2;
m_vec3 = vec3;
m_unk = unk;
// Actual condition is unknown
if (m_vec1 == nullptr) {
m_flag.boolView[0] = true;
} else {
m_flag.boolView[0] = true;
}
}
Vec* m_vec1; // _00
Vec* m_vec2; // _04
Vec* m_vec3; // _08
@ -28,6 +42,13 @@ struct Actor {
};
struct Camera {
inline Camera(Vec& vec1, Vec& vec2, Mtx& mtx)
{
m_vec1 = &vec1;
m_vec2 = &vec2;
m_mtx = &mtx;
}
Vec* m_vec1; // _00
Vec* m_vec2; // _04
Mtx* m_mtx; // _08

View File

@ -218,7 +218,6 @@ JSYSTEM:=\
$(BUILD_DIR)/asm/JSystem/JAI/JAIBankWave.o\
$(BUILD_DIR)/asm/JSystem/JAI/JAIBasic.o\
$(BUILD_DIR)/src/JSystem/JAI/JAIConst.o\
$(BUILD_DIR)/asm/JSystem/JAI/JAIConst.o\
$(BUILD_DIR)/asm/JSystem/JAI/JAIDummyObject.o\
$(BUILD_DIR)/asm/JSystem/JAI/JAIFx.o\
$(BUILD_DIR)/asm/JSystem/JAI/JAIGlobalParameter.o\

View File

@ -7,52 +7,19 @@
#include "JSystem/JAI/JAIConst.h"
extern JKRSolidHeap* JASDram;
/*
Generated from dpostproc
.section .ctors, "wa" # 0x80472F00 - 0x804732C0
.4byte __sinit_JAIConst_cpp
.section .data, "wa" # 0x8049E220 - 0x804EFC20
.global dummyZeroVec__Q27JAInter5Const
dummyZeroVec__Q27JAInter5Const:
.float 0.0
.float 0.0
.float 0.0
.global sCInfos_0__Q27JAInter5Const
sCInfos_0__Q27JAInter5Const:
.4byte 0x04020402
.4byte 0x04020402
.4byte 0x04020402
.4byte 0x04020402
.4byte 0x04020402
.4byte 0x04020402
.4byte 0x04020402
.4byte 0x04020402
.section .bss # 0x804EFC20 - 0x8051467C
.global nullCamera__Q27JAInter5Const
nullCamera__Q27JAInter5Const:
.skip 0x68
.global nullActor__Q27JAInter5Const
nullActor__Q27JAInter5Const:
.skip 0x14
.global camMtx__Q27JAInter5Const
camMtx__Q27JAInter5Const:
.skip 0x30
.global camTrans__Q27JAInter5Const
camTrans__Q27JAInter5Const:
.skip 0xC
.global camPreTrans__Q27JAInter5Const
camPreTrans__Q27JAInter5Const:
.skip 0xC
.section .sbss # 0x80514D80 - 0x80516360
.global random__Q27JAInter5Const
random__Q27JAInter5Const:
.skip 0x4
*/
namespace JAInter {
namespace Const {
Vec dummyZeroVec = { 0, 0, 0 };
u32 sCInfos_0[8] = { 0x04020402, 0x04020402, 0x04020402, 0x04020402, 0x04020402, 0x04020402, 0x04020402, 0x04020402 };
Camera nullCamera(camTrans, camPreTrans, camMtx);
Actor nullActor(0, 0, 0, 0);
Mtx camMtx;
Vec camTrans;
Vec camPreTrans;
JMath::TRandom_fast_ random(0);
} // namespace Const
/*
* --INFO--
* Address: 800AD1C4
@ -125,56 +92,4 @@ u32 routeToTrack(u32 param_1)
}
return param_1 & uVar2;
}
/*
namespace Const {
Actor::nullActor { m_flag.boolView[0] = true };
} // namespace Const
*/
/*
* --INFO--
* Address: 800AD40C
* Size: 000084
*/
// void __sinit_JAIConst_cpp(void)
//{
/*
stwu r1, -0x10(r1)
mflr r0
lis r7, camTrans__Q27JAInter5Const@ha
lis r5, camPreTrans__Q27JAInter5Const@ha
stw r0, 0x14(r1)
li r0, 0
addi r7, r7, camTrans__Q27JAInter5Const@l
lis r6, nullCamera__Q27JAInter5Const@ha
lis r4, camMtx__Q27JAInter5Const@ha
lis r3, nullActor__Q27JAInter5Const@ha
stwu r0, nullActor__Q27JAInter5Const@l(r3)
addi r5, r5, camPreTrans__Q27JAInter5Const@l
addi r4, r4, camMtx__Q27JAInter5Const@l
cmplwi r0, 0
stwu r7, nullCamera__Q27JAInter5Const@l(r6)
stw r5, 4(r6)
stw r4, 8(r6)
stw r0, 4(r3)
stw r0, 8(r3)
stw r0, 0xc(r3)
bne lbl_800AD46C
li r0, 1
stb r0, 0x10(r3)
b lbl_800AD474
lbl_800AD46C:
li r0, 1
stb r0, 0x10(r3)
lbl_800AD474:
addi r3, r13, random__Q27JAInter5Const@sda21
li r4, 0
bl __ct__Q25JMath13TRandom_fast_FUl
lwz r0, 0x14(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
//}
} // namespace JAInter