This commit is contained in:
unknown
2020-12-03 21:04:06 -05:00
115 changed files with 8735 additions and 7838 deletions
@@ -9,12 +9,11 @@ class JKRDisposer {
public:
JKRDisposer();
virtual ~JKRDisposer();
virtual void callAllDisposer() = 0;
public:
JKRHeap* heap;
JSUPtrLink ptr_link;
JKRHeap* mHeap;
JSULink<JKRDisposer> mLink;
};
#endif
+39 -12
View File
@@ -4,7 +4,7 @@
#include "dolphin/types.h"
#include "JSystem/JKernel/JKRDisposer/JKRDisposer.h"
typedef void (*JKRErrorHandler)(void*, unsigned long, int);
typedef void (*JKRErrorHandler)(void*, u32, int);
class JKRHeap : JKRDisposer {
public:
JKRHeap(void*, u32, JKRHeap*, bool);
@@ -31,7 +31,7 @@ class JKRHeap : JKRDisposer {
s32 getSize(void* ptr);
s32 getFreeSize();
s32 getMaxFreeBlock();
void* getMaxFreeBlock();
s32 getTotalFreeSize();
u8 changeGroupID(u8 param_1);
s32 getMaxAllocatableSize(int alignment);
@@ -46,13 +46,41 @@ class JKRHeap : JKRDisposer {
void dispose();
static void copyMemory(void* dst, void* src, u32 size);
static void JKRDefaultMemoryErrorRoutine(JKRHeap* heap, u32 size, int alignment);
static void fillMemory(void* dst, u32 size, u8 value); // NOTE: never used
static bool checkMemoryFilled(void* src, u32 size, u8 value);
bool setErrorFlag(bool param_1);
static JKRErrorHandler setErrorHandler(JKRErrorHandler param_1);
static void JKRDefaultMemoryErrorRoutine(JKRHeap* heap, u32 size, int alignment);
static JKRErrorHandler setErrorHandler(JKRErrorHandler error_handler);
bool isSubHeap(JKRHeap* heap) const;
void* getBegin() const {
return (void*)mBegin;
}
void* getEnd() const {
return (void*)mEnd;
}
u32 getSize() const {
return mSize;
}
JSUTree<JKRHeap>& getHeapTree() {
return this->mChildTree;
}
void appendDisposer(JKRDisposer* disposer) {
mDisposerList.append(&disposer->mLink);
}
void removeDisposer(JKRDisposer* disposer) {
mDisposerList.remove(&disposer->mLink);
}
protected:
void callAllDisposer();
virtual void vt_func4() = 0;
@@ -68,7 +96,7 @@ class JKRHeap : JKRDisposer {
virtual s32 do_resize(void* ptr, u32 size) = 0;
virtual s32 do_getSize(void* ptr) = 0;
virtual s32 do_getFreeSize() = 0;
virtual s32 do_getMaxFreeBlock() = 0;
virtual void* do_getMaxFreeBlock() = 0;
virtual s32 do_getTotalFreeSize() = 0;
virtual u8 do_changeGroupID(u8 param_1);
virtual void do_getCurrent();
@@ -78,17 +106,16 @@ class JKRHeap : JKRDisposer {
public:
u8 mutex[24];
u32 begin;
u32 end;
u32 size;
u32 mBegin;
u32 mEnd;
u32 mSize;
u8 field_0x3c;
u8 field_0x3d;
u8 field_0x3e;
u8 field_0x3f;
JSUPtrList child_list;
JSUPtrLink heap_link;
JSUPtrList disposable_list;
bool error_flag;
JSUTree<JKRHeap> mChildTree;
JSUList<JKRDisposer> mDisposerList;
bool mErrorFlag;
u8 field_0x69;
u8 field_0x6a[2];
};
+283 -21
View File
@@ -3,22 +3,69 @@
#include "dolphin/types.h"
//
// Link
//
class JSUPtrList;
class JSUPtrLink {
public:
JSUPtrLink(void* owner);
JSUPtrLink(void* object);
~JSUPtrLink();
void* getObjectPtr() const {
return mObject;
}
JSUPtrList* getList() const {
return mList;
}
JSUPtrLink* getNext() const {
return mNext;
}
JSUPtrLink* getPrev() const {
return mPrev;
}
public:
void* owner;
JSUPtrList* list;
JSUPtrLink* prev;
JSUPtrLink* next;
void* mObject;
JSUPtrList* mList;
JSUPtrLink* mPrev;
JSUPtrLink* mNext;
};
template <typename T>
class JSULink : public JSUPtrLink {
public:
JSULink(T* object) : JSUPtrLink((void*)object) {
}
T* getObject() const {
return (T*)getObjectPtr();
}
JSULink<T>* getNext() const {
return (JSULink<T>*)this->JSUPtrLink::getNext();
}
JSULink<T>* getPrev() const {
return (JSULink<T>*)this->JSUPtrLink::getPrev();
}
};
//
// List
//
class JSUPtrList {
public:
JSUPtrList(bool should_initiate);
JSUPtrList() {
this->initiate();
}
JSUPtrList(bool init);
~JSUPtrList();
void initiate();
@@ -29,30 +76,245 @@ class JSUPtrList {
bool remove(JSUPtrLink* ptr);
JSUPtrLink* getNthLink(u32 i) const;
public:
JSUPtrLink* head;
JSUPtrLink* tail;
u32 length;
JSUPtrLink* getFirstLink() const {
return mHead;
}
JSUPtrLink* getLastLink() const {
return mTail;
}
u32 getNumLinks() const {
return mLength;
}
private:
JSUPtrLink* mHead;
JSUPtrLink* mTail;
u32 mLength;
};
template <typename T>
class JSUList : JSUPtrList {
class JSUList : protected JSUPtrList {
public:
JSUList() : JSUPtrList(true) {
}
~JSUList(){};
void append(T* value) {
list.append(&value->ptr_link);
JSUList() : JSUPtrList() {
}
void prepend(T* value) {
list.prepend(&value->ptr_link);
JSUList(bool init) : JSUPtrList(init) {
}
void remove(T* value) {
list.remove(&value->ptr_link);
bool append(JSULink<T>* link) {
return this->JSUPtrList::append((JSUPtrLink*)link);
}
bool prepend(JSULink<T>* link) {
return this->JSUPtrList::prepend((JSUPtrLink*)link);
}
bool insert(JSULink<T>* before, JSULink<T>* link) {
return this->JSUPtrList::insert((JSUPtrLink*)before, (JSUPtrLink*)link);
}
bool remove(JSULink<T>* link) {
return this->JSUPtrList::remove((JSUPtrLink*)link);
}
JSULink<T>* getFirst() const {
return (JSULink<T>*)getFirstLink();
}
JSULink<T>* getLast() const {
return (JSULink<T>*)getLastLink();
}
JSULink<T>* getEnd() const {
return NULL;
}
u32 getNumLinks() const {
return this->JSUPtrList::getNumLinks();
}
};
template <typename T>
class JSUListIterator {
public:
JSUListIterator() : mLink() {
}
JSUListIterator(JSULink<T>* link) : mLink(link) {
}
JSUListIterator(JSUList<T>* list) : JSUListIterator(list->getFirst()) {
}
JSUListIterator<T>& operator=(JSULink<T>* link) {
this->mLink = link;
return *this;
}
T* getObject() {
return this->mLink->getObject();
}
bool operator==(JSULink<T> const* other) const {
return this->mLink == other;
}
bool operator!=(JSULink<T> const* other) const {
return this->mLink != other;
}
bool operator==(JSUListIterator<T> const& other) const {
return this->mLink == other.mLink;
}
bool operator!=(JSUListIterator<T> const& other) const {
return this->mLink != other.other;
}
JSUListIterator<T> operator++(int) {
JSUListIterator<T> prev = *this;
this->mLink = this->mLink->getNext();
return prev;
}
JSUListIterator<T>& operator++() {
this->mLink = this->mLink->getNext();
return *this;
}
T& operator*() {
return *this->getObject();
}
T* operator->() {
return this->getObject();
}
private:
JSULink<T>* mLink;
};
//
// Tree
//
#define JSU_TREE_FROM_LINK(T, LINK) (JSUTree<T>*)(((u8*)(LINK)) - 12)
#define JSU_TREE_LINK_IF_NOT_NULL(TREE) \
if (TREE) { \
TREE = (JSUTree<T>*)(&(TREE)->mLink); \
}
#define _JSU_TREE_AS_LINK(TREE) ((JSULink<T>*)(TREE))
template <typename T>
class JSUTree {
public:
JSUTree(T* owner) : mList(), mLink(owner) {
}
bool appendChild(JSUTree<T>* child) {
JSU_TREE_LINK_IF_NOT_NULL(child);
return this->mList.append(_JSU_TREE_AS_LINK(child));
}
bool removeChild(JSUTree<T>* child) {
JSU_TREE_LINK_IF_NOT_NULL(child);
return this->mList.remove(_JSU_TREE_AS_LINK(child));
}
bool insertChild(JSUTree<T>* before, JSUTree<T>* child) {
JSU_TREE_LINK_IF_NOT_NULL(before);
JSU_TREE_LINK_IF_NOT_NULL(child);
return this->mList.insert(_JSU_TREE_AS_LINK(before), _JSU_TREE_AS_LINK(child));
}
JSUTree<T>* getEndChild() const {
return NULL;
}
JSUTree<T>* getFirstChild() const {
JSULink<T>* link = this->mList.getFirst();
return link ? JSU_TREE_FROM_LINK(T, link) : (JSUTree<T>*)link;
}
JSUTree<T>* getLastChild() const {
JSULink<T>* link = this->mList.getLast();
return link ? JSU_TREE_FROM_LINK(T, link) : (JSUTree<T>*)link;
}
JSUTree<T>* getNextChild() const {
JSULink<T>* link = this->mLink.getNext();
return link ? JSU_TREE_FROM_LINK(T, link) : (JSUTree<T>*)link;
}
JSUTree<T>* getPrevChild() const {
JSULink<T>* link = this->mLink.getPrev();
return link ? JSU_TREE_FROM_LINK(T, link) : (JSUTree<T>*)link;
}
u32 getNumChildren() const {
return this->mList.getNumLinks();
}
T* getObject() const {
return this->mLink.getObject();
}
JSUTree<T>* getParent() const {
return (JSUTree<T>*)this->mLink.getList();
}
private:
JSUList<T> mList;
JSULink<T> mLink;
};
template <typename T>
class JSUTreeIterator {
public:
JSUTreeIterator() : mTree(NULL) {
}
JSUTreeIterator(JSUTree<T>* tree) : mTree(tree) {
}
JSUTreeIterator<T>& operator=(JSUTree<T>* tree) {
this->mTree = tree;
return *this;
}
T* getObject() {
return this->mTree->getObject();
}
bool operator==(JSUTree<T>* other) {
return this->mTree == other;
}
bool operator!=(JSUTree<T>* other) {
return this->mTree != other;
}
JSUTreeIterator<T> operator++(int) {
JSUTreeIterator<T> prev = *this;
this->mTree = this->mTree->getNextChild();
return prev;
}
JSUTreeIterator<T>& operator++() {
this->mTree = this->mTree->getNextChild();
return *this;
}
T& operator*() {
return *this->getObject();
}
T* operator->() {
return this->getObject();
}
private:
JSUTree<T>* mTree;
};
#endif
+65 -2
View File
@@ -1,3 +1,66 @@
class JUTFont {
#ifndef JSYSTEM_JUTILITY_JUTFONT_H
#define JSYSTEM_JUTILITY_JUTFONT_H
};
#include "global.h"
static const unsigned int CLR_WHITE = 0xFFFFFFFF;
static const unsigned int CLR_BLACK = 0;
typedef const char* ResFONT;
struct TColor {
TColor() {
*(u32*)&r = 0xFFFFFFFF;
}
TColor(u32 raw) {
*(u32*)&r = raw;
}
u32 Raw() { return *(u32*)&r; }
u8 r;
u8 g;
u8 b;
u8 a;
};
class JUTFont {
public:
JUTFont();
virtual ~JUTFont();
struct TWidth {};
virtual void setGX() = 0;
virtual void setGX(TColor col1, TColor col2);
virtual void drawChar_scale(float a1, float a2, float a3, float a4, int a5, bool a6);
virtual u16 getLeading() = 0;
virtual u16 getAscent() = 0;
virtual u16 getDescent() = 0;
virtual u32 getHeight() = 0;
virtual u32 getWidth() = 0;
virtual void getWidthEntry(s32 i_no, TWidth* width);
virtual u32 getCellWidth();
virtual u32 getCellHeight();
virtual u32 getFontType() = 0;
virtual TColor getResFont() = 0;
virtual bool isLeadByte(s32 a1) = 0;
void initialize_state();
void setCharColor(TColor col1);
void setGradColor(TColor col1, TColor col2);
float drawString_size_scale(float a1, float a2, float a3, float a4, char* a5, unsigned long usz, bool a7);
bool unk4;
bool unk5;
int unk8;
TColor mColor1;
TColor mColor2;
TColor mColor3;
TColor mColor4;
int unk1C;
};
#endif // JSYSTEM_JUTILITY_JUTFONT_H
@@ -0,0 +1,75 @@
/* 802DEE28 002DBD68 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 802DEE2C 002DBD6C 7C 08 02 A6 */ mflr r0
/* 802DEE30 002DBD70 90 01 00 74 */ stw r0, 0x74(r1)
/* 802DEE34 002DBD74 DB E1 00 60 */ stfd f31, 0x60(r1)
/* 802DEE38 002DBD78 F3 E1 00 68 */ psq_st f31, 104(r1), 0, 0
/* 802DEE3C 002DBD7C DB C1 00 50 */ stfd f30, 0x50(r1)
/* 802DEE40 002DBD80 F3 C1 00 58 */ psq_st f30, 88(r1), 0, 0
/* 802DEE44 002DBD84 DB A1 00 40 */ stfd f29, 0x40(r1)
/* 802DEE48 002DBD88 F3 A1 00 48 */ psq_st f29, 72(r1), 0, 0
/* 802DEE4C 002DBD8C DB 81 00 30 */ stfd f28, 0x30(r1)
/* 802DEE50 002DBD90 F3 81 00 38 */ psq_st f28, 56(r1), 0, 0
/* 802DEE54 002DBD94 DB 61 00 20 */ stfd f27, 0x20(r1)
/* 802DEE58 002DBD98 F3 61 00 28 */ psq_st f27, 40(r1), 0, 0
/* 802DEE5C 002DBD9C 39 61 00 20 */ addi r11, r1, 0x20
/* 802DEE60 002DBDA0 48 08 33 75 */ bl _savegpr_27
/* 802DEE64 002DBDA4 7C 7B 1B 78 */ mr r27, r3
/* 802DEE68 002DBDA8 FF 60 08 90 */ fmr f27, f1
/* 802DEE6C 002DBDAC FF 80 10 90 */ fmr f28, f2
/* 802DEE70 002DBDB0 FF A0 18 90 */ fmr f29, f3
/* 802DEE74 002DBDB4 FF C0 20 90 */ fmr f30, f4
/* 802DEE78 002DBDB8 7C 9C 23 78 */ mr r28, r4
/* 802DEE7C 002DBDBC 7C BD 2B 78 */ mr r29, r5
/* 802DEE80 002DBDC0 7C DE 33 78 */ mr r30, r6
/* 802DEE84 002DBDC4 FF E0 D8 90 */ fmr f31, f27
/* 802DEE88 002DBDC8 48 00 00 74 */ b lbl_802DEEFC
lbl_802DEE8C:
/* 802DEE8C 002DBDCC 88 9C 00 00 */ lbz r4, 0(r28)
/* 802DEE90 002DBDD0 7C 9F 23 78 */ mr r31, r4
/* 802DEE94 002DBDD4 7F 63 DB 78 */ mr r3, r27
/* 802DEE98 002DBDD8 81 9B 00 00 */ lwz r12, 0(r27)
/* 802DEE9C 002DBDDC 81 8C 00 40 */ lwz r12, 0x40(r12)
/* 802DEEA0 002DBDE0 7D 89 03 A6 */ mtctr r12
/* 802DEEA4 002DBDE4 4E 80 04 21 */ bctrl
/* 802DEEA8 002DBDE8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802DEEAC 002DBDEC 41 82 00 14 */ beq lbl_802DEEC0
/* 802DEEB0 002DBDF0 57 FF 40 2E */ slwi r31, r31, 8
/* 802DEEB4 002DBDF4 8C 1C 00 01 */ lbzu r0, 1(r28)
/* 802DEEB8 002DBDF8 7F FF 03 78 */ or r31, r31, r0
/* 802DEEBC 002DBDFC 3B BD FF FF */ addi r29, r29, -1
lbl_802DEEC0:
/* 802DEEC0 002DBE00 7F 63 DB 78 */ mr r3, r27
/* 802DEEC4 002DBE04 FC 20 D8 90 */ fmr f1, f27
/* 802DEEC8 002DBE08 FC 40 E0 90 */ fmr f2, f28
/* 802DEECC 002DBE0C FC 60 E8 90 */ fmr f3, f29
/* 802DEED0 002DBE10 FC 80 F0 90 */ fmr f4, f30
/* 802DEED4 002DBE14 7F E4 FB 78 */ mr r4, r31
/* 802DEED8 002DBE18 7F C5 F3 78 */ mr r5, r30
/* 802DEEDC 002DBE1C 81 9B 00 00 */ lwz r12, 0(r27)
/* 802DEEE0 002DBE20 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 802DEEE4 002DBE24 7D 89 03 A6 */ mtctr r12
/* 802DEEE8 002DBE28 4E 80 04 21 */ bctrl
/* 802DEEEC 002DBE2C EF 7B 08 2A */ fadds f27, f27, f1
/* 802DEEF0 002DBE30 3B C0 00 01 */ li r30, 1
/* 802DEEF4 002DBE34 3B BD FF FF */ addi r29, r29, -1
/* 802DEEF8 002DBE38 3B 9C 00 01 */ addi r28, r28, 1
lbl_802DEEFC:
/* 802DEEFC 002DBE3C 28 1D 00 00 */ cmplwi r29, 0
/* 802DEF00 002DBE40 40 82 FF 8C */ bne lbl_802DEE8C
/* 802DEF04 002DBE44 EC 3B F8 28 */ fsubs f1, f27, f31
/* 802DEF08 002DBE48 E3 E1 00 68 */ psq_l f31, 104(r1), 0, 0
/* 802DEF0C 002DBE4C CB E1 00 60 */ lfd f31, 0x60(r1)
/* 802DEF10 002DBE50 E3 C1 00 58 */ psq_l f30, 88(r1), 0, 0
/* 802DEF14 002DBE54 CB C1 00 50 */ lfd f30, 0x50(r1)
/* 802DEF18 002DBE58 E3 A1 00 48 */ psq_l f29, 72(r1), 0, 0
/* 802DEF1C 002DBE5C CB A1 00 40 */ lfd f29, 0x40(r1)
/* 802DEF20 002DBE60 E3 81 00 38 */ psq_l f28, 56(r1), 0, 0
/* 802DEF24 002DBE64 CB 81 00 30 */ lfd f28, 0x30(r1)
/* 802DEF28 002DBE68 E3 61 00 28 */ psq_l f27, 40(r1), 0, 0
/* 802DEF2C 002DBE6C CB 61 00 20 */ lfd f27, 0x20(r1)
/* 802DEF30 002DBE70 39 61 00 20 */ addi r11, r1, 0x20
/* 802DEF34 002DBE74 48 08 32 ED */ bl _restgpr_27
/* 802DEF38 002DBE78 80 01 00 74 */ lwz r0, 0x74(r1)
/* 802DEF3C 002DBE7C 7C 08 03 A6 */ mtlr r0
/* 802DEF40 002DBE80 38 21 00 70 */ addi r1, r1, 0x70
/* 802DEF44 002DBE84 4E 80 00 20 */ blr
+58
View File
@@ -0,0 +1,58 @@
#ifndef JSYSTEM_JUTILITY_JUT_RES_FONT
#define JSYSTEM_JUTILITY_JUT_RES_FONT
#include "JSystem/JUtility/JUTFont/JUTFont.h"
#include "JSystem/JKernel/JKRHeap/JKRHeap.h"
class JUTResFont : JUTFont {
public:
JUTResFont();
JUTResFont(ResFONT font, JKRHeap* heap);
~JUTResFont();
struct Unknown {
struct Unknown2 {
u32 filler0;
u32 filler4;
u32 filler8;
u16 unkC;
u16 unkE;
};
Unknown2* unk0;
};
virtual void setGX();
virtual void setGX(TColor col1, TColor col2);
virtual void drawChar_scale(float a1, float a2, float a3, float a4, int a5, bool a6);
virtual void getWidthEntry(s32 i_no, TWidth* width);
virtual u32 getCellWidth();
virtual u32 getCellHeight();
virtual bool isLeadByte(s32 a1);
virtual void loadImage(s32 a1, u32 a2);
virtual void setBlock();
void deleteMemBlocks_ResFont();
void initialize_state();
bool initiate(ResFONT font, JKRHeap* heap);
bool protected_initiate(ResFONT font, JKRHeap* heap);
u32 countBlock();
void loadFont(s32 a1, u32 a2, TWidth* a3);
u32 getFontCode(s32 a1);
s32 convertSjis(s32 a1, u16* a2);
u32 unk20;
u8 filler24[0x20];
u32 unk44;
u32 unk48;
u32 filler4C;
JKRHeap* unk50;
u32 unk54;
Unknown* unk58;
u32 unk5C;
u8 filler60[0xC];
bool (**unk6C)(s32 a1);
};
#endif // JSYSTEM_JUTILITY_JUT_RES_FONT
@@ -0,0 +1,38 @@
/* 802E00C4 002DD004 54 86 C6 3E */ rlwinm r6, r4, 0x18, 0x18, 0x1f
/* 802E00C8 002DD008 54 83 06 3E */ clrlwi r3, r4, 0x18
/* 802E00CC 002DD00C 38 E3 FF C0 */ addi r7, r3, -64
/* 802E00D0 002DD010 2C 07 00 40 */ cmpwi r7, 0x40
/* 802E00D4 002DD014 41 80 00 08 */ blt lbl_802E00DC
/* 802E00D8 002DD018 38 E7 FF FF */ addi r7, r7, -1
lbl_802E00DC:
/* 802E00DC 002DD01C 38 00 03 1C */ li r0, 0x31c
/* 802E00E0 002DD020 28 05 00 00 */ cmplwi r5, 0
/* 802E00E4 002DD024 41 82 00 08 */ beq lbl_802E00EC
/* 802E00E8 002DD028 A0 05 00 00 */ lhz r0, 0(r5)
lbl_802E00EC:
/* 802E00EC 002DD02C 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 802E00F0 002DD030 38 06 FF 78 */ addi r0, r6, -136
/* 802E00F4 002DD034 1C 60 00 BC */ mulli r3, r0, 0xbc
/* 802E00F8 002DD038 38 03 FF A2 */ addi r0, r3, -94
/* 802E00FC 002DD03C 7C 60 22 14 */ add r3, r0, r4
/* 802E0100 002DD040 7C 67 1A 14 */ add r3, r7, r3
/* 802E0104 002DD044 4E 80 00 20 */ blr
/* 802E0108 002DD048 38 60 00 00 */ li r3, 0
/* 802E010C 002DD04C 4E 80 00 20 */ blr
/* 802E0110 002DD050 38 60 00 01 */ li r3, 1
/* 802E0114 002DD054 4E 80 00 20 */ blr
/* 802E0118 002DD058 38 00 00 00 */ li r0, 0
/* 802E011C 002DD05C 2C 03 00 81 */ cmpwi r3, 0x81
/* 802E0120 002DD060 41 80 00 0C */ blt lbl_802E012C
/* 802E0124 002DD064 2C 03 00 9F */ cmpwi r3, 0x9f
/* 802E0128 002DD068 40 81 00 14 */ ble lbl_802E013C
lbl_802E012C:
/* 802E012C 002DD06C 2C 03 00 E0 */ cmpwi r3, 0xe0
/* 802E0130 002DD070 41 80 00 10 */ blt lbl_802E0140
/* 802E0134 002DD074 2C 03 00 FC */ cmpwi r3, 0xfc
/* 802E0138 002DD078 41 81 00 08 */ bgt lbl_802E0140
lbl_802E013C:
/* 802E013C 002DD07C 38 00 00 01 */ li r0, 1
lbl_802E0140:
/* 802E0140 002DD080 7C 03 03 78 */ mr r3, r0
/* 802E0144 002DD084 4E 80 00 20 */ blr
@@ -0,0 +1,71 @@
/* 802DF248 002DC188 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802DF24C 002DC18C 7C 08 02 A6 */ mflr r0
/* 802DF250 002DC190 90 01 00 24 */ stw r0, 0x24(r1)
/* 802DF254 002DC194 39 61 00 20 */ addi r11, r1, 0x20
/* 802DF258 002DC198 48 08 2F 81 */ bl _savegpr_28
/* 802DF25C 002DC19C 7C 7C 1B 78 */ mr r28, r3
/* 802DF260 002DC1A0 38 00 00 00 */ li r0, 0
/* 802DF264 002DC1A4 B0 03 00 60 */ sth r0, 0x60(r3)
/* 802DF268 002DC1A8 B0 03 00 62 */ sth r0, 0x62(r3)
/* 802DF26C 002DC1AC B0 03 00 64 */ sth r0, 0x64(r3)
/* 802DF270 002DC1B0 80 63 00 48 */ lwz r3, 0x48(r3)
/* 802DF274 002DC1B4 3B C3 00 20 */ addi r30, r3, 0x20
/* 802DF278 002DC1B8 3B A0 00 00 */ li r29, 0
/* 802DF27C 002DC1BC 3C 60 4D 41 */ lis r3, 0x4D415031@ha
/* 802DF280 002DC1C0 3B E3 50 31 */ addi r31, r3, 0x4D415031@l
/* 802DF284 002DC1C4 48 00 00 98 */ b lbl_802DF31C
lbl_802DF288:
/* 802DF288 002DC1C8 80 9E 00 00 */ lwz r4, 0(r30)
/* 802DF28C 002DC1CC 7C 04 F8 00 */ cmpw r4, r31
/* 802DF290 002DC1D0 41 82 00 64 */ beq lbl_802DF2F4
/* 802DF294 002DC1D4 40 80 00 2C */ bge lbl_802DF2C0
/* 802DF298 002DC1D8 3C 60 49 4E */ lis r3, 0x494E4631@ha
/* 802DF29C 002DC1DC 38 03 46 31 */ addi r0, r3, 0x494E4631@l
/* 802DF2A0 002DC1E0 7C 04 00 00 */ cmpw r4, r0
/* 802DF2A4 002DC1E4 41 82 00 6C */ beq lbl_802DF310
/* 802DF2A8 002DC1E8 40 80 00 5C */ bge lbl_802DF304
/* 802DF2AC 002DC1EC 3C 60 47 4C */ lis r3, 0x474C5931@ha
/* 802DF2B0 002DC1F0 38 03 59 31 */ addi r0, r3, 0x474C5931@l
/* 802DF2B4 002DC1F4 7C 04 00 00 */ cmpw r4, r0
/* 802DF2B8 002DC1F8 41 82 00 2C */ beq lbl_802DF2E4
/* 802DF2BC 002DC1FC 48 00 00 48 */ b lbl_802DF304
lbl_802DF2C0:
/* 802DF2C0 002DC200 3C 60 57 49 */ lis r3, 0x57494431@ha
/* 802DF2C4 002DC204 38 03 44 31 */ addi r0, r3, 0x57494431@l
/* 802DF2C8 002DC208 7C 04 00 00 */ cmpw r4, r0
/* 802DF2CC 002DC20C 41 82 00 08 */ beq lbl_802DF2D4
/* 802DF2D0 002DC210 48 00 00 34 */ b lbl_802DF304
lbl_802DF2D4:
/* 802DF2D4 002DC214 A0 7C 00 60 */ lhz r3, 0x60(r28)
/* 802DF2D8 002DC218 38 03 00 01 */ addi r0, r3, 1
/* 802DF2DC 002DC21C B0 1C 00 60 */ sth r0, 0x60(r28)
/* 802DF2E0 002DC220 48 00 00 30 */ b lbl_802DF310
lbl_802DF2E4:
/* 802DF2E4 002DC224 A0 7C 00 62 */ lhz r3, 0x62(r28)
/* 802DF2E8 002DC228 38 03 00 01 */ addi r0, r3, 1
/* 802DF2EC 002DC22C B0 1C 00 62 */ sth r0, 0x62(r28)
/* 802DF2F0 002DC230 48 00 00 20 */ b lbl_802DF310
lbl_802DF2F4:
/* 802DF2F4 002DC234 A0 7C 00 64 */ lhz r3, 0x64(r28)
/* 802DF2F8 002DC238 38 03 00 01 */ addi r0, r3, 1
/* 802DF2FC 002DC23C B0 1C 00 64 */ sth r0, 0x64(r28)
/* 802DF300 002DC240 48 00 00 10 */ b lbl_802DF310
lbl_802DF304:
/* 802DF304 002DC244 3C 60 80 3A */ lis r3, lbl_8039D45C@ha
/* 802DF308 002DC248 38 63 D4 5C */ addi r3, r3, lbl_8039D45C@l
/* 802DF30C 002DC24C 48 00 93 3D */ bl JUTReportConsole
lbl_802DF310:
/* 802DF310 002DC250 80 1E 00 04 */ lwz r0, 4(r30)
/* 802DF314 002DC254 7F DE 02 14 */ add r30, r30, r0
/* 802DF318 002DC258 3B BD 00 01 */ addi r29, r29, 1
lbl_802DF31C:
/* 802DF31C 002DC25C 80 7C 00 48 */ lwz r3, 0x48(r28)
/* 802DF320 002DC260 80 03 00 0C */ lwz r0, 0xc(r3)
/* 802DF324 002DC264 7C 1D 00 40 */ cmplw r29, r0
/* 802DF328 002DC268 41 80 FF 60 */ blt lbl_802DF288
/* 802DF32C 002DC26C 39 61 00 20 */ addi r11, r1, 0x20
/* 802DF330 002DC270 48 08 2E F5 */ bl _restgpr_28
/* 802DF334 002DC274 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802DF338 002DC278 7C 08 03 A6 */ mtlr r0
/* 802DF33C 002DC27C 38 21 00 20 */ addi r1, r1, 0x20
/* 802DF340 002DC280 4E 80 00 20 */ blr
@@ -0,0 +1,270 @@
/* 802DF7C4 002DC704 94 21 FF 50 */ stwu r1, -0xb0(r1)
/* 802DF7C8 002DC708 7C 08 02 A6 */ mflr r0
/* 802DF7CC 002DC70C 90 01 00 B4 */ stw r0, 0xb4(r1)
/* 802DF7D0 002DC710 DB E1 00 A0 */ stfd f31, 0xa0(r1)
/* 802DF7D4 002DC714 F3 E1 00 A8 */ psq_st f31, 168(r1), 0, 0
/* 802DF7D8 002DC718 DB C1 00 90 */ stfd f30, 0x90(r1)
/* 802DF7DC 002DC71C F3 C1 00 98 */ psq_st f30, 152(r1), 0, 0
/* 802DF7E0 002DC720 DB A1 00 80 */ stfd f29, 0x80(r1)
/* 802DF7E4 002DC724 F3 A1 00 88 */ psq_st f29, 136(r1), 0, 0
/* 802DF7E8 002DC728 DB 81 00 70 */ stfd f28, 0x70(r1)
/* 802DF7EC 002DC72C F3 81 00 78 */ psq_st f28, 120(r1), 0, 0
/* 802DF7F0 002DC730 DB 61 00 60 */ stfd f27, 0x60(r1)
/* 802DF7F4 002DC734 F3 61 00 68 */ psq_st f27, 104(r1), 0, 0
/* 802DF7F8 002DC738 DB 41 00 50 */ stfd f26, 0x50(r1)
/* 802DF7FC 002DC73C F3 41 00 58 */ psq_st f26, 88(r1), 0, 0
/* 802DF800 002DC740 39 61 00 50 */ addi r11, r1, 0x50
/* 802DF804 002DC744 48 08 29 D1 */ bl _savegpr_27
/* 802DF808 002DC748 7C 7E 1B 78 */ mr r30, r3
/* 802DF80C 002DC74C FF 40 08 90 */ fmr f26, f1
/* 802DF810 002DC750 FF 60 10 90 */ fmr f27, f2
/* 802DF814 002DC754 FF C0 18 90 */ fmr f30, f3
/* 802DF818 002DC758 FF 80 20 90 */ fmr f28, f4
/* 802DF81C 002DC75C 7C BB 2B 78 */ mr r27, r5
/* 802DF820 002DC760 38 A0 00 00 */ li r5, 0
/* 802DF824 002DC764 38 C1 00 08 */ addi r6, r1, 8
/* 802DF828 002DC768 48 00 03 C1 */ bl loadFont__10JUTResFontFlUlPQ27JUTFont6TWidth
/* 802DF82C 002DC76C 88 1E 00 05 */ lbz r0, 5(r30)
/* 802DF830 002DC770 28 00 00 00 */ cmplwi r0, 0
/* 802DF834 002DC774 40 82 00 0C */ bne lbl_802DF840
/* 802DF838 002DC778 57 60 06 3F */ clrlwi. r0, r27, 0x18
/* 802DF83C 002DC77C 40 82 00 0C */ bne lbl_802DF848
lbl_802DF840:
/* 802DF840 002DC780 FF E0 D0 90 */ fmr f31, f26
/* 802DF844 002DC784 48 00 00 58 */ b lbl_802DF89C
lbl_802DF848:
/* 802DF848 002DC788 7F C3 F3 78 */ mr r3, r30
/* 802DF84C 002DC78C 81 9E 00 00 */ lwz r12, 0(r30)
/* 802DF850 002DC790 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 802DF854 002DC794 7D 89 03 A6 */ mtctr r12
/* 802DF858 002DC798 4E 80 04 21 */ bctrl
/* 802DF85C 002DC79C C8 22 C5 F8 */ lfd f1, lbl_80455FF8-_SDA2_BASE_(r2)
/* 802DF860 002DC7A0 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 802DF864 002DC7A4 90 01 00 14 */ stw r0, 0x14(r1)
/* 802DF868 002DC7A8 3C 60 43 30 */ lis r3, 0x4330
/* 802DF86C 002DC7AC 90 61 00 10 */ stw r3, 0x10(r1)
/* 802DF870 002DC7B0 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802DF874 002DC7B4 EC 00 08 28 */ fsubs f0, f0, f1
/* 802DF878 002DC7B8 EC 5E 00 24 */ fdivs f2, f30, f0
/* 802DF87C 002DC7BC 88 01 00 08 */ lbz r0, 8(r1)
/* 802DF880 002DC7C0 C8 22 C6 00 */ lfd f1, lbl_80456000-_SDA2_BASE_(r2)
/* 802DF884 002DC7C4 90 01 00 1C */ stw r0, 0x1c(r1)
/* 802DF888 002DC7C8 90 61 00 18 */ stw r3, 0x18(r1)
/* 802DF88C 002DC7CC C8 01 00 18 */ lfd f0, 0x18(r1)
/* 802DF890 002DC7D0 EC 00 08 28 */ fsubs f0, f0, f1
/* 802DF894 002DC7D4 EC 00 00 B2 */ fmuls f0, f0, f2
/* 802DF898 002DC7D8 EF FA 00 28 */ fsubs f31, f26, f0
lbl_802DF89C:
/* 802DF89C 002DC7DC 7F C3 F3 78 */ mr r3, r30
/* 802DF8A0 002DC7E0 81 9E 00 00 */ lwz r12, 0(r30)
/* 802DF8A4 002DC7E4 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 802DF8A8 002DC7E8 7D 89 03 A6 */ mtctr r12
/* 802DF8AC 002DC7EC 4E 80 04 21 */ bctrl
/* 802DF8B0 002DC7F0 C8 42 C5 F8 */ lfd f2, lbl_80455FF8-_SDA2_BASE_(r2)
/* 802DF8B4 002DC7F4 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 802DF8B8 002DC7F8 90 01 00 1C */ stw r0, 0x1c(r1)
/* 802DF8BC 002DC7FC 3C 60 43 30 */ lis r3, 0x4330
/* 802DF8C0 002DC800 90 61 00 18 */ stw r3, 0x18(r1)
/* 802DF8C4 002DC804 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 802DF8C8 002DC808 EC 00 10 28 */ fsubs f0, f0, f2
/* 802DF8CC 002DC80C EC 3E 00 24 */ fdivs f1, f30, f0
/* 802DF8D0 002DC810 80 1E 00 08 */ lwz r0, 8(r30)
/* 802DF8D4 002DC814 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 802DF8D8 002DC818 90 01 00 14 */ stw r0, 0x14(r1)
/* 802DF8DC 002DC81C 90 61 00 10 */ stw r3, 0x10(r1)
/* 802DF8E0 002DC820 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802DF8E4 002DC824 EC 00 10 28 */ fsubs f0, f0, f2
/* 802DF8E8 002DC828 EF A0 00 72 */ fmuls f29, f0, f1
/* 802DF8EC 002DC82C 88 1E 00 05 */ lbz r0, 5(r30)
/* 802DF8F0 002DC830 28 00 00 00 */ cmplwi r0, 0
/* 802DF8F4 002DC834 40 82 00 B8 */ bne lbl_802DF9AC
/* 802DF8F8 002DC838 57 60 06 3F */ clrlwi. r0, r27, 0x18
/* 802DF8FC 002DC83C 40 82 00 60 */ bne lbl_802DF95C
/* 802DF900 002DC840 7F C3 F3 78 */ mr r3, r30
/* 802DF904 002DC844 81 9E 00 00 */ lwz r12, 0(r30)
/* 802DF908 002DC848 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 802DF90C 002DC84C 7D 89 03 A6 */ mtctr r12
/* 802DF910 002DC850 4E 80 04 21 */ bctrl
/* 802DF914 002DC854 C8 42 C5 F8 */ lfd f2, lbl_80455FF8-_SDA2_BASE_(r2)
/* 802DF918 002DC858 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 802DF91C 002DC85C 90 01 00 1C */ stw r0, 0x1c(r1)
/* 802DF920 002DC860 3C 80 43 30 */ lis r4, 0x4330
/* 802DF924 002DC864 90 81 00 18 */ stw r4, 0x18(r1)
/* 802DF928 002DC868 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 802DF92C 002DC86C EC 00 10 28 */ fsubs f0, f0, f2
/* 802DF930 002DC870 EC 3E 00 24 */ fdivs f1, f30, f0
/* 802DF934 002DC874 88 61 00 09 */ lbz r3, 9(r1)
/* 802DF938 002DC878 88 01 00 08 */ lbz r0, 8(r1)
/* 802DF93C 002DC87C 7C 03 02 14 */ add r0, r3, r0
/* 802DF940 002DC880 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 802DF944 002DC884 90 01 00 14 */ stw r0, 0x14(r1)
/* 802DF948 002DC888 90 81 00 10 */ stw r4, 0x10(r1)
/* 802DF94C 002DC88C C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802DF950 002DC890 EC 00 10 28 */ fsubs f0, f0, f2
/* 802DF954 002DC894 EF A0 00 72 */ fmuls f29, f0, f1
/* 802DF958 002DC898 48 00 00 54 */ b lbl_802DF9AC
lbl_802DF95C:
/* 802DF95C 002DC89C 7F C3 F3 78 */ mr r3, r30
/* 802DF960 002DC8A0 81 9E 00 00 */ lwz r12, 0(r30)
/* 802DF964 002DC8A4 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 802DF968 002DC8A8 7D 89 03 A6 */ mtctr r12
/* 802DF96C 002DC8AC 4E 80 04 21 */ bctrl
/* 802DF970 002DC8B0 C8 22 C5 F8 */ lfd f1, lbl_80455FF8-_SDA2_BASE_(r2)
/* 802DF974 002DC8B4 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 802DF978 002DC8B8 90 01 00 1C */ stw r0, 0x1c(r1)
/* 802DF97C 002DC8BC 3C 60 43 30 */ lis r3, 0x4330
/* 802DF980 002DC8C0 90 61 00 18 */ stw r3, 0x18(r1)
/* 802DF984 002DC8C4 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 802DF988 002DC8C8 EC 00 08 28 */ fsubs f0, f0, f1
/* 802DF98C 002DC8CC EC 5E 00 24 */ fdivs f2, f30, f0
/* 802DF990 002DC8D0 88 01 00 09 */ lbz r0, 9(r1)
/* 802DF994 002DC8D4 C8 22 C6 00 */ lfd f1, lbl_80456000-_SDA2_BASE_(r2)
/* 802DF998 002DC8D8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802DF99C 002DC8DC 90 61 00 10 */ stw r3, 0x10(r1)
/* 802DF9A0 002DC8E0 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802DF9A4 002DC8E4 EC 00 08 28 */ fsubs f0, f0, f1
/* 802DF9A8 002DC8E8 EF A0 00 B2 */ fmuls f29, f0, f2
lbl_802DF9AC:
/* 802DF9AC 002DC8EC EF DF F0 2A */ fadds f30, f31, f30
/* 802DF9B0 002DC8F0 7F C3 F3 78 */ mr r3, r30
/* 802DF9B4 002DC8F4 81 9E 00 00 */ lwz r12, 0(r30)
/* 802DF9B8 002DC8F8 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 802DF9BC 002DC8FC 7D 89 03 A6 */ mtctr r12
/* 802DF9C0 002DC900 4E 80 04 21 */ bctrl
/* 802DF9C4 002DC904 C8 22 C5 F8 */ lfd f1, lbl_80455FF8-_SDA2_BASE_(r2)
/* 802DF9C8 002DC908 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 802DF9CC 002DC90C 90 01 00 1C */ stw r0, 0x1c(r1)
/* 802DF9D0 002DC910 3C 00 43 30 */ lis r0, 0x4330
/* 802DF9D4 002DC914 90 01 00 18 */ stw r0, 0x18(r1)
/* 802DF9D8 002DC918 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 802DF9DC 002DC91C EC 00 08 28 */ fsubs f0, f0, f1
/* 802DF9E0 002DC920 EF 5C 00 24 */ fdivs f26, f28, f0
/* 802DF9E4 002DC924 7F C3 F3 78 */ mr r3, r30
/* 802DF9E8 002DC928 81 9E 00 00 */ lwz r12, 0(r30)
/* 802DF9EC 002DC92C 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 802DF9F0 002DC930 7D 89 03 A6 */ mtctr r12
/* 802DF9F4 002DC934 4E 80 04 21 */ bctrl
/* 802DF9F8 002DC938 C8 22 C5 F8 */ lfd f1, lbl_80455FF8-_SDA2_BASE_(r2)
/* 802DF9FC 002DC93C 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 802DFA00 002DC940 90 01 00 14 */ stw r0, 0x14(r1)
/* 802DFA04 002DC944 3C 00 43 30 */ lis r0, 0x4330
/* 802DFA08 002DC948 90 01 00 10 */ stw r0, 0x10(r1)
/* 802DFA0C 002DC94C C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802DFA10 002DC950 EC 00 08 28 */ fsubs f0, f0, f1
/* 802DFA14 002DC954 EC 00 06 B2 */ fmuls f0, f0, f26
/* 802DFA18 002DC958 EF 5B 00 28 */ fsubs f26, f27, f0
/* 802DFA1C 002DC95C 7F C3 F3 78 */ mr r3, r30
/* 802DFA20 002DC960 81 9E 00 00 */ lwz r12, 0(r30)
/* 802DFA24 002DC964 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 802DFA28 002DC968 7D 89 03 A6 */ mtctr r12
/* 802DFA2C 002DC96C 4E 80 04 21 */ bctrl
/* 802DFA30 002DC970 C8 22 C5 F8 */ lfd f1, lbl_80455FF8-_SDA2_BASE_(r2)
/* 802DFA34 002DC974 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 802DFA38 002DC978 90 01 00 24 */ stw r0, 0x24(r1)
/* 802DFA3C 002DC97C 3C 00 43 30 */ lis r0, 0x4330
/* 802DFA40 002DC980 90 01 00 20 */ stw r0, 0x20(r1)
/* 802DFA44 002DC984 C8 01 00 20 */ lfd f0, 0x20(r1)
/* 802DFA48 002DC988 EC 00 08 28 */ fsubs f0, f0, f1
/* 802DFA4C 002DC98C EF 9C 00 24 */ fdivs f28, f28, f0
/* 802DFA50 002DC990 7F C3 F3 78 */ mr r3, r30
/* 802DFA54 002DC994 81 9E 00 00 */ lwz r12, 0(r30)
/* 802DFA58 002DC998 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 802DFA5C 002DC99C 7D 89 03 A6 */ mtctr r12
/* 802DFA60 002DC9A0 4E 80 04 21 */ bctrl
/* 802DFA64 002DC9A4 C8 22 C5 F8 */ lfd f1, lbl_80455FF8-_SDA2_BASE_(r2)
/* 802DFA68 002DC9A8 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 802DFA6C 002DC9AC 90 01 00 2C */ stw r0, 0x2c(r1)
/* 802DFA70 002DC9B0 3C 00 43 30 */ lis r0, 0x4330
/* 802DFA74 002DC9B4 90 01 00 28 */ stw r0, 0x28(r1)
/* 802DFA78 002DC9B8 C8 01 00 28 */ lfd f0, 0x28(r1)
/* 802DFA7C 002DC9BC EC 00 08 28 */ fsubs f0, f0, f1
/* 802DFA80 002DC9C0 EC 00 07 32 */ fmuls f0, f0, f28
/* 802DFA84 002DC9C4 EF 7B 00 2A */ fadds f27, f27, f0
/* 802DFA88 002DC9C8 80 BE 00 1C */ lwz r5, 0x1c(r30)
/* 802DFA8C 002DC9CC 54 A4 78 20 */ slwi r4, r5, 0xf
/* 802DFA90 002DC9D0 80 7E 00 58 */ lwz r3, 0x58(r30)
/* 802DFA94 002DC9D4 A0 1E 00 66 */ lhz r0, 0x66(r30)
/* 802DFA98 002DC9D8 54 00 10 3A */ slwi r0, r0, 2
/* 802DFA9C 002DC9DC 7C 63 00 2E */ lwzx r3, r3, r0
/* 802DFAA0 002DC9E0 A0 C3 00 1A */ lhz r6, 0x1a(r3)
/* 802DFAA4 002DC9E4 7F E4 33 D6 */ divw r31, r4, r6
/* 802DFAA8 002DC9E8 80 9E 00 20 */ lwz r4, 0x20(r30)
/* 802DFAAC 002DC9EC 54 80 78 20 */ slwi r0, r4, 0xf
/* 802DFAB0 002DC9F0 A0 E3 00 1C */ lhz r7, 0x1c(r3)
/* 802DFAB4 002DC9F4 7F A0 3B D6 */ divw r29, r0, r7
/* 802DFAB8 002DC9F8 A0 03 00 0C */ lhz r0, 0xc(r3)
/* 802DFABC 002DC9FC 7C 05 02 14 */ add r0, r5, r0
/* 802DFAC0 002DCA00 54 00 78 20 */ slwi r0, r0, 0xf
/* 802DFAC4 002DCA04 7F 80 33 D6 */ divw r28, r0, r6
/* 802DFAC8 002DCA08 A0 03 00 0E */ lhz r0, 0xe(r3)
/* 802DFACC 002DCA0C 7C 04 02 14 */ add r0, r4, r0
/* 802DFAD0 002DCA10 54 00 78 20 */ slwi r0, r0, 0xf
/* 802DFAD4 002DCA14 7F 60 3B D6 */ divw r27, r0, r7
/* 802DFAD8 002DCA18 38 60 00 00 */ li r3, 0
/* 802DFADC 002DCA1C 38 80 00 09 */ li r4, 9
/* 802DFAE0 002DCA20 38 A0 00 01 */ li r5, 1
/* 802DFAE4 002DCA24 38 C0 00 04 */ li r6, 4
/* 802DFAE8 002DCA28 38 E0 00 00 */ li r7, 0
/* 802DFAEC 002DCA2C 48 07 BA D9 */ bl GXSetVtxAttrFmt
/* 802DFAF0 002DCA30 38 60 00 80 */ li r3, 0x80
/* 802DFAF4 002DCA34 38 80 00 00 */ li r4, 0
/* 802DFAF8 002DCA38 38 A0 00 04 */ li r5, 4
/* 802DFAFC 002DCA3C 48 07 CC 69 */ bl GXBegin
/* 802DFB00 002DCA40 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 802DFB04 002DCA44 D3 E3 80 00 */ stfs f31, 0xCC008000@l(r3)
/* 802DFB08 002DCA48 D3 43 80 00 */ stfs f26, -0x8000(r3)
/* 802DFB0C 002DCA4C C0 02 C5 F0 */ lfs f0, lbl_80455FF0-_SDA2_BASE_(r2)
/* 802DFB10 002DCA50 D0 03 80 00 */ stfs f0, -0x8000(r3)
/* 802DFB14 002DCA54 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 802DFB18 002DCA58 90 03 80 00 */ stw r0, -0x8000(r3)
/* 802DFB1C 002DCA5C B3 E3 80 00 */ sth r31, -0x8000(r3)
/* 802DFB20 002DCA60 B3 A3 80 00 */ sth r29, -0x8000(r3)
/* 802DFB24 002DCA64 D3 C3 80 00 */ stfs f30, -0x8000(r3)
/* 802DFB28 002DCA68 D3 43 80 00 */ stfs f26, -0x8000(r3)
/* 802DFB2C 002DCA6C C0 02 C5 F0 */ lfs f0, lbl_80455FF0-_SDA2_BASE_(r2)
/* 802DFB30 002DCA70 D0 03 80 00 */ stfs f0, -0x8000(r3)
/* 802DFB34 002DCA74 80 1E 00 10 */ lwz r0, 0x10(r30)
/* 802DFB38 002DCA78 90 03 80 00 */ stw r0, -0x8000(r3)
/* 802DFB3C 002DCA7C B3 83 80 00 */ sth r28, -0x8000(r3)
/* 802DFB40 002DCA80 B3 A3 80 00 */ sth r29, -0x8000(r3)
/* 802DFB44 002DCA84 D3 C3 80 00 */ stfs f30, -0x8000(r3)
/* 802DFB48 002DCA88 D3 63 80 00 */ stfs f27, -0x8000(r3)
/* 802DFB4C 002DCA8C C0 02 C5 F0 */ lfs f0, lbl_80455FF0-_SDA2_BASE_(r2)
/* 802DFB50 002DCA90 D0 03 80 00 */ stfs f0, -0x8000(r3)
/* 802DFB54 002DCA94 80 1E 00 18 */ lwz r0, 0x18(r30)
/* 802DFB58 002DCA98 90 03 80 00 */ stw r0, -0x8000(r3)
/* 802DFB5C 002DCA9C B3 83 80 00 */ sth r28, -0x8000(r3)
/* 802DFB60 002DCAA0 B3 63 80 00 */ sth r27, -0x8000(r3)
/* 802DFB64 002DCAA4 D3 E3 80 00 */ stfs f31, -0x8000(r3)
/* 802DFB68 002DCAA8 D3 63 80 00 */ stfs f27, -0x8000(r3)
/* 802DFB6C 002DCAAC C0 02 C5 F0 */ lfs f0, lbl_80455FF0-_SDA2_BASE_(r2)
/* 802DFB70 002DCAB0 D0 03 80 00 */ stfs f0, -0x8000(r3)
/* 802DFB74 002DCAB4 80 1E 00 14 */ lwz r0, 0x14(r30)
/* 802DFB78 002DCAB8 90 03 80 00 */ stw r0, -0x8000(r3)
/* 802DFB7C 002DCABC B3 E3 80 00 */ sth r31, -0x8000(r3)
/* 802DFB80 002DCAC0 B3 63 80 00 */ sth r27, -0x8000(r3)
/* 802DFB84 002DCAC4 38 60 00 00 */ li r3, 0
/* 802DFB88 002DCAC8 38 80 00 09 */ li r4, 9
/* 802DFB8C 002DCACC 38 A0 00 01 */ li r5, 1
/* 802DFB90 002DCAD0 38 C0 00 03 */ li r6, 3
/* 802DFB94 002DCAD4 38 E0 00 00 */ li r7, 0
/* 802DFB98 002DCAD8 48 07 BA 2D */ bl GXSetVtxAttrFmt
/* 802DFB9C 002DCADC FC 20 E8 90 */ fmr f1, f29
/* 802DFBA0 002DCAE0 E3 E1 00 A8 */ psq_l f31, 168(r1), 0, 0
/* 802DFBA4 002DCAE4 CB E1 00 A0 */ lfd f31, 0xa0(r1)
/* 802DFBA8 002DCAE8 E3 C1 00 98 */ psq_l f30, 152(r1), 0, 0
/* 802DFBAC 002DCAEC CB C1 00 90 */ lfd f30, 0x90(r1)
/* 802DFBB0 002DCAF0 E3 A1 00 88 */ psq_l f29, 136(r1), 0, 0
/* 802DFBB4 002DCAF4 CB A1 00 80 */ lfd f29, 0x80(r1)
/* 802DFBB8 002DCAF8 E3 81 00 78 */ psq_l f28, 120(r1), 0, 0
/* 802DFBBC 002DCAFC CB 81 00 70 */ lfd f28, 0x70(r1)
/* 802DFBC0 002DCB00 E3 61 00 68 */ psq_l f27, 104(r1), 0, 0
/* 802DFBC4 002DCB04 CB 61 00 60 */ lfd f27, 0x60(r1)
/* 802DFBC8 002DCB08 E3 41 00 58 */ psq_l f26, 88(r1), 0, 0
/* 802DFBCC 002DCB0C CB 41 00 50 */ lfd f26, 0x50(r1)
/* 802DFBD0 002DCB10 39 61 00 50 */ addi r11, r1, 0x50
/* 802DFBD4 002DCB14 48 08 26 4D */ bl _restgpr_27
/* 802DFBD8 002DCB18 80 01 00 B4 */ lwz r0, 0xb4(r1)
/* 802DFBDC 002DCB1C 7C 08 03 A6 */ mtlr r0
/* 802DFBE0 002DCB20 38 21 00 B0 */ addi r1, r1, 0xb0
/* 802DFBE4 002DCB24 4E 80 00 20 */ blr
@@ -0,0 +1,110 @@
/* 802DFDD8 002DCD18 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802DFDDC 002DCD1C 7C 08 02 A6 */ mflr r0
/* 802DFDE0 002DCD20 90 01 00 24 */ stw r0, 0x24(r1)
/* 802DFDE4 002DCD24 39 61 00 20 */ addi r11, r1, 0x20
/* 802DFDE8 002DCD28 48 08 23 F5 */ bl _savegpr_29
/* 802DFDEC 002DCD2C 7C 7D 1B 78 */ mr r29, r3
/* 802DFDF0 002DCD30 7C 9E 23 78 */ mr r30, r4
/* 802DFDF4 002DCD34 80 83 00 4C */ lwz r4, 0x4c(r3)
/* 802DFDF8 002DCD38 A3 E4 00 12 */ lhz r31, 0x12(r4)
/* 802DFDFC 002DCD3C 81 83 00 00 */ lwz r12, 0(r3)
/* 802DFE00 002DCD40 81 8C 00 38 */ lwz r12, 0x38(r12)
/* 802DFE04 002DCD44 7D 89 03 A6 */ mtctr r12
/* 802DFE08 002DCD48 4E 80 04 21 */ bctrl
/* 802DFE0C 002DCD4C 2C 03 00 02 */ cmpwi r3, 2
/* 802DFE10 002DCD50 40 82 00 34 */ bne lbl_802DFE44
/* 802DFE14 002DCD54 A0 1D 00 68 */ lhz r0, 0x68(r29)
/* 802DFE18 002DCD58 28 00 80 00 */ cmplwi r0, 0x8000
/* 802DFE1C 002DCD5C 41 80 00 28 */ blt lbl_802DFE44
/* 802DFE20 002DCD60 2C 1E 00 20 */ cmpwi r30, 0x20
/* 802DFE24 002DCD64 41 80 00 20 */ blt lbl_802DFE44
/* 802DFE28 002DCD68 28 1E 00 7F */ cmplwi r30, 0x7f
/* 802DFE2C 002DCD6C 40 80 00 18 */ bge lbl_802DFE44
/* 802DFE30 002DCD70 3C 60 80 3A */ lis r3, lbl_8039D39C@ha
/* 802DFE34 002DCD74 38 63 D3 9C */ addi r3, r3, lbl_8039D39C@l
/* 802DFE38 002DCD78 57 C0 08 3C */ slwi r0, r30, 1
/* 802DFE3C 002DCD7C 7C 63 02 14 */ add r3, r3, r0
/* 802DFE40 002DCD80 A3 C3 FF C0 */ lhz r30, -0x40(r3)
lbl_802DFE44:
/* 802DFE44 002DCD84 38 60 00 00 */ li r3, 0
/* 802DFE48 002DCD88 A0 1D 00 64 */ lhz r0, 0x64(r29)
/* 802DFE4C 002DCD8C 80 9D 00 5C */ lwz r4, 0x5c(r29)
/* 802DFE50 002DCD90 7C 09 03 A6 */ mtctr r0
/* 802DFE54 002DCD94 2C 00 00 00 */ cmpwi r0, 0
/* 802DFE58 002DCD98 40 81 00 EC */ ble lbl_802DFF44
lbl_802DFE5C:
/* 802DFE5C 002DCD9C 7C C4 18 2E */ lwzx r6, r4, r3
/* 802DFE60 002DCDA0 A0 A6 00 0A */ lhz r5, 0xa(r6)
/* 802DFE64 002DCDA4 7C 05 F0 00 */ cmpw r5, r30
/* 802DFE68 002DCDA8 41 81 00 D4 */ bgt lbl_802DFF3C
/* 802DFE6C 002DCDAC A0 06 00 0C */ lhz r0, 0xc(r6)
/* 802DFE70 002DCDB0 7C 1E 00 00 */ cmpw r30, r0
/* 802DFE74 002DCDB4 41 81 00 C8 */ bgt lbl_802DFF3C
/* 802DFE78 002DCDB8 A0 06 00 08 */ lhz r0, 8(r6)
/* 802DFE7C 002DCDBC 28 00 00 00 */ cmplwi r0, 0
/* 802DFE80 002DCDC0 40 82 00 0C */ bne lbl_802DFE8C
/* 802DFE84 002DCDC4 7F E5 F0 50 */ subf r31, r5, r30
/* 802DFE88 002DCDC8 48 00 00 BC */ b lbl_802DFF44
lbl_802DFE8C:
/* 802DFE8C 002DCDCC 28 00 00 02 */ cmplwi r0, 2
/* 802DFE90 002DCDD0 40 82 00 18 */ bne lbl_802DFEA8
/* 802DFE94 002DCDD4 7C 05 F0 50 */ subf r0, r5, r30
/* 802DFE98 002DCDD8 54 00 08 3C */ slwi r0, r0, 1
/* 802DFE9C 002DCDDC 7C 66 02 14 */ add r3, r6, r0
/* 802DFEA0 002DCDE0 A3 E3 00 10 */ lhz r31, 0x10(r3)
/* 802DFEA4 002DCDE4 48 00 00 A0 */ b lbl_802DFF44
lbl_802DFEA8:
/* 802DFEA8 002DCDE8 28 00 00 03 */ cmplwi r0, 3
/* 802DFEAC 002DCDEC 40 82 00 60 */ bne lbl_802DFF0C
/* 802DFEB0 002DCDF0 38 86 00 10 */ addi r4, r6, 0x10
/* 802DFEB4 002DCDF4 38 A0 00 00 */ li r5, 0
/* 802DFEB8 002DCDF8 A0 66 00 0E */ lhz r3, 0xe(r6)
/* 802DFEBC 002DCDFC 38 C3 FF FF */ addi r6, r3, -1
/* 802DFEC0 002DCE00 48 00 00 40 */ b lbl_802DFF00
lbl_802DFEC4:
/* 802DFEC4 002DCE04 7C 06 2A 14 */ add r0, r6, r5
/* 802DFEC8 002DCE08 7C 00 0E 70 */ srawi r0, r0, 1
/* 802DFECC 002DCE0C 7C E0 01 94 */ addze r7, r0
/* 802DFED0 002DCE10 54 E3 10 3A */ slwi r3, r7, 2
/* 802DFED4 002DCE14 7C 04 1A 2E */ lhzx r0, r4, r3
/* 802DFED8 002DCE18 7C 1E 00 00 */ cmpw r30, r0
/* 802DFEDC 002DCE1C 40 80 00 0C */ bge lbl_802DFEE8
/* 802DFEE0 002DCE20 38 C7 FF FF */ addi r6, r7, -1
/* 802DFEE4 002DCE24 48 00 00 1C */ b lbl_802DFF00
lbl_802DFEE8:
/* 802DFEE8 002DCE28 40 81 00 0C */ ble lbl_802DFEF4
/* 802DFEEC 002DCE2C 38 A7 00 01 */ addi r5, r7, 1
/* 802DFEF0 002DCE30 48 00 00 10 */ b lbl_802DFF00
lbl_802DFEF4:
/* 802DFEF4 002DCE34 7C 64 1A 14 */ add r3, r4, r3
/* 802DFEF8 002DCE38 A3 E3 00 02 */ lhz r31, 2(r3)
/* 802DFEFC 002DCE3C 48 00 00 48 */ b lbl_802DFF44
lbl_802DFF00:
/* 802DFF00 002DCE40 7C 06 28 00 */ cmpw r6, r5
/* 802DFF04 002DCE44 40 80 FF C0 */ bge lbl_802DFEC4
/* 802DFF08 002DCE48 48 00 00 3C */ b lbl_802DFF44
lbl_802DFF0C:
/* 802DFF0C 002DCE4C 28 00 00 01 */ cmplwi r0, 1
/* 802DFF10 002DCE50 40 82 00 34 */ bne lbl_802DFF44
/* 802DFF14 002DCE54 38 A0 00 00 */ li r5, 0
/* 802DFF18 002DCE58 A0 06 00 0E */ lhz r0, 0xe(r6)
/* 802DFF1C 002DCE5C 28 00 00 01 */ cmplwi r0, 1
/* 802DFF20 002DCE60 40 82 00 08 */ bne lbl_802DFF28
/* 802DFF24 002DCE64 38 A6 00 10 */ addi r5, r6, 0x10
lbl_802DFF28:
/* 802DFF28 002DCE68 7F A3 EB 78 */ mr r3, r29
/* 802DFF2C 002DCE6C 7F C4 F3 78 */ mr r4, r30
/* 802DFF30 002DCE70 48 00 01 95 */ bl convertSjis__10JUTResFontFlPUs
/* 802DFF34 002DCE74 7C 7F 1B 78 */ mr r31, r3
/* 802DFF38 002DCE78 48 00 00 0C */ b lbl_802DFF44
lbl_802DFF3C:
/* 802DFF3C 002DCE7C 38 63 00 04 */ addi r3, r3, 4
/* 802DFF40 002DCE80 42 00 FF 1C */ bdnz lbl_802DFE5C
lbl_802DFF44:
/* 802DFF44 002DCE84 7F E3 FB 78 */ mr r3, r31
/* 802DFF48 002DCE88 39 61 00 20 */ addi r11, r1, 0x20
/* 802DFF4C 002DCE8C 48 08 22 DD */ bl _restgpr_29
/* 802DFF50 002DCE90 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802DFF54 002DCE94 7C 08 03 A6 */ mtlr r0
/* 802DFF58 002DCE98 38 21 00 20 */ addi r1, r1, 0x20
/* 802DFF5C 002DCE9C 4E 80 00 20 */ blr
@@ -0,0 +1,45 @@
/* 802DFC64 002DCBA4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802DFC68 002DCBA8 7C 08 02 A6 */ mflr r0
/* 802DFC6C 002DCBAC 90 01 00 14 */ stw r0, 0x14(r1)
/* 802DFC70 002DCBB0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802DFC74 002DCBB4 93 C1 00 08 */ stw r30, 8(r1)
/* 802DFC78 002DCBB8 7C 7E 1B 78 */ mr r30, r3
/* 802DFC7C 002DCBBC 7C BF 2B 78 */ mr r31, r5
/* 802DFC80 002DCBC0 48 00 01 59 */ bl getFontCode__10JUTResFontFl
/* 802DFC84 002DCBC4 38 A0 00 00 */ li r5, 0
/* 802DFC88 002DCBC8 98 BF 00 00 */ stb r5, 0(r31)
/* 802DFC8C 002DCBCC 80 9E 00 4C */ lwz r4, 0x4c(r30)
/* 802DFC90 002DCBD0 A0 04 00 0E */ lhz r0, 0xe(r4)
/* 802DFC94 002DCBD4 98 1F 00 01 */ stb r0, 1(r31)
/* 802DFC98 002DCBD8 A0 1E 00 60 */ lhz r0, 0x60(r30)
/* 802DFC9C 002DCBDC 80 9E 00 54 */ lwz r4, 0x54(r30)
/* 802DFCA0 002DCBE0 7C 09 03 A6 */ mtctr r0
/* 802DFCA4 002DCBE4 2C 00 00 00 */ cmpwi r0, 0
/* 802DFCA8 002DCBE8 40 81 00 4C */ ble lbl_802DFCF4
lbl_802DFCAC:
/* 802DFCAC 002DCBEC 7C C4 28 2E */ lwzx r6, r4, r5
/* 802DFCB0 002DCBF0 A0 E6 00 08 */ lhz r7, 8(r6)
/* 802DFCB4 002DCBF4 7C 07 18 00 */ cmpw r7, r3
/* 802DFCB8 002DCBF8 41 81 00 34 */ bgt lbl_802DFCEC
/* 802DFCBC 002DCBFC A0 06 00 0A */ lhz r0, 0xa(r6)
/* 802DFCC0 002DCC00 7C 03 00 00 */ cmpw r3, r0
/* 802DFCC4 002DCC04 41 81 00 28 */ bgt lbl_802DFCEC
/* 802DFCC8 002DCC08 7C 07 18 50 */ subf r0, r7, r3
/* 802DFCCC 002DCC0C 54 03 08 3C */ slwi r3, r0, 1
/* 802DFCD0 002DCC10 38 63 00 0C */ addi r3, r3, 0xc
/* 802DFCD4 002DCC14 7C 66 1A 14 */ add r3, r6, r3
/* 802DFCD8 002DCC18 88 03 00 00 */ lbz r0, 0(r3)
/* 802DFCDC 002DCC1C 98 1F 00 00 */ stb r0, 0(r31)
/* 802DFCE0 002DCC20 88 03 00 01 */ lbz r0, 1(r3)
/* 802DFCE4 002DCC24 98 1F 00 01 */ stb r0, 1(r31)
/* 802DFCE8 002DCC28 48 00 00 0C */ b lbl_802DFCF4
lbl_802DFCEC:
/* 802DFCEC 002DCC2C 38 A5 00 04 */ addi r5, r5, 4
/* 802DFCF0 002DCC30 42 00 FF BC */ bdnz lbl_802DFCAC
lbl_802DFCF4:
/* 802DFCF4 002DCC34 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802DFCF8 002DCC38 83 C1 00 08 */ lwz r30, 8(r1)
/* 802DFCFC 002DCC3C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802DFD00 002DCC40 7C 08 03 A6 */ mtlr r0
/* 802DFD04 002DCC44 38 21 00 10 */ addi r1, r1, 0x10
/* 802DFD08 002DCC48 4E 80 00 20 */ blr
@@ -0,0 +1,95 @@
/* 802DFF60 002DCEA0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802DFF64 002DCEA4 7C 08 02 A6 */ mflr r0
/* 802DFF68 002DCEA8 90 01 00 24 */ stw r0, 0x24(r1)
/* 802DFF6C 002DCEAC 39 61 00 20 */ addi r11, r1, 0x20
/* 802DFF70 002DCEB0 48 08 22 69 */ bl _savegpr_28
/* 802DFF74 002DCEB4 7C 7C 1B 78 */ mr r28, r3
/* 802DFF78 002DCEB8 7C BD 2B 78 */ mr r29, r5
/* 802DFF7C 002DCEBC 3B E0 00 00 */ li r31, 0
/* 802DFF80 002DCEC0 38 60 00 00 */ li r3, 0
/* 802DFF84 002DCEC4 A0 FC 00 62 */ lhz r7, 0x62(r28)
/* 802DFF88 002DCEC8 7C E9 03 A6 */ mtctr r7
/* 802DFF8C 002DCECC 2C 07 00 00 */ cmpwi r7, 0
/* 802DFF90 002DCED0 40 81 00 38 */ ble lbl_802DFFC8
lbl_802DFF94:
/* 802DFF94 002DCED4 80 BC 00 58 */ lwz r5, 0x58(r28)
/* 802DFF98 002DCED8 7C A5 18 2E */ lwzx r5, r5, r3
/* 802DFF9C 002DCEDC A0 C5 00 08 */ lhz r6, 8(r5)
/* 802DFFA0 002DCEE0 7C 06 20 00 */ cmpw r6, r4
/* 802DFFA4 002DCEE4 41 81 00 18 */ bgt lbl_802DFFBC
/* 802DFFA8 002DCEE8 A0 05 00 0A */ lhz r0, 0xa(r5)
/* 802DFFAC 002DCEEC 7C 04 00 00 */ cmpw r4, r0
/* 802DFFB0 002DCEF0 41 81 00 0C */ bgt lbl_802DFFBC
/* 802DFFB4 002DCEF4 7C 86 20 50 */ subf r4, r6, r4
/* 802DFFB8 002DCEF8 48 00 00 10 */ b lbl_802DFFC8
lbl_802DFFBC:
/* 802DFFBC 002DCEFC 3B FF 00 01 */ addi r31, r31, 1
/* 802DFFC0 002DCF00 38 63 00 04 */ addi r3, r3, 4
/* 802DFFC4 002DCF04 42 00 FF D0 */ bdnz lbl_802DFF94
lbl_802DFFC8:
/* 802DFFC8 002DCF08 7C 1F 38 00 */ cmpw r31, r7
/* 802DFFCC 002DCF0C 41 82 00 E0 */ beq lbl_802E00AC
/* 802DFFD0 002DCF10 80 7C 00 58 */ lwz r3, 0x58(r28)
/* 802DFFD4 002DCF14 57 E6 10 3A */ slwi r6, r31, 2
/* 802DFFD8 002DCF18 7C A3 30 2E */ lwzx r5, r3, r6
/* 802DFFDC 002DCF1C A0 65 00 16 */ lhz r3, 0x16(r5)
/* 802DFFE0 002DCF20 A0 05 00 18 */ lhz r0, 0x18(r5)
/* 802DFFE4 002DCF24 7C 03 01 D6 */ mullw r0, r3, r0
/* 802DFFE8 002DCF28 7F C4 03 D6 */ divw r30, r4, r0
/* 802DFFEC 002DCF2C 7C 1E 01 D6 */ mullw r0, r30, r0
/* 802DFFF0 002DCF30 7C 80 20 50 */ subf r4, r0, r4
/* 802DFFF4 002DCF34 7C E4 1B D6 */ divw r7, r4, r3
/* 802DFFF8 002DCF38 7C 07 19 D6 */ mullw r0, r7, r3
/* 802DFFFC 002DCF3C 7C 60 20 50 */ subf r3, r0, r4
/* 802E0000 002DCF40 A0 05 00 0C */ lhz r0, 0xc(r5)
/* 802E0004 002DCF44 7C 03 01 D6 */ mullw r0, r3, r0
/* 802E0008 002DCF48 90 1C 00 1C */ stw r0, 0x1c(r28)
/* 802E000C 002DCF4C 80 7C 00 58 */ lwz r3, 0x58(r28)
/* 802E0010 002DCF50 7C 63 30 2E */ lwzx r3, r3, r6
/* 802E0014 002DCF54 A0 03 00 0E */ lhz r0, 0xe(r3)
/* 802E0018 002DCF58 7C 07 01 D6 */ mullw r0, r7, r0
/* 802E001C 002DCF5C 90 1C 00 20 */ stw r0, 0x20(r28)
/* 802E0020 002DCF60 80 1C 00 44 */ lwz r0, 0x44(r28)
/* 802E0024 002DCF64 7C 1E 00 00 */ cmpw r30, r0
/* 802E0028 002DCF68 40 82 00 10 */ bne lbl_802E0038
/* 802E002C 002DCF6C A0 1C 00 66 */ lhz r0, 0x66(r28)
/* 802E0030 002DCF70 7C 1F 00 00 */ cmpw r31, r0
/* 802E0034 002DCF74 41 82 00 6C */ beq lbl_802E00A0
lbl_802E0038:
/* 802E0038 002DCF78 80 7C 00 58 */ lwz r3, 0x58(r28)
/* 802E003C 002DCF7C 7C E3 30 2E */ lwzx r7, r3, r6
/* 802E0040 002DCF80 38 7C 00 24 */ addi r3, r28, 0x24
/* 802E0044 002DCF84 80 07 00 10 */ lwz r0, 0x10(r7)
/* 802E0048 002DCF88 7C 9E 01 D6 */ mullw r4, r30, r0
/* 802E004C 002DCF8C 38 84 00 20 */ addi r4, r4, 0x20
/* 802E0050 002DCF90 7C 87 22 14 */ add r4, r7, r4
/* 802E0054 002DCF94 A0 A7 00 1A */ lhz r5, 0x1a(r7)
/* 802E0058 002DCF98 A0 C7 00 1C */ lhz r6, 0x1c(r7)
/* 802E005C 002DCF9C A0 E7 00 14 */ lhz r7, 0x14(r7)
/* 802E0060 002DCFA0 39 00 00 00 */ li r8, 0
/* 802E0064 002DCFA4 39 20 00 00 */ li r9, 0
/* 802E0068 002DCFA8 39 40 00 00 */ li r10, 0
/* 802E006C 002DCFAC 48 07 DD D5 */ bl GXInitTexObj
/* 802E0070 002DCFB0 38 7C 00 24 */ addi r3, r28, 0x24
/* 802E0074 002DCFB4 38 80 00 01 */ li r4, 1
/* 802E0078 002DCFB8 38 A0 00 01 */ li r5, 1
/* 802E007C 002DCFBC C0 22 C5 F0 */ lfs f1, lbl_80455FF0-_SDA2_BASE_(r2)
/* 802E0080 002DCFC0 FC 40 08 90 */ fmr f2, f1
/* 802E0084 002DCFC4 FC 60 08 90 */ fmr f3, f1
/* 802E0088 002DCFC8 38 C0 00 00 */ li r6, 0
/* 802E008C 002DCFCC 38 E0 00 00 */ li r7, 0
/* 802E0090 002DCFD0 39 00 00 00 */ li r8, 0
/* 802E0094 002DCFD4 48 07 E0 41 */ bl GXInitTexObjLOD
/* 802E0098 002DCFD8 93 DC 00 44 */ stw r30, 0x44(r28)
/* 802E009C 002DCFDC B3 FC 00 66 */ sth r31, 0x66(r28)
lbl_802E00A0:
/* 802E00A0 002DCFE0 38 7C 00 24 */ addi r3, r28, 0x24
/* 802E00A4 002DCFE4 7F A4 EB 78 */ mr r4, r29
/* 802E00A8 002DCFE8 48 07 E3 6D */ bl GXLoadTexObj
lbl_802E00AC:
/* 802E00AC 002DCFEC 39 61 00 20 */ addi r11, r1, 0x20
/* 802E00B0 002DCFF0 48 08 21 75 */ bl _restgpr_28
/* 802E00B4 002DCFF4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802E00B8 002DCFF8 7C 08 03 A6 */ mtlr r0
/* 802E00BC 002DCFFC 38 21 00 20 */ addi r1, r1, 0x20
/* 802E00C0 002DD000 4E 80 00 20 */ blr
@@ -0,0 +1,73 @@
/* 802DF13C 002DC07C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802DF140 002DC080 7C 08 02 A6 */ mflr r0
/* 802DF144 002DC084 90 01 00 24 */ stw r0, 0x24(r1)
/* 802DF148 002DC088 39 61 00 20 */ addi r11, r1, 0x20
/* 802DF14C 002DC08C 48 08 30 91 */ bl _savegpr_29
/* 802DF150 002DC090 7C 7D 1B 78 */ mr r29, r3
/* 802DF154 002DC094 7C 9E 23 78 */ mr r30, r4
/* 802DF158 002DC098 7C BF 2B 78 */ mr r31, r5
/* 802DF15C 002DC09C 4B FF FF 31 */ bl deleteMemBlocks_ResFont__10JUTResFontFv
/* 802DF160 002DC0A0 7F A3 EB 78 */ mr r3, r29
/* 802DF164 002DC0A4 4B FF FF 4D */ bl initialize_state__10JUTResFontFv
/* 802DF168 002DC0A8 7F A3 EB 78 */ mr r3, r29
/* 802DF16C 002DC0AC 4B FF FB B9 */ bl initialize_state__7JUTFontFv
/* 802DF170 002DC0B0 28 1E 00 00 */ cmplwi r30, 0
/* 802DF174 002DC0B4 40 82 00 0C */ bne lbl_802DF180
/* 802DF178 002DC0B8 38 60 00 00 */ li r3, 0
/* 802DF17C 002DC0BC 48 00 00 B4 */ b lbl_802DF230
lbl_802DF180:
/* 802DF180 002DC0C0 93 DD 00 48 */ stw r30, 0x48(r29)
/* 802DF184 002DC0C4 38 00 00 01 */ li r0, 1
/* 802DF188 002DC0C8 98 1D 00 04 */ stb r0, 4(r29)
/* 802DF18C 002DC0CC 7F A3 EB 78 */ mr r3, r29
/* 802DF190 002DC0D0 48 00 00 B9 */ bl countBlock__10JUTResFontFv
/* 802DF194 002DC0D4 A0 9D 00 64 */ lhz r4, 0x64(r29)
/* 802DF198 002DC0D8 A0 7D 00 60 */ lhz r3, 0x60(r29)
/* 802DF19C 002DC0DC A0 1D 00 62 */ lhz r0, 0x62(r29)
/* 802DF1A0 002DC0E0 7C 00 22 14 */ add r0, r0, r4
/* 802DF1A4 002DC0E4 7C 03 02 14 */ add r0, r3, r0
/* 802DF1A8 002DC0E8 54 03 10 3A */ slwi r3, r0, 2
/* 802DF1AC 002DC0EC 7F E4 FB 78 */ mr r4, r31
/* 802DF1B0 002DC0F0 38 A0 00 00 */ li r5, 0
/* 802DF1B4 002DC0F4 4B FE FB 5D */ bl __nwa__FUlP7JKRHeapi
/* 802DF1B8 002DC0F8 90 7D 00 50 */ stw r3, 0x50(r29)
/* 802DF1BC 002DC0FC 80 7D 00 50 */ lwz r3, 0x50(r29)
/* 802DF1C0 002DC100 28 03 00 00 */ cmplwi r3, 0
/* 802DF1C4 002DC104 40 82 00 0C */ bne lbl_802DF1D0
/* 802DF1C8 002DC108 38 60 00 00 */ li r3, 0
/* 802DF1CC 002DC10C 48 00 00 64 */ b lbl_802DF230
lbl_802DF1D0:
/* 802DF1D0 002DC110 A0 1D 00 60 */ lhz r0, 0x60(r29)
/* 802DF1D4 002DC114 28 00 00 00 */ cmplwi r0, 0
/* 802DF1D8 002DC118 41 82 00 14 */ beq lbl_802DF1EC
/* 802DF1DC 002DC11C 90 7D 00 54 */ stw r3, 0x54(r29)
/* 802DF1E0 002DC120 A0 1D 00 60 */ lhz r0, 0x60(r29)
/* 802DF1E4 002DC124 54 00 10 3A */ slwi r0, r0, 2
/* 802DF1E8 002DC128 7C 63 02 14 */ add r3, r3, r0
lbl_802DF1EC:
/* 802DF1EC 002DC12C A0 1D 00 62 */ lhz r0, 0x62(r29)
/* 802DF1F0 002DC130 28 00 00 00 */ cmplwi r0, 0
/* 802DF1F4 002DC134 41 82 00 14 */ beq lbl_802DF208
/* 802DF1F8 002DC138 90 7D 00 58 */ stw r3, 0x58(r29)
/* 802DF1FC 002DC13C A0 1D 00 62 */ lhz r0, 0x62(r29)
/* 802DF200 002DC140 54 00 10 3A */ slwi r0, r0, 2
/* 802DF204 002DC144 7C 63 02 14 */ add r3, r3, r0
lbl_802DF208:
/* 802DF208 002DC148 A0 1D 00 64 */ lhz r0, 0x64(r29)
/* 802DF20C 002DC14C 28 00 00 00 */ cmplwi r0, 0
/* 802DF210 002DC150 41 82 00 08 */ beq lbl_802DF218
/* 802DF214 002DC154 90 7D 00 5C */ stw r3, 0x5c(r29)
lbl_802DF218:
/* 802DF218 002DC158 7F A3 EB 78 */ mr r3, r29
/* 802DF21C 002DC15C 81 9D 00 00 */ lwz r12, 0(r29)
/* 802DF220 002DC160 81 8C 00 48 */ lwz r12, 0x48(r12)
/* 802DF224 002DC164 7D 89 03 A6 */ mtctr r12
/* 802DF228 002DC168 4E 80 04 21 */ bctrl
/* 802DF22C 002DC16C 38 60 00 01 */ li r3, 1
lbl_802DF230:
/* 802DF230 002DC170 39 61 00 20 */ addi r11, r1, 0x20
/* 802DF234 002DC174 48 08 2F F5 */ bl _restgpr_29
/* 802DF238 002DC178 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802DF23C 002DC17C 7C 08 03 A6 */ mtlr r0
/* 802DF240 002DC180 38 21 00 20 */ addi r1, r1, 0x20
/* 802DF244 002DC184 4E 80 00 20 */ blr
@@ -0,0 +1,92 @@
/* 802DF344 002DC284 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802DF348 002DC288 7C 08 02 A6 */ mflr r0
/* 802DF34C 002DC28C 90 01 00 34 */ stw r0, 0x34(r1)
/* 802DF350 002DC290 39 61 00 30 */ addi r11, r1, 0x30
/* 802DF354 002DC294 48 08 2E 79 */ bl func_803621CC
/* 802DF358 002DC298 7C 7C 1B 78 */ mr r28, r3
/* 802DF35C 002DC29C 3B 60 00 00 */ li r27, 0
/* 802DF360 002DC2A0 3B 40 00 00 */ li r26, 0
/* 802DF364 002DC2A4 3B 20 00 00 */ li r25, 0
/* 802DF368 002DC2A8 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
/* 802DF36C 002DC2AC 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l
/* 802DF370 002DC2B0 B0 1C 00 68 */ sth r0, 0x68(r28)
/* 802DF374 002DC2B4 80 7C 00 48 */ lwz r3, 0x48(r28)
/* 802DF378 002DC2B8 3B C3 00 20 */ addi r30, r3, 0x20
/* 802DF37C 002DC2BC 3B A0 00 00 */ li r29, 0
/* 802DF380 002DC2C0 3C 60 4D 41 */ lis r3, 0x4D415031@ha
/* 802DF384 002DC2C4 3B E3 50 31 */ addi r31, r3, 0x4D415031@l
/* 802DF388 002DC2C8 48 00 00 DC */ b lbl_802DF464
lbl_802DF38C:
/* 802DF38C 002DC2CC 80 9E 00 00 */ lwz r4, 0(r30)
/* 802DF390 002DC2D0 7C 04 F8 00 */ cmpw r4, r31
/* 802DF394 002DC2D4 41 82 00 88 */ beq lbl_802DF41C
/* 802DF398 002DC2D8 40 80 00 2C */ bge lbl_802DF3C4
/* 802DF39C 002DC2DC 3C 60 49 4E */ lis r3, 0x494E4631@ha
/* 802DF3A0 002DC2E0 38 03 46 31 */ addi r0, r3, 0x494E4631@l
/* 802DF3A4 002DC2E4 7C 04 00 00 */ cmpw r4, r0
/* 802DF3A8 002DC2E8 41 82 00 30 */ beq lbl_802DF3D8
/* 802DF3AC 002DC2EC 40 80 00 9C */ bge lbl_802DF448
/* 802DF3B0 002DC2F0 3C 60 47 4C */ lis r3, 0x474C5931@ha
/* 802DF3B4 002DC2F4 38 03 59 31 */ addi r0, r3, 0x474C5931@l
/* 802DF3B8 002DC2F8 7C 04 00 00 */ cmpw r4, r0
/* 802DF3BC 002DC2FC 41 82 00 50 */ beq lbl_802DF40C
/* 802DF3C0 002DC300 48 00 00 88 */ b lbl_802DF448
lbl_802DF3C4:
/* 802DF3C4 002DC304 3C 60 57 49 */ lis r3, 0x57494431@ha
/* 802DF3C8 002DC308 38 03 44 31 */ addi r0, r3, 0x57494431@l
/* 802DF3CC 002DC30C 7C 04 00 00 */ cmpw r4, r0
/* 802DF3D0 002DC310 41 82 00 2C */ beq lbl_802DF3FC
/* 802DF3D4 002DC314 48 00 00 74 */ b lbl_802DF448
lbl_802DF3D8:
/* 802DF3D8 002DC318 93 DC 00 4C */ stw r30, 0x4c(r28)
/* 802DF3DC 002DC31C 80 7C 00 4C */ lwz r3, 0x4c(r28)
/* 802DF3E0 002DC320 A0 03 00 08 */ lhz r0, 8(r3)
/* 802DF3E4 002DC324 54 04 10 3A */ slwi r4, r0, 2
/* 802DF3E8 002DC328 3C 60 80 3A */ lis r3, lbl_8039D390@ha
/* 802DF3EC 002DC32C 38 03 D3 90 */ addi r0, r3, lbl_8039D390@l
/* 802DF3F0 002DC330 7C 00 22 14 */ add r0, r0, r4
/* 802DF3F4 002DC334 90 1C 00 6C */ stw r0, 0x6c(r28)
/* 802DF3F8 002DC338 48 00 00 60 */ b lbl_802DF458
lbl_802DF3FC:
/* 802DF3FC 002DC33C 80 7C 00 54 */ lwz r3, 0x54(r28)
/* 802DF400 002DC340 7F C3 D9 2E */ stwx r30, r3, r27
/* 802DF404 002DC344 3B 7B 00 04 */ addi r27, r27, 4
/* 802DF408 002DC348 48 00 00 50 */ b lbl_802DF458
lbl_802DF40C:
/* 802DF40C 002DC34C 80 7C 00 58 */ lwz r3, 0x58(r28)
/* 802DF410 002DC350 7F C3 D1 2E */ stwx r30, r3, r26
/* 802DF414 002DC354 3B 5A 00 04 */ addi r26, r26, 4
/* 802DF418 002DC358 48 00 00 40 */ b lbl_802DF458
lbl_802DF41C:
/* 802DF41C 002DC35C 80 7C 00 5C */ lwz r3, 0x5c(r28)
/* 802DF420 002DC360 7F C3 C9 2E */ stwx r30, r3, r25
/* 802DF424 002DC364 A0 1C 00 68 */ lhz r0, 0x68(r28)
/* 802DF428 002DC368 80 7C 00 5C */ lwz r3, 0x5c(r28)
/* 802DF42C 002DC36C 7C 63 C8 2E */ lwzx r3, r3, r25
/* 802DF430 002DC370 A0 63 00 0A */ lhz r3, 0xa(r3)
/* 802DF434 002DC374 7C 00 18 40 */ cmplw r0, r3
/* 802DF438 002DC378 40 81 00 08 */ ble lbl_802DF440
/* 802DF43C 002DC37C B0 7C 00 68 */ sth r3, 0x68(r28)
lbl_802DF440:
/* 802DF440 002DC380 3B 39 00 04 */ addi r25, r25, 4
/* 802DF444 002DC384 48 00 00 14 */ b lbl_802DF458
lbl_802DF448:
/* 802DF448 002DC388 3C 60 80 3A */ lis r3, lbl_8039D45C@ha
/* 802DF44C 002DC38C 38 63 D4 5C */ addi r3, r3, lbl_8039D45C@l
/* 802DF450 002DC390 38 63 00 20 */ addi r3, r3, 0x20
/* 802DF454 002DC394 48 00 91 F5 */ bl JUTReportConsole
lbl_802DF458:
/* 802DF458 002DC398 80 1E 00 04 */ lwz r0, 4(r30)
/* 802DF45C 002DC39C 7F DE 02 14 */ add r30, r30, r0
/* 802DF460 002DC3A0 3B BD 00 01 */ addi r29, r29, 1
lbl_802DF464:
/* 802DF464 002DC3A4 80 7C 00 48 */ lwz r3, 0x48(r28)
/* 802DF468 002DC3A8 80 03 00 0C */ lwz r0, 0xc(r3)
/* 802DF46C 002DC3AC 7C 1D 00 40 */ cmplw r29, r0
/* 802DF470 002DC3B0 41 80 FF 1C */ blt lbl_802DF38C
/* 802DF474 002DC3B4 39 61 00 30 */ addi r11, r1, 0x30
/* 802DF478 002DC3B8 48 08 2D A1 */ bl func_80362218
/* 802DF47C 002DC3BC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802DF480 002DC3C0 7C 08 03 A6 */ mtlr r0
/* 802DF484 002DC3C4 38 21 00 30 */ addi r1, r1, 0x30
/* 802DF488 002DC3C8 4E 80 00 20 */ blr
+25
View File
@@ -0,0 +1,25 @@
#ifndef SCOMPONENT_C_BG_W_H
#define SCOMPONENT_C_BG_W_H
#include "global.h"
class cBgW_BgId {
public:
void Regist(int a1);
void Release();
unsigned int ChkUsed() const;
private:
unsigned short mId;
};
extern "C" {
bool cBgW_CheckBGround(float a1);
bool cBgW_CheckBRoof(float a1);
bool cBgW_CheckBWall(float a1);
} // extern "C"
#endif
+24
View File
@@ -0,0 +1,24 @@
#include "global.h"
namespace Z2Calc{
struct CurveSign{
// temp
};
class FNoise1f{
public:
void setParam(float, float, float);
float tau(float);
float calcNoise1f();
private:
float unk0;
float unk4;
float unk8;
float unk12;
};
float linearTransform(float, float, float, float, float, bool);
float getParamByExp(float, float, float, float, float, float, Z2Calc::CurveSign);
float getRandom(float, float, float);
float getRandom_0_1(void);
}
@@ -0,0 +1,29 @@
/* 802A968C 002A65CC EC C1 10 28 */ fsubs f6, f1, f2
/* 802A9690 002A65D0 EC 25 20 28 */ fsubs f1, f5, f4
/* 802A9694 002A65D4 EC 03 10 28 */ fsubs f0, f3, f2
/* 802A9698 002A65D8 EC 01 00 24 */ fdivs f0, f1, f0
/* 802A969C 002A65DC EC 06 00 32 */ fmuls f0, f6, f0
/* 802A96A0 002A65E0 EC 24 00 2A */ fadds f1, f4, f0
/* 802A96A4 002A65E4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802A96A8 002A65E8 4C 82 00 20 */ bnelr
/* 802A96AC 002A65EC FC 04 28 40 */ fcmpo cr0, f4, f5
/* 802A96B0 002A65F0 40 80 00 24 */ bge lbl_802A96D4
/* 802A96B4 002A65F4 FC 01 28 40 */ fcmpo cr0, f1, f5
/* 802A96B8 002A65F8 40 81 00 0C */ ble lbl_802A96C4
/* 802A96BC 002A65FC FC 20 28 90 */ fmr f1, f5
/* 802A96C0 002A6600 4E 80 00 20 */ blr
lbl_802A96C4:
/* 802A96C4 002A6604 FC 01 20 40 */ fcmpo cr0, f1, f4
/* 802A96C8 002A6608 4C 80 00 20 */ bgelr
/* 802A96CC 002A660C FC 20 20 90 */ fmr f1, f4
/* 802A96D0 002A6610 4E 80 00 20 */ blr
lbl_802A96D4:
/* 802A96D4 002A6614 FC 01 20 40 */ fcmpo cr0, f1, f4
/* 802A96D8 002A6618 40 81 00 0C */ ble lbl_802A96E4
/* 802A96DC 002A661C FC 20 20 90 */ fmr f1, f4
/* 802A96E0 002A6620 4E 80 00 20 */ blr
lbl_802A96E4:
/* 802A96E4 002A6624 FC 01 28 40 */ fcmpo cr0, f1, f5
/* 802A96E8 002A6628 4C 80 00 20 */ bgelr
/* 802A96EC 002A662C FC 20 28 90 */ fmr f1, f5
/* 802A96F0 002A6630 4E 80 00 20 */ blr
@@ -0,0 +1,77 @@
/* 802A96F4 002A6634 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 802A96F8 002A6638 7C 08 02 A6 */ mflr r0
/* 802A96FC 002A663C 90 01 00 54 */ stw r0, 0x54(r1)
/* 802A9700 002A6640 DB E1 00 40 */ stfd f31, 0x40(r1)
/* 802A9704 002A6644 F3 E1 00 48 */ psq_st f31, 72(r1), 0, 0
/* 802A9708 002A6648 DB C1 00 30 */ stfd f30, 0x30(r1)
/* 802A970C 002A664C F3 C1 00 38 */ psq_st f30, 56(r1), 0, 0
/* 802A9710 002A6650 DB A1 00 20 */ stfd f29, 0x20(r1)
/* 802A9714 002A6654 F3 A1 00 28 */ psq_st f29, 40(r1), 0, 0
/* 802A9718 002A6658 DB 81 00 10 */ stfd f28, 0x10(r1)
/* 802A971C 002A665C F3 81 00 18 */ psq_st f28, 24(r1), 0, 0
/* 802A9720 002A6660 FF 80 20 90 */ fmr f28, f4
/* 802A9724 002A6664 FF A0 28 90 */ fmr f29, f5
/* 802A9728 002A6668 FF C0 30 90 */ fmr f30, f6
/* 802A972C 002A666C 2C 03 00 01 */ cmpwi r3, 1
/* 802A9730 002A6670 40 82 00 44 */ bne lbl_802A9774
/* 802A9734 002A6674 C0 82 BE 28 */ lfs f4, lbl_80455828-_SDA2_BASE_(r2)
/* 802A9738 002A6678 FC A0 E0 90 */ fmr f5, f28
/* 802A973C 002A667C 38 60 00 01 */ li r3, 1
/* 802A9740 002A6680 4B FF FF 4D */ bl linearTransform__6Z2CalcFfffffb
/* 802A9744 002A6684 48 0C 2F FD */ bl func_8036C740
/* 802A9748 002A6688 FF E0 08 18 */ frsp f31, f1
/* 802A974C 002A668C FC 20 E0 90 */ fmr f1, f28
/* 802A9750 002A6690 48 0C 2F F1 */ bl func_8036C740
/* 802A9754 002A6694 FC 60 08 18 */ frsp f3, f1
/* 802A9758 002A6698 FC 20 F8 90 */ fmr f1, f31
/* 802A975C 002A669C C0 42 BE 2C */ lfs f2, lbl_8045582C-_SDA2_BASE_(r2)
/* 802A9760 002A66A0 FC 80 E8 90 */ fmr f4, f29
/* 802A9764 002A66A4 FC A0 F0 90 */ fmr f5, f30
/* 802A9768 002A66A8 38 60 00 01 */ li r3, 1
/* 802A976C 002A66AC 4B FF FF 21 */ bl linearTransform__6Z2CalcFfffffb
/* 802A9770 002A66B0 48 00 00 58 */ b lbl_802A97C8
lbl_802A9774:
/* 802A9774 002A66B4 2C 03 00 00 */ cmpwi r3, 0
/* 802A9778 002A66B8 40 82 00 40 */ bne lbl_802A97B8
/* 802A977C 002A66BC C0 A2 BE 28 */ lfs f5, lbl_80455828-_SDA2_BASE_(r2)
/* 802A9780 002A66C0 38 60 00 01 */ li r3, 1
/* 802A9784 002A66C4 4B FF FF 09 */ bl linearTransform__6Z2CalcFfffffb
/* 802A9788 002A66C8 48 0C 2F B9 */ bl func_8036C740
/* 802A978C 002A66CC FF E0 08 18 */ frsp f31, f1
/* 802A9790 002A66D0 FC 20 E0 90 */ fmr f1, f28
/* 802A9794 002A66D4 48 0C 2F AD */ bl func_8036C740
/* 802A9798 002A66D8 FC 40 08 18 */ frsp f2, f1
/* 802A979C 002A66DC FC 20 F8 90 */ fmr f1, f31
/* 802A97A0 002A66E0 C0 62 BE 2C */ lfs f3, lbl_8045582C-_SDA2_BASE_(r2)
/* 802A97A4 002A66E4 FC 80 E8 90 */ fmr f4, f29
/* 802A97A8 002A66E8 FC A0 F0 90 */ fmr f5, f30
/* 802A97AC 002A66EC 38 60 00 01 */ li r3, 1
/* 802A97B0 002A66F0 4B FF FE DD */ bl linearTransform__6Z2CalcFfffffb
/* 802A97B4 002A66F4 48 00 00 14 */ b lbl_802A97C8
lbl_802A97B8:
/* 802A97B8 002A66F8 FC 80 E8 90 */ fmr f4, f29
/* 802A97BC 002A66FC FC A0 F0 90 */ fmr f5, f30
/* 802A97C0 002A6700 38 60 00 00 */ li r3, 0
/* 802A97C4 002A6704 4B FF FE C9 */ bl linearTransform__6Z2CalcFfffffb
lbl_802A97C8:
/* 802A97C8 002A6708 FC 01 F0 40 */ fcmpo cr0, f1, f30
/* 802A97CC 002A670C 40 81 00 0C */ ble lbl_802A97D8
/* 802A97D0 002A6710 FC 20 F0 90 */ fmr f1, f30
/* 802A97D4 002A6714 48 00 00 10 */ b lbl_802A97E4
lbl_802A97D8:
/* 802A97D8 002A6718 FC 01 E8 40 */ fcmpo cr0, f1, f29
/* 802A97DC 002A671C 40 80 00 08 */ bge lbl_802A97E4
/* 802A97E0 002A6720 FC 20 E8 90 */ fmr f1, f29
lbl_802A97E4:
/* 802A97E4 002A6724 E3 E1 00 48 */ psq_l f31, 72(r1), 0, 0
/* 802A97E8 002A6728 CB E1 00 40 */ lfd f31, 0x40(r1)
/* 802A97EC 002A672C E3 C1 00 38 */ psq_l f30, 56(r1), 0, 0
/* 802A97F0 002A6730 CB C1 00 30 */ lfd f30, 0x30(r1)
/* 802A97F4 002A6734 E3 A1 00 28 */ psq_l f29, 40(r1), 0, 0
/* 802A97F8 002A6738 CB A1 00 20 */ lfd f29, 0x20(r1)
/* 802A97FC 002A673C E3 81 00 18 */ psq_l f28, 24(r1), 0, 0
/* 802A9800 002A6740 CB 81 00 10 */ lfd f28, 0x10(r1)
/* 802A9804 002A6744 80 01 00 54 */ lwz r0, 0x54(r1)
/* 802A9808 002A6748 7C 08 03 A6 */ mtlr r0
/* 802A980C 002A674C 38 21 00 50 */ addi r1, r1, 0x50
/* 802A9810 002A6750 4E 80 00 20 */ blr
@@ -0,0 +1,50 @@
/* 802A9814 002A6754 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 802A9818 002A6758 7C 08 02 A6 */ mflr r0
/* 802A981C 002A675C 90 01 00 64 */ stw r0, 0x64(r1)
/* 802A9820 002A6760 DB E1 00 50 */ stfd f31, 0x50(r1)
/* 802A9824 002A6764 F3 E1 00 58 */ psq_st f31, 88(r1), 0, 0
/* 802A9828 002A6768 DB C1 00 40 */ stfd f30, 0x40(r1)
/* 802A982C 002A676C F3 C1 00 48 */ psq_st f30, 72(r1), 0, 0
/* 802A9830 002A6770 DB A1 00 30 */ stfd f29, 0x30(r1)
/* 802A9834 002A6774 F3 A1 00 38 */ psq_st f29, 56(r1), 0, 0
/* 802A9838 002A6778 DB 81 00 20 */ stfd f28, 0x20(r1)
/* 802A983C 002A677C F3 81 00 28 */ psq_st f28, 40(r1), 0, 0
/* 802A9840 002A6780 DB 61 00 10 */ stfd f27, 0x10(r1)
/* 802A9844 002A6784 F3 61 00 18 */ psq_st f27, 24(r1), 0, 0
/* 802A9848 002A6788 FF 60 08 90 */ fmr f27, f1
/* 802A984C 002A678C FF 80 10 90 */ fmr f28, f2
/* 802A9850 002A6790 FF A0 18 90 */ fmr f29, f3
/* 802A9854 002A6794 C0 02 BE 30 */ lfs f0, lbl_80455830-_SDA2_BASE_(r2)
/* 802A9858 002A6798 EF E0 07 72 */ fmuls f31, f0, f29
/* 802A985C 002A679C C0 22 BE 34 */ lfs f1, lbl_80455834-_SDA2_BASE_(r2)
/* 802A9860 002A67A0 C0 02 BE 2C */ lfs f0, lbl_8045582C-_SDA2_BASE_(r2)
/* 802A9864 002A67A4 EC 00 E8 28 */ fsubs f0, f0, f29
/* 802A9868 002A67A8 EF C1 00 32 */ fmuls f30, f1, f0
/* 802A986C 002A67AC 48 00 00 69 */ bl getRandom_0_1__6Z2CalcFv
/* 802A9870 002A67B0 FC 01 E8 40 */ fcmpo cr0, f1, f29
/* 802A9874 002A67B4 40 80 00 0C */ bge lbl_802A9880
/* 802A9878 002A67B8 FC 00 F8 90 */ fmr f0, f31
/* 802A987C 002A67BC 48 00 00 08 */ b lbl_802A9884
lbl_802A9880:
/* 802A9880 002A67C0 FC 00 F0 90 */ fmr f0, f30
lbl_802A9884:
/* 802A9884 002A67C4 EF 7B 00 32 */ fmuls f27, f27, f0
/* 802A9888 002A67C8 48 00 00 4D */ bl getRandom_0_1__6Z2CalcFv
/* 802A988C 002A67CC FC 40 E0 90 */ fmr f2, f28
/* 802A9890 002A67D0 48 0C 2E F1 */ bl func_8036C780
/* 802A9894 002A67D4 FC 00 08 18 */ frsp f0, f1
/* 802A9898 002A67D8 EC 20 06 F2 */ fmuls f1, f0, f27
/* 802A989C 002A67DC E3 E1 00 58 */ psq_l f31, 88(r1), 0, 0
/* 802A98A0 002A67E0 CB E1 00 50 */ lfd f31, 0x50(r1)
/* 802A98A4 002A67E4 E3 C1 00 48 */ psq_l f30, 72(r1), 0, 0
/* 802A98A8 002A67E8 CB C1 00 40 */ lfd f30, 0x40(r1)
/* 802A98AC 002A67EC E3 A1 00 38 */ psq_l f29, 56(r1), 0, 0
/* 802A98B0 002A67F0 CB A1 00 30 */ lfd f29, 0x30(r1)
/* 802A98B4 002A67F4 E3 81 00 28 */ psq_l f28, 40(r1), 0, 0
/* 802A98B8 002A67F8 CB 81 00 20 */ lfd f28, 0x20(r1)
/* 802A98BC 002A67FC E3 61 00 18 */ psq_l f27, 24(r1), 0, 0
/* 802A98C0 002A6800 CB 61 00 10 */ lfd f27, 0x10(r1)
/* 802A98C4 002A6804 80 01 00 64 */ lwz r0, 0x64(r1)
/* 802A98C8 002A6808 7C 08 03 A6 */ mtlr r0
/* 802A98CC 002A680C 38 21 00 60 */ addi r1, r1, 0x60
/* 802A98D0 002A6810 4E 80 00 20 */ blr
@@ -0,0 +1,29 @@
/* 802A98D4 002A6814 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A98D8 002A6818 7C 08 02 A6 */ mflr r0
/* 802A98DC 002A681C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A98E0 002A6820 88 0D 8D B0 */ lbz r0, lbl_80451330-_SDA_BASE_(r13)
/* 802A98E4 002A6824 7C 00 07 75 */ extsb. r0, r0
/* 802A98E8 002A6828 40 82 00 18 */ bne lbl_802A9900
/* 802A98EC 002A682C 38 6D 8D B4 */ subi r3, r13, 0x724c
/* 802A98F0 002A6830 38 80 00 00 */ li r4, 0
/* 802A98F4 002A6834 48 09 01 F1 */ bl JMath_NS_TRandom_fast_
/* 802A98F8 002A6838 38 00 00 01 */ li r0, 1
/* 802A98FC 002A683C 98 0D 8D B0 */ stb r0, lbl_80451330-_SDA_BASE_(r13)
lbl_802A9900:
/* 802A9900 002A6840 80 8D 8D B4 */ lwz r4, lbl_80451334-_SDA_BASE_(r13)
/* 802A9904 002A6844 3C 60 00 19 */ lis r3, 0x0019660D@ha
/* 802A9908 002A6848 38 03 66 0D */ addi r0, r3, 0x0019660D@l
/* 802A990C 002A684C 7C 64 01 D6 */ mullw r3, r4, r0
/* 802A9910 002A6850 3C 63 3C 6F */ addis r3, r3, 0x3c6f
/* 802A9914 002A6854 38 03 F3 5F */ addi r0, r3, -3233
/* 802A9918 002A6858 90 0D 8D B4 */ stw r0, lbl_80451334-_SDA_BASE_(r13)
/* 802A991C 002A685C 54 00 BA 7E */ srwi r0, r0, 9
/* 802A9920 002A6860 64 00 3F 80 */ oris r0, r0, 0x3f80
/* 802A9924 002A6864 90 01 00 08 */ stw r0, 8(r1)
/* 802A9928 002A6868 C0 21 00 08 */ lfs f1, 8(r1)
/* 802A992C 002A686C C0 02 BE 2C */ lfs f0, lbl_8045582C-_SDA2_BASE_(r2)
/* 802A9930 002A6870 EC 21 00 28 */ fsubs f1, f1, f0
/* 802A9934 002A6874 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A9938 002A6878 7C 08 03 A6 */ mtlr r0
/* 802A993C 002A687C 38 21 00 10 */ addi r1, r1, 0x10
/* 802A9940 002A6880 4E 80 00 20 */ blr
+74
View File
@@ -0,0 +1,74 @@
#include "global.h"
struct Vec{ // move later
float x, y, z;
};
struct JAISoundID{ // move later
u32 value;
};
class Z2SoundObjBase{
};
class JAISoundHandle{
};
class Z2CreatureLink {
public:
void setLinkState(u8);
void setLinkGroupInfo(u8);
void setLinkHp(s32, s32);
void setLinkSwordType(s32, s32);
void setLinkShieldType(s32, s32);
void setLinkBootsType(s32);
Z2CreatureLink(void);
~Z2CreatureLink();
void deleteObject();
void init(Vec*, Vec*, Vec*);
void initKantera(Vec*);
void deleteKantera(void);
void setKanteraState(u8);
void framework(u32, s8);
void setSinkDepth(s8);
void setRiding(bool);
void setMagnetized(bool);
void setWolfEyeOpen(bool);
void startLinkSound(JAISoundID, u32, s8);
void startLinkSoundLevel(JAISoundID, u32, s8);
void startLinkVoice(JAISoundID, s8);
void startLinkVoiceLevel(JAISoundID, s8);
void startLinkSwordSound(JAISoundID, u32, s8);
void startCollisionSE(u32, u32);
int startHitItemSE(u32, u32, Z2SoundObjBase*, float);
void setResumeAttack(bool);
private:
u8 unk0[179];
u8 unk179;
float unk180;
float unk184;
float unk188;
u8 link_state;
u8 unk193;
u8 unk194;
u8 link_hp;
u8 unk196;
u8 lantern_state;
u8 unk198;
u8 unk199;
u8 unk200;
u8 unk201;
u8 sink_depth;
u8 unk203;
u8 unk204;
};
class Z2LinkSoundStarter{
public:
Z2LinkSoundStarter(void);
~Z2LinkSoundStarter();
//u32 startSound(JAISoundID, JAISoundHandle, TVec3<float>*, u32, float, float, float, float, float, u32);
};
@@ -0,0 +1,26 @@
/* 802C3228 002C0168 98 83 00 C6 */ stb r4, 0xc6(r3)
/* 802C322C 002C016C 20 05 00 01 */ subfic r0, r5, 1
/* 802C3230 002C0170 7C 00 00 34 */ cntlzw r0, r0
/* 802C3234 002C0174 54 04 D9 7E */ srwi r4, r0, 5
/* 802C3238 002C0178 88 03 00 CB */ lbz r0, 0xcb(r3)
/* 802C323C 002C017C 50 80 26 F6 */ rlwimi r0, r4, 4, 0x1b, 0x1b
/* 802C3240 002C0180 98 03 00 CB */ stb r0, 0xcb(r3)
/* 802C3244 002C0184 88 03 00 C6 */ lbz r0, 0xc6(r3)
/* 802C3248 002C0188 28 00 00 00 */ cmplwi r0, 0
/* 802C324C 002C018C 41 82 00 2C */ beq lbl_802C3278
/* 802C3250 002C0190 88 03 00 C7 */ lbz r0, 0xc7(r3)
/* 802C3254 002C0194 28 00 00 00 */ cmplwi r0, 0
/* 802C3258 002C0198 41 82 00 20 */ beq lbl_802C3278
/* 802C325C 002C019C 88 83 00 CB */ lbz r4, 0xcb(r3)
/* 802C3260 002C01A0 54 80 EF FF */ rlwinm. r0, r4, 0x1d, 0x1f, 0x1f
/* 802C3264 002C01A4 40 82 00 14 */ bne lbl_802C3278
/* 802C3268 002C01A8 38 00 00 01 */ li r0, 1
/* 802C326C 002C01AC 50 04 17 7A */ rlwimi r4, r0, 2, 0x1d, 0x1d
/* 802C3270 002C01B0 98 83 00 CB */ stb r4, 0xcb(r3)
/* 802C3274 002C01B4 4E 80 00 20 */ blr
lbl_802C3278:
/* 802C3278 002C01B8 38 80 00 00 */ li r4, 0
/* 802C327C 002C01BC 88 03 00 CB */ lbz r0, 0xcb(r3)
/* 802C3280 002C01C0 50 80 17 7A */ rlwimi r0, r4, 2, 0x1d, 0x1d
/* 802C3284 002C01C4 98 03 00 CB */ stb r0, 0xcb(r3)
/* 802C3288 002C01C8 4E 80 00 20 */ blr
@@ -0,0 +1,26 @@
/* 802C328C 002C01CC 98 83 00 C7 */ stb r4, 0xc7(r3)
/* 802C3290 002C01D0 20 05 00 01 */ subfic r0, r5, 1
/* 802C3294 002C01D4 7C 00 00 34 */ cntlzw r0, r0
/* 802C3298 002C01D8 54 04 D9 7E */ srwi r4, r0, 5
/* 802C329C 002C01DC 88 03 00 CB */ lbz r0, 0xcb(r3)
/* 802C32A0 002C01E0 50 80 1F 38 */ rlwimi r0, r4, 3, 0x1c, 0x1c
/* 802C32A4 002C01E4 98 03 00 CB */ stb r0, 0xcb(r3)
/* 802C32A8 002C01E8 88 03 00 C6 */ lbz r0, 0xc6(r3)
/* 802C32AC 002C01EC 28 00 00 00 */ cmplwi r0, 0
/* 802C32B0 002C01F0 41 82 00 2C */ beq lbl_802C32DC
/* 802C32B4 002C01F4 88 03 00 C7 */ lbz r0, 0xc7(r3)
/* 802C32B8 002C01F8 28 00 00 00 */ cmplwi r0, 0
/* 802C32BC 002C01FC 41 82 00 20 */ beq lbl_802C32DC
/* 802C32C0 002C0200 88 83 00 CB */ lbz r4, 0xcb(r3)
/* 802C32C4 002C0204 54 80 EF FF */ rlwinm. r0, r4, 0x1d, 0x1f, 0x1f
/* 802C32C8 002C0208 40 82 00 14 */ bne lbl_802C32DC
/* 802C32CC 002C020C 38 00 00 01 */ li r0, 1
/* 802C32D0 002C0210 50 04 17 7A */ rlwimi r4, r0, 2, 0x1d, 0x1d
/* 802C32D4 002C0214 98 83 00 CB */ stb r4, 0xcb(r3)
/* 802C32D8 002C0218 4E 80 00 20 */ blr
lbl_802C32DC:
/* 802C32DC 002C021C 38 80 00 00 */ li r4, 0
/* 802C32E0 002C0220 88 03 00 CB */ lbz r0, 0xcb(r3)
/* 802C32E4 002C0224 50 80 17 7A */ rlwimi r0, r4, 2, 0x1d, 0x1d
/* 802C32E8 002C0228 98 03 00 CB */ stb r0, 0xcb(r3)
/* 802C32EC 002C022C 4E 80 00 20 */ blr
@@ -0,0 +1,20 @@
/* 802C32F0 002C0230 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802C32F4 002C0234 7C 08 02 A6 */ mflr r0
/* 802C32F8 002C0238 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C32FC 002C023C 98 83 00 C4 */ stb r4, 0xc4(r3)
/* 802C3300 002C0240 80 8D 86 00 */ lwz r4, lbl_80450B80-_SDA_BASE_(r13)
/* 802C3304 002C0244 88 04 00 1D */ lbz r0, 0x1d(r4)
/* 802C3308 002C0248 28 00 00 00 */ cmplwi r0, 0
/* 802C330C 002C024C 41 82 00 20 */ beq lbl_802C332C
/* 802C3310 002C0250 3C 80 00 02 */ lis r4, 0x0002005E@ha
/* 802C3314 002C0254 38 04 00 5E */ addi r0, r4, 0x0002005E@l
/* 802C3318 002C0258 90 01 00 08 */ stw r0, 8(r1)
/* 802C331C 002C025C 38 81 00 08 */ addi r4, r1, 8
/* 802C3320 002C0260 38 A0 00 00 */ li r5, 0
/* 802C3324 002C0264 38 C0 FF FF */ li r6, -1
/* 802C3328 002C0268 48 00 08 AD */ bl startLinkSound__14Z2CreatureLinkF10JAISoundIDUlSc
lbl_802C332C:
/* 802C332C 002C026C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C3330 002C0270 7C 08 03 A6 */ mtlr r0
/* 802C3334 002C0274 38 21 00 10 */ addi r1, r1, 0x10
/* 802C3338 002C0278 4E 80 00 20 */ blr
@@ -0,0 +1,76 @@
/* 802C333C 002C027C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802C3340 002C0280 7C 08 02 A6 */ mflr r0
/* 802C3344 002C0284 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C3348 002C0288 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802C334C 002C028C 7C 7F 1B 78 */ mr r31, r3
/* 802C3350 002C0290 4B FF D0 79 */ bl Z2Creature
/* 802C3354 002C0294 38 7F 00 90 */ addi r3, r31, 0x90
/* 802C3358 002C0298 48 00 15 91 */ bl Z2LinkSoundStarter
/* 802C335C 002C029C 3C 60 80 3D */ lis r3, lbl_803CB980@ha
/* 802C3360 002C02A0 38 63 B9 80 */ addi r3, r3, lbl_803CB980@l
/* 802C3364 002C02A4 90 7F 00 00 */ stw r3, 0(r31)
/* 802C3368 002C02A8 38 03 00 30 */ addi r0, r3, 0x30
/* 802C336C 002C02AC 90 1F 00 90 */ stw r0, 0x90(r31)
/* 802C3370 002C02B0 38 7F 00 94 */ addi r3, r31, 0x94
/* 802C3374 002C02B4 4B FF B4 D1 */ bl Z2SoundObjSimple
/* 802C3378 002C02B8 38 60 00 00 */ li r3, 0
/* 802C337C 002C02BC 98 7F 00 C0 */ stb r3, 0xc0(r31)
/* 802C3380 002C02C0 93 ED 8D E0 */ stw r31, lbl_80451360-_SDA_BASE_(r13)
/* 802C3384 002C02C4 38 00 00 FF */ li r0, 0xff
/* 802C3388 002C02C8 98 1F 00 C1 */ stb r0, 0xc1(r31)
/* 802C338C 002C02CC 88 1F 00 CB */ lbz r0, 0xcb(r31)
/* 802C3390 002C02D0 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 802C3394 002C02D4 98 1F 00 CB */ stb r0, 0xcb(r31)
/* 802C3398 002C02D8 88 1F 00 CB */ lbz r0, 0xcb(r31)
/* 802C339C 002C02DC 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 802C33A0 002C02E0 98 1F 00 CB */ stb r0, 0xcb(r31)
/* 802C33A4 002C02E4 98 7F 00 C2 */ stb r3, 0xc2(r31)
/* 802C33A8 002C02E8 88 1F 00 CB */ lbz r0, 0xcb(r31)
/* 802C33AC 002C02EC 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a
/* 802C33B0 002C02F0 98 1F 00 CB */ stb r0, 0xcb(r31)
/* 802C33B4 002C02F4 7F E3 FB 78 */ mr r3, r31
/* 802C33B8 002C02F8 7F E4 FB 78 */ mr r4, r31
/* 802C33BC 002C02FC 28 1F 00 00 */ cmplwi r31, 0
/* 802C33C0 002C0300 41 82 00 08 */ beq lbl_802C33C8
/* 802C33C4 002C0304 38 9F 00 90 */ addi r4, r31, 0x90
lbl_802C33C8:
/* 802C33C8 002C0308 81 83 00 00 */ lwz r12, 0(r3)
/* 802C33CC 002C030C 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802C33D0 002C0310 7D 89 03 A6 */ mtctr r12
/* 802C33D4 002C0314 4E 80 04 21 */ bctrl
/* 802C33D8 002C0318 7F E0 FB 78 */ mr r0, r31
/* 802C33DC 002C031C 28 1F 00 00 */ cmplwi r31, 0
/* 802C33E0 002C0320 41 82 00 08 */ beq lbl_802C33E8
/* 802C33E4 002C0324 38 1F 00 90 */ addi r0, r31, 0x90
lbl_802C33E8:
/* 802C33E8 002C0328 90 1F 00 A8 */ stw r0, 0xa8(r31)
/* 802C33EC 002C032C 38 60 00 00 */ li r3, 0
/* 802C33F0 002C0330 98 7F 00 C3 */ stb r3, 0xc3(r31)
/* 802C33F4 002C0334 98 7F 00 C4 */ stb r3, 0xc4(r31)
/* 802C33F8 002C0338 98 7F 00 C5 */ stb r3, 0xc5(r31)
/* 802C33FC 002C033C 98 7F 00 C6 */ stb r3, 0xc6(r31)
/* 802C3400 002C0340 98 7F 00 C7 */ stb r3, 0xc7(r31)
/* 802C3404 002C0344 88 1F 00 CB */ lbz r0, 0xcb(r31)
/* 802C3408 002C0348 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b
/* 802C340C 002C034C 98 1F 00 CB */ stb r0, 0xcb(r31)
/* 802C3410 002C0350 88 1F 00 CB */ lbz r0, 0xcb(r31)
/* 802C3414 002C0354 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c
/* 802C3418 002C0358 98 1F 00 CB */ stb r0, 0xcb(r31)
/* 802C341C 002C035C 88 1F 00 CB */ lbz r0, 0xcb(r31)
/* 802C3420 002C0360 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d
/* 802C3424 002C0364 98 1F 00 CB */ stb r0, 0xcb(r31)
/* 802C3428 002C0368 88 1F 00 CB */ lbz r0, 0xcb(r31)
/* 802C342C 002C036C 50 60 0F BC */ rlwimi r0, r3, 1, 0x1e, 0x1e
/* 802C3430 002C0370 98 1F 00 CB */ stb r0, 0xcb(r31)
/* 802C3434 002C0374 88 1F 00 CB */ lbz r0, 0xcb(r31)
/* 802C3438 002C0378 50 60 07 FE */ rlwimi r0, r3, 0, 0x1f, 0x1f
/* 802C343C 002C037C 98 1F 00 CB */ stb r0, 0xcb(r31)
/* 802C3440 002C0380 88 1F 00 CC */ lbz r0, 0xcc(r31)
/* 802C3444 002C0384 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 802C3448 002C0388 98 1F 00 CC */ stb r0, 0xcc(r31)
/* 802C344C 002C038C 7F E3 FB 78 */ mr r3, r31
/* 802C3450 002C0390 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802C3454 002C0394 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C3458 002C0398 7C 08 03 A6 */ mtlr r0
/* 802C345C 002C039C 38 21 00 10 */ addi r1, r1, 0x10
/* 802C3460 002C03A0 4E 80 00 20 */ blr
@@ -0,0 +1,43 @@
/* 802C3464 002C03A4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802C3468 002C03A8 7C 08 02 A6 */ mflr r0
/* 802C346C 002C03AC 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C3470 002C03B0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802C3474 002C03B4 93 C1 00 08 */ stw r30, 8(r1)
/* 802C3478 002C03B8 7C 7E 1B 79 */ or. r30, r3, r3
/* 802C347C 002C03BC 7C 9F 23 78 */ mr r31, r4
/* 802C3480 002C03C0 41 82 00 64 */ beq lbl_802C34E4
/* 802C3484 002C03C4 3C 60 80 3D */ lis r3, lbl_803CB96C@ha
/* 802C3488 002C03C8 38 03 B9 6C */ addi r0, r3, lbl_803CB96C@l
/* 802C348C 002C03CC 90 1E 00 00 */ stw r0, 0(r30)
/* 802C3490 002C03D0 41 82 00 44 */ beq lbl_802C34D4
/* 802C3494 002C03D4 3C 60 80 3D */ lis r3, lbl_803C9D80@ha
/* 802C3498 002C03D8 38 03 9D 80 */ addi r0, r3, lbl_803C9D80@l
/* 802C349C 002C03DC 90 1E 00 00 */ stw r0, 0(r30)
/* 802C34A0 002C03E0 34 1E 00 04 */ addic. r0, r30, 4
/* 802C34A4 002C03E4 41 82 00 24 */ beq lbl_802C34C8
/* 802C34A8 002C03E8 34 7E 00 04 */ addic. r3, r30, 4
/* 802C34AC 002C03EC 41 82 00 08 */ beq lbl_802C34B4
/* 802C34B0 002C03F0 38 63 FF FC */ addi r3, r3, -4
lbl_802C34B4:
/* 802C34B4 002C03F4 80 0D 85 F4 */ lwz r0, lbl_80450B74-_SDA_BASE_(r13)
/* 802C34B8 002C03F8 7C 00 18 40 */ cmplw r0, r3
/* 802C34BC 002C03FC 40 82 00 0C */ bne lbl_802C34C8
/* 802C34C0 002C0400 38 00 00 00 */ li r0, 0
/* 802C34C4 002C0404 90 0D 85 F4 */ stw r0, lbl_80450B74-_SDA_BASE_(r13)
lbl_802C34C8:
/* 802C34C8 002C0408 7F C3 F3 78 */ mr r3, r30
/* 802C34CC 002C040C 38 80 00 00 */ li r4, 0
/* 802C34D0 002C0410 4B FD FA B9 */ bl JAISoundStarter_NS_dtor
lbl_802C34D4:
/* 802C34D4 002C0414 7F E0 07 35 */ extsh. r0, r31
/* 802C34D8 002C0418 40 81 00 0C */ ble lbl_802C34E4
/* 802C34DC 002C041C 7F C3 F3 78 */ mr r3, r30
/* 802C34E0 002C0420 48 00 B8 5D */ bl __dl__FPv
lbl_802C34E4:
/* 802C34E4 002C0424 7F C3 F3 78 */ mr r3, r30
/* 802C34E8 002C0428 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802C34EC 002C042C 83 C1 00 08 */ lwz r30, 8(r1)
/* 802C34F0 002C0430 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C34F4 002C0434 7C 08 03 A6 */ mtlr r0
/* 802C34F8 002C0438 38 21 00 10 */ addi r1, r1, 0x10
/* 802C34FC 002C043C 4E 80 00 20 */ blr
@@ -0,0 +1,67 @@
/* 802C3500 002C0440 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802C3504 002C0444 7C 08 02 A6 */ mflr r0
/* 802C3508 002C0448 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C350C 002C044C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802C3510 002C0450 93 C1 00 08 */ stw r30, 8(r1)
/* 802C3514 002C0454 7C 7F 1B 79 */ or. r31, r3, r3
/* 802C3518 002C0458 7C 9E 23 78 */ mr r30, r4
/* 802C351C 002C045C 41 82 00 C0 */ beq lbl_802C35DC
/* 802C3520 002C0460 3C 80 80 3D */ lis r4, lbl_803CB980@ha
/* 802C3524 002C0464 38 84 B9 80 */ addi r4, r4, lbl_803CB980@l
/* 802C3528 002C0468 90 9F 00 00 */ stw r4, 0(r31)
/* 802C352C 002C046C 38 04 00 30 */ addi r0, r4, 0x30
/* 802C3530 002C0470 90 1F 00 90 */ stw r0, 0x90(r31)
/* 802C3534 002C0474 81 83 00 00 */ lwz r12, 0(r3)
/* 802C3538 002C0478 81 8C 00 08 */ lwz r12, 8(r12)
/* 802C353C 002C047C 7D 89 03 A6 */ mtctr r12
/* 802C3540 002C0480 4E 80 04 21 */ bctrl
/* 802C3544 002C0484 34 1F 00 94 */ addic. r0, r31, 0x94
/* 802C3548 002C0488 41 82 00 1C */ beq lbl_802C3564
/* 802C354C 002C048C 3C 60 80 3D */ lis r3, lbl_803CAD10@ha
/* 802C3550 002C0490 38 03 AD 10 */ addi r0, r3, lbl_803CAD10@l
/* 802C3554 002C0494 90 1F 00 A4 */ stw r0, 0xa4(r31)
/* 802C3558 002C0498 38 7F 00 94 */ addi r3, r31, 0x94
/* 802C355C 002C049C 38 80 00 00 */ li r4, 0
/* 802C3560 002C04A0 4B FF A9 E9 */ bl Z2SoundObjBase_NS_dtor
lbl_802C3564:
/* 802C3564 002C04A4 34 1F 00 90 */ addic. r0, r31, 0x90
/* 802C3568 002C04A8 41 82 00 58 */ beq lbl_802C35C0
/* 802C356C 002C04AC 3C 60 80 3D */ lis r3, lbl_803CB96C@ha
/* 802C3570 002C04B0 38 03 B9 6C */ addi r0, r3, lbl_803CB96C@l
/* 802C3574 002C04B4 90 1F 00 90 */ stw r0, 0x90(r31)
/* 802C3578 002C04B8 34 1F 00 90 */ addic. r0, r31, 0x90
/* 802C357C 002C04BC 41 82 00 44 */ beq lbl_802C35C0
/* 802C3580 002C04C0 3C 60 80 3D */ lis r3, lbl_803C9D80@ha
/* 802C3584 002C04C4 38 03 9D 80 */ addi r0, r3, lbl_803C9D80@l
/* 802C3588 002C04C8 90 1F 00 90 */ stw r0, 0x90(r31)
/* 802C358C 002C04CC 34 1F 00 94 */ addic. r0, r31, 0x94
/* 802C3590 002C04D0 41 82 00 24 */ beq lbl_802C35B4
/* 802C3594 002C04D4 34 7F 00 94 */ addic. r3, r31, 0x94
/* 802C3598 002C04D8 41 82 00 08 */ beq lbl_802C35A0
/* 802C359C 002C04DC 38 63 FF FC */ addi r3, r3, -4
lbl_802C35A0:
/* 802C35A0 002C04E0 80 0D 85 F4 */ lwz r0, lbl_80450B74-_SDA_BASE_(r13)
/* 802C35A4 002C04E4 7C 00 18 40 */ cmplw r0, r3
/* 802C35A8 002C04E8 40 82 00 0C */ bne lbl_802C35B4
/* 802C35AC 002C04EC 38 00 00 00 */ li r0, 0
/* 802C35B0 002C04F0 90 0D 85 F4 */ stw r0, lbl_80450B74-_SDA_BASE_(r13)
lbl_802C35B4:
/* 802C35B4 002C04F4 38 7F 00 90 */ addi r3, r31, 0x90
/* 802C35B8 002C04F8 38 80 00 00 */ li r4, 0
/* 802C35BC 002C04FC 4B FD F9 CD */ bl JAISoundStarter_NS_dtor
lbl_802C35C0:
/* 802C35C0 002C0500 7F E3 FB 78 */ mr r3, r31
/* 802C35C4 002C0504 38 80 00 00 */ li r4, 0
/* 802C35C8 002C0508 4B FF CE 59 */ bl Z2Creature_NS_dtor
/* 802C35CC 002C050C 7F C0 07 35 */ extsh. r0, r30
/* 802C35D0 002C0510 40 81 00 0C */ ble lbl_802C35DC
/* 802C35D4 002C0514 7F E3 FB 78 */ mr r3, r31
/* 802C35D8 002C0518 48 00 B7 65 */ bl __dl
lbl_802C35DC:
/* 802C35DC 002C051C 7F E3 FB 78 */ mr r3, r31
/* 802C35E0 002C0520 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802C35E4 002C0524 83 C1 00 08 */ lwz r30, 8(r1)
/* 802C35E8 002C0528 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C35EC 002C052C 7C 08 03 A6 */ mtlr r0
/* 802C35F0 002C0530 38 21 00 10 */ addi r1, r1, 0x10
/* 802C35F4 002C0534 4E 80 00 20 */ blr
@@ -0,0 +1,17 @@
/* 802C35F8 002C0538 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802C35FC 002C053C 7C 08 02 A6 */ mflr r0
/* 802C3600 002C0540 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C3604 002C0544 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802C3608 002C0548 7C 7F 1B 78 */ mr r31, r3
/* 802C360C 002C054C 88 03 00 B3 */ lbz r0, 0xb3(r3)
/* 802C3610 002C0550 28 00 00 00 */ cmplwi r0, 0
/* 802C3614 002C0554 41 82 00 08 */ beq lbl_802C361C
/* 802C3618 002C0558 48 00 01 35 */ bl deleteKantera__14Z2CreatureLinkFv
lbl_802C361C:
/* 802C361C 002C055C 7F E3 FB 78 */ mr r3, r31
/* 802C3620 002C0560 4B FF CE C9 */ bl Z2Creature_NS_deleteObject
/* 802C3624 002C0564 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802C3628 002C0568 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C362C 002C056C 7C 08 03 A6 */ mtlr r0
/* 802C3630 002C0570 38 21 00 10 */ addi r1, r1, 0x10
/* 802C3634 002C0574 4E 80 00 20 */ blr
@@ -0,0 +1,54 @@
/* 802C3638 002C0578 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802C363C 002C057C 7C 08 02 A6 */ mflr r0
/* 802C3640 002C0580 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C3644 002C0584 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802C3648 002C0588 93 C1 00 08 */ stw r30, 8(r1)
/* 802C364C 002C058C 7C 7E 1B 78 */ mr r30, r3
/* 802C3650 002C0590 7C 9F 23 78 */ mr r31, r4
/* 802C3654 002C0594 38 E0 00 06 */ li r7, 6
/* 802C3658 002C0598 39 00 00 01 */ li r8, 1
/* 802C365C 002C059C 39 20 00 02 */ li r9, 2
/* 802C3660 002C05A0 4B FF CF 51 */ bl Z2Creature_NS_init_X1_
/* 802C3664 002C05A4 80 1E 00 04 */ lwz r0, 4(r30)
/* 802C3668 002C05A8 80 6D 85 C4 */ lwz r3, lbl_80450B44-_SDA_BASE_(r13)
/* 802C366C 002C05AC 80 63 01 D0 */ lwz r3, 0x1d0(r3)
/* 802C3670 002C05B0 90 03 00 14 */ stw r0, 0x14(r3)
/* 802C3674 002C05B4 38 00 00 FF */ li r0, 0xff
/* 802C3678 002C05B8 98 1E 00 C1 */ stb r0, 0xc1(r30)
/* 802C367C 002C05BC 38 60 00 00 */ li r3, 0
/* 802C3680 002C05C0 88 1E 00 CB */ lbz r0, 0xcb(r30)
/* 802C3684 002C05C4 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 802C3688 002C05C8 98 1E 00 CB */ stb r0, 0xcb(r30)
/* 802C368C 002C05CC 88 1E 00 CB */ lbz r0, 0xcb(r30)
/* 802C3690 002C05D0 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 802C3694 002C05D4 98 1E 00 CB */ stb r0, 0xcb(r30)
/* 802C3698 002C05D8 98 7E 00 C2 */ stb r3, 0xc2(r30)
/* 802C369C 002C05DC 88 1E 00 CB */ lbz r0, 0xcb(r30)
/* 802C36A0 002C05E0 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a
/* 802C36A4 002C05E4 98 1E 00 CB */ stb r0, 0xcb(r30)
/* 802C36A8 002C05E8 98 7E 00 C5 */ stb r3, 0xc5(r30)
/* 802C36AC 002C05EC 88 1E 00 CB */ lbz r0, 0xcb(r30)
/* 802C36B0 002C05F0 50 60 0F BC */ rlwimi r0, r3, 1, 0x1e, 0x1e
/* 802C36B4 002C05F4 98 1E 00 CB */ stb r0, 0xcb(r30)
/* 802C36B8 002C05F8 88 1E 00 CB */ lbz r0, 0xcb(r30)
/* 802C36BC 002C05FC 50 60 07 FE */ rlwimi r0, r3, 0, 0x1f, 0x1f
/* 802C36C0 002C0600 98 1E 00 CB */ stb r0, 0xcb(r30)
/* 802C36C4 002C0604 88 1E 00 CC */ lbz r0, 0xcc(r30)
/* 802C36C8 002C0608 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 802C36CC 002C060C 98 1E 00 CC */ stb r0, 0xcc(r30)
/* 802C36D0 002C0610 C0 1F 00 00 */ lfs f0, 0(r31)
/* 802C36D4 002C0614 D0 1E 00 B4 */ stfs f0, 0xb4(r30)
/* 802C36D8 002C0618 C0 1F 00 04 */ lfs f0, 4(r31)
/* 802C36DC 002C061C D0 1E 00 B8 */ stfs f0, 0xb8(r30)
/* 802C36E0 002C0620 C0 1F 00 08 */ lfs f0, 8(r31)
/* 802C36E4 002C0624 D0 1E 00 BC */ stfs f0, 0xbc(r30)
/* 802C36E8 002C0628 98 7E 00 C8 */ stb r3, 0xc8(r30)
/* 802C36EC 002C062C 98 7E 00 C9 */ stb r3, 0xc9(r30)
/* 802C36F0 002C0630 38 00 FF FF */ li r0, -1
/* 802C36F4 002C0634 98 1E 00 CA */ stb r0, 0xca(r30)
/* 802C36F8 002C0638 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802C36FC 002C063C 83 C1 00 08 */ lwz r30, 8(r1)
/* 802C3700 002C0640 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C3704 002C0644 7C 08 03 A6 */ mtlr r0
/* 802C3708 002C0648 38 21 00 10 */ addi r1, r1, 0x10
/* 802C370C 002C064C 4E 80 00 20 */ blr
@@ -0,0 +1,15 @@
/* 802C3710 002C0650 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802C3714 002C0654 7C 08 02 A6 */ mflr r0
/* 802C3718 002C0658 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C371C 002C065C 38 00 00 00 */ li r0, 0
/* 802C3720 002C0660 98 03 00 C5 */ stb r0, 0xc5(r3)
/* 802C3724 002C0664 38 A0 00 02 */ li r5, 2
/* 802C3728 002C0668 81 83 00 A4 */ lwz r12, 0xa4(r3)
/* 802C372C 002C066C 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 802C3730 002C0670 7D 89 03 A6 */ mtctr r12
/* 802C3734 002C0674 38 63 00 94 */ addi r3, r3, 0x94
/* 802C3738 002C0678 4E 80 04 21 */ bctrl
/* 802C373C 002C067C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C3740 002C0680 7C 08 03 A6 */ mtlr r0
/* 802C3744 002C0684 38 21 00 10 */ addi r1, r1, 0x10
/* 802C3748 002C0688 4E 80 00 20 */ blr
@@ -0,0 +1,11 @@
/* 802C374C 002C068C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802C3750 002C0690 7C 08 02 A6 */ mflr r0
/* 802C3754 002C0694 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C3758 002C0698 38 00 00 00 */ li r0, 0
/* 802C375C 002C069C 98 03 00 C5 */ stb r0, 0xc5(r3)
/* 802C3760 002C06A0 38 63 00 94 */ addi r3, r3, 0x94
/* 802C3764 002C06A4 4B FF A8 95 */ bl Z2SoundObjBase_NS_deleteObject
/* 802C3768 002C06A8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C376C 002C06AC 7C 08 03 A6 */ mtlr r0
/* 802C3770 002C06B0 38 21 00 10 */ addi r1, r1, 0x10
/* 802C3774 002C06B4 4E 80 00 20 */ blr
@@ -0,0 +1,203 @@
/* 802C3780 002C06C0 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 802C3784 002C06C4 7C 08 02 A6 */ mflr r0
/* 802C3788 002C06C8 90 01 00 44 */ stw r0, 0x44(r1)
/* 802C378C 002C06CC DB E1 00 30 */ stfd f31, 0x30(r1)
/* 802C3790 002C06D0 F3 E1 00 38 */ psq_st f31, 56(r1), 0, 0
/* 802C3794 002C06D4 39 61 00 30 */ addi r11, r1, 0x30
/* 802C3798 002C06D8 48 09 EA 45 */ bl _savegpr_29
/* 802C379C 002C06DC 7C 7F 1B 78 */ mr r31, r3
/* 802C37A0 002C06E0 7C 9D 23 78 */ mr r29, r4
/* 802C37A4 002C06E4 7C BE 2B 78 */ mr r30, r5
/* 802C37A8 002C06E8 4B FF CE A5 */ bl Z2Creature_NS_framework
/* 802C37AC 002C06EC 88 1F 00 B3 */ lbz r0, 0xb3(r31)
/* 802C37B0 002C06F0 28 00 00 00 */ cmplwi r0, 0
/* 802C37B4 002C06F4 41 82 00 20 */ beq lbl_802C37D4
/* 802C37B8 002C06F8 38 7F 00 94 */ addi r3, r31, 0x94
/* 802C37BC 002C06FC 7F A4 EB 78 */ mr r4, r29
/* 802C37C0 002C0700 7F C5 F3 78 */ mr r5, r30
/* 802C37C4 002C0704 81 9F 00 A4 */ lwz r12, 0xa4(r31)
/* 802C37C8 002C0708 81 8C 00 08 */ lwz r12, 8(r12)
/* 802C37CC 002C070C 7D 89 03 A6 */ mtctr r12
/* 802C37D0 002C0710 4E 80 04 21 */ bctrl
lbl_802C37D4:
/* 802C37D4 002C0714 88 7F 00 C1 */ lbz r3, 0xc1(r31)
/* 802C37D8 002C0718 28 03 00 FF */ cmplwi r3, 0xff
/* 802C37DC 002C071C 41 82 00 0C */ beq lbl_802C37E8
/* 802C37E0 002C0720 38 03 00 01 */ addi r0, r3, 1
/* 802C37E4 002C0724 98 1F 00 C1 */ stb r0, 0xc1(r31)
lbl_802C37E8:
/* 802C37E8 002C0728 88 1F 00 CB */ lbz r0, 0xcb(r31)
/* 802C37EC 002C072C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 802C37F0 002C0730 41 82 00 3C */ beq lbl_802C382C
/* 802C37F4 002C0734 3C 60 00 02 */ lis r3, 0x00020051@ha
/* 802C37F8 002C0738 38 03 00 51 */ addi r0, r3, 0x00020051@l
/* 802C37FC 002C073C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C3800 002C0740 80 6D 86 08 */ lwz r3, lbl_80450B88-_SDA_BASE_(r13)
/* 802C3804 002C0744 38 81 00 14 */ addi r4, r1, 0x14
/* 802C3808 002C0748 38 A0 00 00 */ li r5, 0
/* 802C380C 002C074C 38 C0 00 00 */ li r6, 0
/* 802C3810 002C0750 38 E0 00 00 */ li r7, 0
/* 802C3814 002C0754 C0 22 C2 98 */ lfs f1, lbl_80455C98-_SDA2_BASE_(r2)
/* 802C3818 002C0758 FC 40 08 90 */ fmr f2, f1
/* 802C381C 002C075C C0 62 C2 9C */ lfs f3, lbl_80455C9C-_SDA2_BASE_(r2)
/* 802C3820 002C0760 FC 80 18 90 */ fmr f4, f3
/* 802C3824 002C0764 39 00 00 00 */ li r8, 0
/* 802C3828 002C0768 4B FE 8C E5 */ bl Z2SeMgr_NS_seStartLevel
lbl_802C382C:
/* 802C382C 002C076C 88 1F 00 CB */ lbz r0, 0xcb(r31)
/* 802C3830 002C0770 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 802C3834 002C0774 41 82 00 5C */ beq lbl_802C3890
/* 802C3838 002C0778 80 6D 85 FC */ lwz r3, lbl_80450B7C-_SDA_BASE_(r13)
/* 802C383C 002C077C C3 E3 00 1C */ lfs f31, 0x1c(r3)
/* 802C3840 002C0780 C0 02 C2 A0 */ lfs f0, lbl_80455CA0-_SDA2_BASE_(r2)
/* 802C3844 002C0784 FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 802C3848 002C0788 40 81 00 48 */ ble lbl_802C3890
/* 802C384C 002C078C 3C 60 00 02 */ lis r3, 0x00020062@ha
/* 802C3850 002C0790 38 03 00 62 */ addi r0, r3, 0x00020062@l
/* 802C3854 002C0794 90 01 00 10 */ stw r0, 0x10(r1)
/* 802C3858 002C0798 7F E3 FB 78 */ mr r3, r31
/* 802C385C 002C079C 38 81 00 10 */ addi r4, r1, 0x10
/* 802C3860 002C07A0 38 A0 00 00 */ li r5, 0
/* 802C3864 002C07A4 38 C0 FF FF */ li r6, -1
/* 802C3868 002C07A8 48 00 06 01 */ bl startLinkSoundLevel__14Z2CreatureLinkF10JAISoundIDUlSc
/* 802C386C 002C07AC 28 03 00 00 */ cmplwi r3, 0
/* 802C3870 002C07B0 41 82 00 20 */ beq lbl_802C3890
/* 802C3874 002C07B4 80 63 00 00 */ lwz r3, 0(r3)
/* 802C3878 002C07B8 28 03 00 00 */ cmplwi r3, 0
/* 802C387C 002C07BC 41 82 00 14 */ beq lbl_802C3890
/* 802C3880 002C07C0 38 63 00 48 */ addi r3, r3, 0x48
/* 802C3884 002C07C4 FC 20 F8 90 */ fmr f1, f31
/* 802C3888 002C07C8 38 80 00 00 */ li r4, 0
/* 802C388C 002C07CC 4B FD F5 29 */ bl moveVolume__18JAISoundParamsMoveFfUl
lbl_802C3890:
/* 802C3890 002C07D0 88 1F 00 CB */ lbz r0, 0xcb(r31)
/* 802C3894 002C07D4 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 802C3898 002C07D8 41 82 00 24 */ beq lbl_802C38BC
/* 802C389C 002C07DC 3C 60 00 02 */ lis r3, 0x0002002A@ha
/* 802C38A0 002C07E0 38 03 00 2A */ addi r0, r3, 0x0002002A@l
/* 802C38A4 002C07E4 90 01 00 0C */ stw r0, 0xc(r1)
/* 802C38A8 002C07E8 7F E3 FB 78 */ mr r3, r31
/* 802C38AC 002C07EC 38 81 00 0C */ addi r4, r1, 0xc
/* 802C38B0 002C07F0 38 A0 00 00 */ li r5, 0
/* 802C38B4 002C07F4 38 C0 FF FF */ li r6, -1
/* 802C38B8 002C07F8 48 00 05 B1 */ bl startLinkSoundLevel__14Z2CreatureLinkF10JAISoundIDUlSc
lbl_802C38BC:
/* 802C38BC 002C07FC 38 00 00 00 */ li r0, 0
/* 802C38C0 002C0800 98 1F 00 C8 */ stb r0, 0xc8(r31)
/* 802C38C4 002C0804 80 7F 00 04 */ lwz r3, 4(r31)
/* 802C38C8 002C0808 28 03 00 00 */ cmplwi r3, 0
/* 802C38CC 002C080C 41 82 01 24 */ beq lbl_802C39F0
/* 802C38D0 002C0810 C0 03 00 04 */ lfs f0, 4(r3)
/* 802C38D4 002C0814 D0 1F 00 B8 */ stfs f0, 0xb8(r31)
/* 802C38D8 002C0818 80 7F 00 04 */ lwz r3, 4(r31)
/* 802C38DC 002C081C 38 9F 00 B4 */ addi r4, r31, 0xb4
/* 802C38E0 002C0820 48 08 3A BD */ bl PSVECSquareDistance
/* 802C38E4 002C0824 C0 02 C2 A0 */ lfs f0, lbl_80455CA0-_SDA2_BASE_(r2)
/* 802C38E8 002C0828 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802C38EC 002C082C 40 81 00 58 */ ble lbl_802C3944
/* 802C38F0 002C0830 FC 00 08 34 */ frsqrte f0, f1
/* 802C38F4 002C0834 C8 82 C2 A8 */ lfd f4, lbl_80455CA8-_SDA2_BASE_(r2)
/* 802C38F8 002C0838 FC 44 00 32 */ fmul f2, f4, f0
/* 802C38FC 002C083C C8 62 C2 B0 */ lfd f3, lbl_80455CB0-_SDA2_BASE_(r2)
/* 802C3900 002C0840 FC 00 00 32 */ fmul f0, f0, f0
/* 802C3904 002C0844 FC 01 00 32 */ fmul f0, f1, f0
/* 802C3908 002C0848 FC 03 00 28 */ fsub f0, f3, f0
/* 802C390C 002C084C FC 02 00 32 */ fmul f0, f2, f0
/* 802C3910 002C0850 FC 44 00 32 */ fmul f2, f4, f0
/* 802C3914 002C0854 FC 00 00 32 */ fmul f0, f0, f0
/* 802C3918 002C0858 FC 01 00 32 */ fmul f0, f1, f0
/* 802C391C 002C085C FC 03 00 28 */ fsub f0, f3, f0
/* 802C3920 002C0860 FC 02 00 32 */ fmul f0, f2, f0
/* 802C3924 002C0864 FC 44 00 32 */ fmul f2, f4, f0
/* 802C3928 002C0868 FC 00 00 32 */ fmul f0, f0, f0
/* 802C392C 002C086C FC 01 00 32 */ fmul f0, f1, f0
/* 802C3930 002C0870 FC 03 00 28 */ fsub f0, f3, f0
/* 802C3934 002C0874 FC 02 00 32 */ fmul f0, f2, f0
/* 802C3938 002C0878 FC 21 00 32 */ fmul f1, f1, f0
/* 802C393C 002C087C FC 20 08 18 */ frsp f1, f1
/* 802C3940 002C0880 48 00 00 88 */ b lbl_802C39C8
lbl_802C3944:
/* 802C3944 002C0884 C8 02 C2 B8 */ lfd f0, lbl_80455CB8-_SDA2_BASE_(r2)
/* 802C3948 002C0888 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802C394C 002C088C 40 80 00 10 */ bge lbl_802C395C
/* 802C3950 002C0890 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
/* 802C3954 002C0894 C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3)
/* 802C3958 002C0898 48 00 00 70 */ b lbl_802C39C8
lbl_802C395C:
/* 802C395C 002C089C D0 21 00 08 */ stfs f1, 8(r1)
/* 802C3960 002C08A0 80 81 00 08 */ lwz r4, 8(r1)
/* 802C3964 002C08A4 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
/* 802C3968 002C08A8 3C 00 7F 80 */ lis r0, 0x7f80
/* 802C396C 002C08AC 7C 03 00 00 */ cmpw r3, r0
/* 802C3970 002C08B0 41 82 00 14 */ beq lbl_802C3984
/* 802C3974 002C08B4 40 80 00 40 */ bge lbl_802C39B4
/* 802C3978 002C08B8 2C 03 00 00 */ cmpwi r3, 0
/* 802C397C 002C08BC 41 82 00 20 */ beq lbl_802C399C
/* 802C3980 002C08C0 48 00 00 34 */ b lbl_802C39B4
lbl_802C3984:
/* 802C3984 002C08C4 54 80 02 7F */ clrlwi. r0, r4, 9
/* 802C3988 002C08C8 41 82 00 0C */ beq lbl_802C3994
/* 802C398C 002C08CC 38 00 00 01 */ li r0, 1
/* 802C3990 002C08D0 48 00 00 28 */ b lbl_802C39B8
lbl_802C3994:
/* 802C3994 002C08D4 38 00 00 02 */ li r0, 2
/* 802C3998 002C08D8 48 00 00 20 */ b lbl_802C39B8
lbl_802C399C:
/* 802C399C 002C08DC 54 80 02 7F */ clrlwi. r0, r4, 9
/* 802C39A0 002C08E0 41 82 00 0C */ beq lbl_802C39AC
/* 802C39A4 002C08E4 38 00 00 05 */ li r0, 5
/* 802C39A8 002C08E8 48 00 00 10 */ b lbl_802C39B8
lbl_802C39AC:
/* 802C39AC 002C08EC 38 00 00 03 */ li r0, 3
/* 802C39B0 002C08F0 48 00 00 08 */ b lbl_802C39B8
lbl_802C39B4:
/* 802C39B4 002C08F4 38 00 00 04 */ li r0, 4
lbl_802C39B8:
/* 802C39B8 002C08F8 2C 00 00 01 */ cmpwi r0, 1
/* 802C39BC 002C08FC 40 82 00 0C */ bne lbl_802C39C8
/* 802C39C0 002C0900 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
/* 802C39C4 002C0904 C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3)
lbl_802C39C8:
/* 802C39C8 002C0908 FC 00 08 1E */ fctiwz f0, f1
/* 802C39CC 002C090C D8 01 00 18 */ stfd f0, 0x18(r1)
/* 802C39D0 002C0910 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 802C39D4 002C0914 98 1F 00 C8 */ stb r0, 0xc8(r31)
/* 802C39D8 002C0918 80 7F 00 04 */ lwz r3, 4(r31)
/* 802C39DC 002C091C C0 03 00 00 */ lfs f0, 0(r3)
/* 802C39E0 002C0920 D0 1F 00 B4 */ stfs f0, 0xb4(r31)
/* 802C39E4 002C0924 80 7F 00 04 */ lwz r3, 4(r31)
/* 802C39E8 002C0928 C0 03 00 08 */ lfs f0, 8(r3)
/* 802C39EC 002C092C D0 1F 00 BC */ stfs f0, 0xbc(r31)
lbl_802C39F0:
/* 802C39F0 002C0930 80 6D 85 FC */ lwz r3, lbl_80450B7C-_SDA_BASE_(r13)
/* 802C39F4 002C0934 88 03 00 2C */ lbz r0, 0x2c(r3)
/* 802C39F8 002C0938 28 00 00 0A */ cmplwi r0, 0xa
/* 802C39FC 002C093C 40 82 00 10 */ bne lbl_802C3A0C
/* 802C3A00 002C0940 38 00 00 B4 */ li r0, 0xb4
/* 802C3A04 002C0944 98 1F 00 C9 */ stb r0, 0xc9(r31)
/* 802C3A08 002C0948 48 00 00 3C */ b lbl_802C3A44
lbl_802C3A0C:
/* 802C3A0C 002C094C 88 1F 00 C8 */ lbz r0, 0xc8(r31)
/* 802C3A10 002C0950 28 00 00 05 */ cmplwi r0, 5
/* 802C3A14 002C0954 40 80 00 1C */ bge lbl_802C3A30
/* 802C3A18 002C0958 88 7F 00 C9 */ lbz r3, 0xc9(r31)
/* 802C3A1C 002C095C 28 03 00 B4 */ cmplwi r3, 0xb4
/* 802C3A20 002C0960 40 80 00 24 */ bge lbl_802C3A44
/* 802C3A24 002C0964 38 03 00 01 */ addi r0, r3, 1
/* 802C3A28 002C0968 98 1F 00 C9 */ stb r0, 0xc9(r31)
/* 802C3A2C 002C096C 48 00 00 18 */ b lbl_802C3A44
lbl_802C3A30:
/* 802C3A30 002C0970 88 7F 00 C9 */ lbz r3, 0xc9(r31)
/* 802C3A34 002C0974 28 03 00 00 */ cmplwi r3, 0
/* 802C3A38 002C0978 41 82 00 0C */ beq lbl_802C3A44
/* 802C3A3C 002C097C 38 03 FF FF */ addi r0, r3, -1
/* 802C3A40 002C0980 98 1F 00 C9 */ stb r0, 0xc9(r31)
lbl_802C3A44:
/* 802C3A44 002C0984 E3 E1 00 38 */ psq_l f31, 56(r1), 0, 0
/* 802C3A48 002C0988 CB E1 00 30 */ lfd f31, 0x30(r1)
/* 802C3A4C 002C098C 39 61 00 30 */ addi r11, r1, 0x30
/* 802C3A50 002C0990 48 09 E7 D9 */ bl _restgpr_29
/* 802C3A54 002C0994 80 01 00 44 */ lwz r0, 0x44(r1)
/* 802C3A58 002C0998 7C 08 03 A6 */ mtlr r0
/* 802C3A5C 002C099C 38 21 00 40 */ addi r1, r1, 0x40
/* 802C3A60 002C09A0 4E 80 00 20 */ blr
@@ -0,0 +1,35 @@
/* 802C3A6C 002C09AC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802C3A70 002C09B0 7C 08 02 A6 */ mflr r0
/* 802C3A74 002C09B4 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C3A78 002C09B8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802C3A7C 002C09BC 93 C1 00 08 */ stw r30, 8(r1)
/* 802C3A80 002C09C0 7C 7E 1B 78 */ mr r30, r3
/* 802C3A84 002C09C4 7C 9F 23 78 */ mr r31, r4
/* 802C3A88 002C09C8 88 03 00 CB */ lbz r0, 0xcb(r3)
/* 802C3A8C 002C09CC 54 03 FF FE */ rlwinm r3, r0, 0x1f, 0x1f, 0x1f
/* 802C3A90 002C09D0 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 802C3A94 002C09D4 7C 03 00 40 */ cmplw r3, r0
/* 802C3A98 002C09D8 41 82 00 3C */ beq lbl_802C3AD4
/* 802C3A9C 002C09DC 28 00 00 00 */ cmplwi r0, 0
/* 802C3AA0 002C09E0 41 82 00 18 */ beq lbl_802C3AB8
/* 802C3AA4 002C09E4 80 6D 85 C4 */ lwz r3, lbl_80450B44-_SDA_BASE_(r13)
/* 802C3AA8 002C09E8 C0 22 C2 C0 */ lfs f1, lbl_80455CC0-_SDA2_BASE_(r2)
/* 802C3AAC 002C09EC 38 80 00 00 */ li r4, 0
/* 802C3AB0 002C09F0 4B FF 9E 5D */ bl Z2Audience_NS_setTargetVolume
/* 802C3AB4 002C09F4 48 00 00 14 */ b lbl_802C3AC8
lbl_802C3AB8:
/* 802C3AB8 002C09F8 80 6D 85 C4 */ lwz r3, lbl_80450B44-_SDA_BASE_(r13)
/* 802C3ABC 002C09FC C0 22 C2 A0 */ lfs f1, lbl_80455CA0-_SDA2_BASE_(r2)
/* 802C3AC0 002C0A00 38 80 00 00 */ li r4, 0
/* 802C3AC4 002C0A04 4B FF 9E 49 */ bl Z2Audience_NS_setTargetVolume
lbl_802C3AC8:
/* 802C3AC8 002C0A08 88 1E 00 CB */ lbz r0, 0xcb(r30)
/* 802C3ACC 002C0A0C 53 E0 0F BC */ rlwimi r0, r31, 1, 0x1e, 0x1e
/* 802C3AD0 002C0A10 98 1E 00 CB */ stb r0, 0xcb(r30)
lbl_802C3AD4:
/* 802C3AD4 002C0A14 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802C3AD8 002C0A18 83 C1 00 08 */ lwz r30, 8(r1)
/* 802C3ADC 002C0A1C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C3AE0 002C0A20 7C 08 03 A6 */ mtlr r0
/* 802C3AE4 002C0A24 38 21 00 10 */ addi r1, r1, 0x10
/* 802C3AE8 002C0A28 4E 80 00 20 */ blr
@@ -0,0 +1,4 @@
/* 802C3AEC 002C0A2C 88 03 00 CB */ lbz r0, 0xcb(r3)
/* 802C3AF0 002C0A30 50 80 07 FE */ rlwimi r0, r4, 0, 0x1f, 0x1f
/* 802C3AF4 002C0A34 98 03 00 CB */ stb r0, 0xcb(r3)
/* 802C3AF8 002C0A38 4E 80 00 20 */ blr
@@ -0,0 +1,56 @@
/* 802C3AFC 002C0A3C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802C3B00 002C0A40 7C 08 02 A6 */ mflr r0
/* 802C3B04 002C0A44 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C3B08 002C0A48 88 03 00 CB */ lbz r0, 0xcb(r3)
/* 802C3B0C 002C0A4C 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 802C3B10 002C0A50 98 03 00 CB */ stb r0, 0xcb(r3)
/* 802C3B14 002C0A54 88 03 00 CB */ lbz r0, 0xcb(r3)
/* 802C3B18 002C0A58 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 802C3B1C 002C0A5C 41 82 00 58 */ beq lbl_802C3B74
/* 802C3B20 002C0A60 3C 60 00 02 */ lis r3, 0x00020050@ha
/* 802C3B24 002C0A64 38 03 00 50 */ addi r0, r3, 0x00020050@l
/* 802C3B28 002C0A68 90 01 00 0C */ stw r0, 0xc(r1)
/* 802C3B2C 002C0A6C 80 6D 86 08 */ lwz r3, lbl_80450B88-_SDA_BASE_(r13)
/* 802C3B30 002C0A70 38 81 00 0C */ addi r4, r1, 0xc
/* 802C3B34 002C0A74 38 A0 00 00 */ li r5, 0
/* 802C3B38 002C0A78 38 C0 00 00 */ li r6, 0
/* 802C3B3C 002C0A7C 38 E0 00 00 */ li r7, 0
/* 802C3B40 002C0A80 C0 22 C2 98 */ lfs f1, lbl_80455C98-_SDA2_BASE_(r2)
/* 802C3B44 002C0A84 FC 40 08 90 */ fmr f2, f1
/* 802C3B48 002C0A88 C0 62 C2 9C */ lfs f3, lbl_80455C9C-_SDA2_BASE_(r2)
/* 802C3B4C 002C0A8C FC 80 18 90 */ fmr f4, f3
/* 802C3B50 002C0A90 39 00 00 00 */ li r8, 0
/* 802C3B54 002C0A94 4B FE 7E 31 */ bl Z2SeMgr_NS_seStart
/* 802C3B58 002C0A98 80 6D 85 C0 */ lwz r3, lbl_80450B40-_SDA_BASE_(r13)
/* 802C3B5C 002C0A9C 38 80 00 01 */ li r4, 1
/* 802C3B60 002C0AA0 4B FF 72 BD */ bl Z2FxLineMgr_NS_setFxForceOff
/* 802C3B64 002C0AA4 80 6D 85 C8 */ lwz r3, lbl_80450B48-_SDA_BASE_(r13)
/* 802C3B68 002C0AA8 38 80 00 20 */ li r4, 0x20
/* 802C3B6C 002C0AAC 4B FF C4 81 */ bl Z2SoundObjMgr_NS_setGhostEnemyState
/* 802C3B70 002C0AB0 48 00 00 54 */ b lbl_802C3BC4
lbl_802C3B74:
/* 802C3B74 002C0AB4 3C 60 00 02 */ lis r3, 0x00020095@ha
/* 802C3B78 002C0AB8 38 03 00 95 */ addi r0, r3, 0x00020095@l
/* 802C3B7C 002C0ABC 90 01 00 08 */ stw r0, 8(r1)
/* 802C3B80 002C0AC0 80 6D 86 08 */ lwz r3, lbl_80450B88-_SDA_BASE_(r13)
/* 802C3B84 002C0AC4 38 81 00 08 */ addi r4, r1, 8
/* 802C3B88 002C0AC8 38 A0 00 00 */ li r5, 0
/* 802C3B8C 002C0ACC 38 C0 00 00 */ li r6, 0
/* 802C3B90 002C0AD0 38 E0 00 00 */ li r7, 0
/* 802C3B94 002C0AD4 C0 22 C2 98 */ lfs f1, lbl_80455C98-_SDA2_BASE_(r2)
/* 802C3B98 002C0AD8 FC 40 08 90 */ fmr f2, f1
/* 802C3B9C 002C0ADC C0 62 C2 9C */ lfs f3, lbl_80455C9C-_SDA2_BASE_(r2)
/* 802C3BA0 002C0AE0 FC 80 18 90 */ fmr f4, f3
/* 802C3BA4 002C0AE4 39 00 00 00 */ li r8, 0
/* 802C3BA8 002C0AE8 4B FE 7D DD */ bl Z2SeMgr_NS_seStart
/* 802C3BAC 002C0AEC 80 6D 85 C0 */ lwz r3, lbl_80450B40-_SDA_BASE_(r13)
/* 802C3BB0 002C0AF0 38 80 00 00 */ li r4, 0
/* 802C3BB4 002C0AF4 4B FF 72 69 */ bl Z2FxLineMgr_NS_setFxForceOff
/* 802C3BB8 002C0AF8 80 6D 85 C8 */ lwz r3, lbl_80450B48-_SDA_BASE_(r13)
/* 802C3BBC 002C0AFC 38 80 00 10 */ li r4, 0x10
/* 802C3BC0 002C0B00 4B FF C4 2D */ bl Z2SoundObjMgr_NS_setGhostEnemyState
lbl_802C3BC4:
/* 802C3BC4 002C0B04 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C3BC8 002C0B08 7C 08 03 A6 */ mtlr r0
/* 802C3BCC 002C0B0C 38 21 00 10 */ addi r1, r1, 0x10
/* 802C3BD0 002C0B10 4E 80 00 20 */ blr
@@ -0,0 +1,171 @@
/* 802C3BD4 002C0B14 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 802C3BD8 002C0B18 7C 08 02 A6 */ mflr r0
/* 802C3BDC 002C0B1C 90 01 00 54 */ stw r0, 0x54(r1)
/* 802C3BE0 002C0B20 DB E1 00 40 */ stfd f31, 0x40(r1)
/* 802C3BE4 002C0B24 F3 E1 00 48 */ psq_st f31, 72(r1), 0, 0
/* 802C3BE8 002C0B28 DB C1 00 30 */ stfd f30, 0x30(r1)
/* 802C3BEC 002C0B2C F3 C1 00 38 */ psq_st f30, 56(r1), 0, 0
/* 802C3BF0 002C0B30 39 61 00 30 */ addi r11, r1, 0x30
/* 802C3BF4 002C0B34 48 09 E5 E9 */ bl _savegpr_29
/* 802C3BF8 002C0B38 7C 7E 1B 78 */ mr r30, r3
/* 802C3BFC 002C0B3C 7C 9D 23 78 */ mr r29, r4
/* 802C3C00 002C0B40 80 04 00 00 */ lwz r0, 0(r4)
/* 802C3C04 002C0B44 90 01 00 0C */ stw r0, 0xc(r1)
/* 802C3C08 002C0B48 38 81 00 0C */ addi r4, r1, 0xc
/* 802C3C0C 002C0B4C 81 83 00 00 */ lwz r12, 0(r3)
/* 802C3C10 002C0B50 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 802C3C14 002C0B54 7D 89 03 A6 */ mtctr r12
/* 802C3C18 002C0B58 4E 80 04 21 */ bctrl
/* 802C3C1C 002C0B5C 7C 7F 1B 78 */ mr r31, r3
/* 802C3C20 002C0B60 80 9D 00 00 */ lwz r4, 0(r29)
/* 802C3C24 002C0B64 3C 60 00 02 */ lis r3, 0x0002004C@ha
/* 802C3C28 002C0B68 38 03 00 4C */ addi r0, r3, 0x0002004C@l
/* 802C3C2C 002C0B6C 7C 04 00 00 */ cmpw r4, r0
/* 802C3C30 002C0B70 41 82 00 54 */ beq lbl_802C3C84
/* 802C3C34 002C0B74 40 80 00 30 */ bge lbl_802C3C64
/* 802C3C38 002C0B78 38 03 00 48 */ addi r0, r3, 0x48
/* 802C3C3C 002C0B7C 7C 04 00 00 */ cmpw r4, r0
/* 802C3C40 002C0B80 41 82 00 54 */ beq lbl_802C3C94
/* 802C3C44 002C0B84 40 80 01 F8 */ bge lbl_802C3E3C
/* 802C3C48 002C0B88 38 03 00 16 */ addi r0, r3, 0x16
/* 802C3C4C 002C0B8C 7C 04 00 00 */ cmpw r4, r0
/* 802C3C50 002C0B90 40 80 01 EC */ bge lbl_802C3E3C
/* 802C3C54 002C0B94 38 03 00 14 */ addi r0, r3, 0x14
/* 802C3C58 002C0B98 7C 04 00 00 */ cmpw r4, r0
/* 802C3C5C 002C0B9C 40 80 00 28 */ bge lbl_802C3C84
/* 802C3C60 002C0BA0 48 00 01 DC */ b lbl_802C3E3C
lbl_802C3C64:
/* 802C3C64 002C0BA4 38 03 00 74 */ addi r0, r3, 0x74
/* 802C3C68 002C0BA8 7C 04 00 00 */ cmpw r4, r0
/* 802C3C6C 002C0BAC 41 82 01 14 */ beq lbl_802C3D80
/* 802C3C70 002C0BB0 40 80 01 CC */ bge lbl_802C3E3C
/* 802C3C74 002C0BB4 38 03 00 71 */ addi r0, r3, 0x71
/* 802C3C78 002C0BB8 7C 04 00 00 */ cmpw r4, r0
/* 802C3C7C 002C0BBC 41 82 00 44 */ beq lbl_802C3CC0
/* 802C3C80 002C0BC0 48 00 01 BC */ b lbl_802C3E3C
lbl_802C3C84:
/* 802C3C84 002C0BC4 80 6D 86 04 */ lwz r3, lbl_80450B84-_SDA_BASE_(r13)
/* 802C3C88 002C0BC8 38 80 00 02 */ li r4, 2
/* 802C3C8C 002C0BCC 4B FF 0B B9 */ bl Z2SeqMgr_NS_setBattleSeqState
/* 802C3C90 002C0BD0 48 00 01 AC */ b lbl_802C3E3C
lbl_802C3C94:
/* 802C3C94 002C0BD4 38 03 00 43 */ addi r0, r3, 0x43
/* 802C3C98 002C0BD8 90 01 00 08 */ stw r0, 8(r1)
/* 802C3C9C 002C0BDC 38 7E 00 08 */ addi r3, r30, 8
/* 802C3CA0 002C0BE0 38 81 00 08 */ addi r4, r1, 8
/* 802C3CA4 002C0BE4 4B FE 75 B1 */ bl Z2SoundHandles_NS_getHandleSoundID
/* 802C3CA8 002C0BE8 28 03 00 00 */ cmplwi r3, 0
/* 802C3CAC 002C0BEC 41 82 01 90 */ beq lbl_802C3E3C
/* 802C3CB0 002C0BF0 80 63 00 00 */ lwz r3, 0(r3)
/* 802C3CB4 002C0BF4 38 80 00 00 */ li r4, 0
/* 802C3CB8 002C0BF8 4B FD E8 25 */ bl JAISound_NS_stop
/* 802C3CBC 002C0BFC 48 00 01 80 */ b lbl_802C3E3C
lbl_802C3CC0:
/* 802C3CC0 002C0C00 28 1F 00 00 */ cmplwi r31, 0
/* 802C3CC4 002C0C04 41 82 01 78 */ beq lbl_802C3E3C
/* 802C3CC8 002C0C08 80 1F 00 00 */ lwz r0, 0(r31)
/* 802C3CCC 002C0C0C 28 00 00 00 */ cmplwi r0, 0
/* 802C3CD0 002C0C10 41 82 01 6C */ beq lbl_802C3E3C
/* 802C3CD4 002C0C14 88 1E 00 CA */ lbz r0, 0xca(r30)
/* 802C3CD8 002C0C18 7C 00 07 74 */ extsb r0, r0
/* 802C3CDC 002C0C1C C8 22 C2 E0 */ lfd f1, lbl_80455CE0-_SDA2_BASE_(r2)
/* 802C3CE0 002C0C20 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 802C3CE4 002C0C24 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C3CE8 002C0C28 3C 00 43 30 */ lis r0, 0x4330
/* 802C3CEC 002C0C2C 90 01 00 10 */ stw r0, 0x10(r1)
/* 802C3CF0 002C0C30 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802C3CF4 002C0C34 EC 20 08 28 */ fsubs f1, f0, f1
/* 802C3CF8 002C0C38 C0 42 C2 C4 */ lfs f2, lbl_80455CC4-_SDA2_BASE_(r2)
/* 802C3CFC 002C0C3C C0 62 C2 C8 */ lfs f3, lbl_80455CC8-_SDA2_BASE_(r2)
/* 802C3D00 002C0C40 C0 82 C2 CC */ lfs f4, lbl_80455CCC-_SDA2_BASE_(r2)
/* 802C3D04 002C0C44 C0 A2 C2 98 */ lfs f5, lbl_80455C98-_SDA2_BASE_(r2)
/* 802C3D08 002C0C48 38 60 00 00 */ li r3, 0
/* 802C3D0C 002C0C4C 4B FE 59 81 */ bl linearTransform__6Z2CalcFfffffb
/* 802C3D10 002C0C50 FF E0 08 90 */ fmr f31, f1
/* 802C3D14 002C0C54 88 1E 00 CA */ lbz r0, 0xca(r30)
/* 802C3D18 002C0C58 7C 00 07 74 */ extsb r0, r0
/* 802C3D1C 002C0C5C C8 22 C2 E0 */ lfd f1, lbl_80455CE0-_SDA2_BASE_(r2)
/* 802C3D20 002C0C60 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 802C3D24 002C0C64 90 01 00 1C */ stw r0, 0x1c(r1)
/* 802C3D28 002C0C68 3C 00 43 30 */ lis r0, 0x4330
/* 802C3D2C 002C0C6C 90 01 00 18 */ stw r0, 0x18(r1)
/* 802C3D30 002C0C70 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 802C3D34 002C0C74 EC 20 08 28 */ fsubs f1, f0, f1
/* 802C3D38 002C0C78 C0 42 C2 C4 */ lfs f2, lbl_80455CC4-_SDA2_BASE_(r2)
/* 802C3D3C 002C0C7C C0 62 C2 C8 */ lfs f3, lbl_80455CC8-_SDA2_BASE_(r2)
/* 802C3D40 002C0C80 C0 82 C2 98 */ lfs f4, lbl_80455C98-_SDA2_BASE_(r2)
/* 802C3D44 002C0C84 C0 A2 C2 D0 */ lfs f5, lbl_80455CD0-_SDA2_BASE_(r2)
/* 802C3D48 002C0C88 38 60 00 00 */ li r3, 0
/* 802C3D4C 002C0C8C 4B FE 59 41 */ bl linearTransform__6Z2CalcFfffffb
/* 802C3D50 002C0C90 FF C0 08 90 */ fmr f30, f1
/* 802C3D54 002C0C94 80 7F 00 00 */ lwz r3, 0(r31)
/* 802C3D58 002C0C98 38 63 00 48 */ addi r3, r3, 0x48
/* 802C3D5C 002C0C9C FC 20 F8 90 */ fmr f1, f31
/* 802C3D60 002C0CA0 38 80 00 00 */ li r4, 0
/* 802C3D64 002C0CA4 4B FD F0 51 */ bl moveVolume__18JAISoundParamsMoveFfUl
/* 802C3D68 002C0CA8 80 7F 00 00 */ lwz r3, 0(r31)
/* 802C3D6C 002C0CAC 38 63 00 48 */ addi r3, r3, 0x48
/* 802C3D70 002C0CB0 FC 20 F0 90 */ fmr f1, f30
/* 802C3D74 002C0CB4 38 80 00 00 */ li r4, 0
/* 802C3D78 002C0CB8 4B FD F0 95 */ bl JAISoundParamsMove_NS_movePitch
/* 802C3D7C 002C0CBC 48 00 00 C0 */ b lbl_802C3E3C
lbl_802C3D80:
/* 802C3D80 002C0CC0 28 1F 00 00 */ cmplwi r31, 0
/* 802C3D84 002C0CC4 41 82 00 B8 */ beq lbl_802C3E3C
/* 802C3D88 002C0CC8 80 1F 00 00 */ lwz r0, 0(r31)
/* 802C3D8C 002C0CCC 28 00 00 00 */ cmplwi r0, 0
/* 802C3D90 002C0CD0 41 82 00 AC */ beq lbl_802C3E3C
/* 802C3D94 002C0CD4 88 1E 00 CA */ lbz r0, 0xca(r30)
/* 802C3D98 002C0CD8 7C 00 07 74 */ extsb r0, r0
/* 802C3D9C 002C0CDC C8 22 C2 E0 */ lfd f1, lbl_80455CE0-_SDA2_BASE_(r2)
/* 802C3DA0 002C0CE0 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 802C3DA4 002C0CE4 90 01 00 1C */ stw r0, 0x1c(r1)
/* 802C3DA8 002C0CE8 3C 00 43 30 */ lis r0, 0x4330
/* 802C3DAC 002C0CEC 90 01 00 18 */ stw r0, 0x18(r1)
/* 802C3DB0 002C0CF0 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 802C3DB4 002C0CF4 EC 20 08 28 */ fsubs f1, f0, f1
/* 802C3DB8 002C0CF8 C0 42 C2 A0 */ lfs f2, lbl_80455CA0-_SDA2_BASE_(r2)
/* 802C3DBC 002C0CFC C0 62 C2 D4 */ lfs f3, lbl_80455CD4-_SDA2_BASE_(r2)
/* 802C3DC0 002C0D00 C0 82 C2 D8 */ lfs f4, lbl_80455CD8-_SDA2_BASE_(r2)
/* 802C3DC4 002C0D04 C0 A2 C2 98 */ lfs f5, lbl_80455C98-_SDA2_BASE_(r2)
/* 802C3DC8 002C0D08 38 60 00 00 */ li r3, 0
/* 802C3DCC 002C0D0C 4B FE 58 C1 */ bl linearTransform__6Z2CalcFfffffb
/* 802C3DD0 002C0D10 FF C0 08 90 */ fmr f30, f1
/* 802C3DD4 002C0D14 88 1E 00 CA */ lbz r0, 0xca(r30)
/* 802C3DD8 002C0D18 7C 00 07 74 */ extsb r0, r0
/* 802C3DDC 002C0D1C C8 22 C2 E0 */ lfd f1, lbl_80455CE0-_SDA2_BASE_(r2)
/* 802C3DE0 002C0D20 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 802C3DE4 002C0D24 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C3DE8 002C0D28 3C 00 43 30 */ lis r0, 0x4330
/* 802C3DEC 002C0D2C 90 01 00 10 */ stw r0, 0x10(r1)
/* 802C3DF0 002C0D30 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802C3DF4 002C0D34 EC 20 08 28 */ fsubs f1, f0, f1
/* 802C3DF8 002C0D38 C0 42 C2 A0 */ lfs f2, lbl_80455CA0-_SDA2_BASE_(r2)
/* 802C3DFC 002C0D3C C0 62 C2 D4 */ lfs f3, lbl_80455CD4-_SDA2_BASE_(r2)
/* 802C3E00 002C0D40 C0 82 C2 98 */ lfs f4, lbl_80455C98-_SDA2_BASE_(r2)
/* 802C3E04 002C0D44 C0 A2 C2 D0 */ lfs f5, lbl_80455CD0-_SDA2_BASE_(r2)
/* 802C3E08 002C0D48 38 60 00 00 */ li r3, 0
/* 802C3E0C 002C0D4C 4B FE 58 81 */ bl linearTransform__6Z2CalcFfffffb
/* 802C3E10 002C0D50 FF E0 08 90 */ fmr f31, f1
/* 802C3E14 002C0D54 80 7F 00 00 */ lwz r3, 0(r31)
/* 802C3E18 002C0D58 38 63 00 48 */ addi r3, r3, 0x48
/* 802C3E1C 002C0D5C FC 20 F0 90 */ fmr f1, f30
/* 802C3E20 002C0D60 38 80 00 00 */ li r4, 0
/* 802C3E24 002C0D64 4B FD EF 91 */ bl moveVolume__18JAISoundParamsMoveFfUl
/* 802C3E28 002C0D68 80 7F 00 00 */ lwz r3, 0(r31)
/* 802C3E2C 002C0D6C 38 63 00 48 */ addi r3, r3, 0x48
/* 802C3E30 002C0D70 FC 20 F8 90 */ fmr f1, f31
/* 802C3E34 002C0D74 38 80 00 00 */ li r4, 0
/* 802C3E38 002C0D78 4B FD EF D5 */ bl JAISoundParamsMove_NS_movePitch
lbl_802C3E3C:
/* 802C3E3C 002C0D7C 7F E3 FB 78 */ mr r3, r31
/* 802C3E40 002C0D80 E3 E1 00 48 */ psq_l f31, 72(r1), 0, 0
/* 802C3E44 002C0D84 CB E1 00 40 */ lfd f31, 0x40(r1)
/* 802C3E48 002C0D88 E3 C1 00 38 */ psq_l f30, 56(r1), 0, 0
/* 802C3E4C 002C0D8C CB C1 00 30 */ lfd f30, 0x30(r1)
/* 802C3E50 002C0D90 39 61 00 30 */ addi r11, r1, 0x30
/* 802C3E54 002C0D94 48 09 E3 D5 */ bl _restgpr_29
/* 802C3E58 002C0D98 80 01 00 54 */ lwz r0, 0x54(r1)
/* 802C3E5C 002C0D9C 7C 08 03 A6 */ mtlr r0
/* 802C3E60 002C0DA0 38 21 00 50 */ addi r1, r1, 0x50
/* 802C3E64 002C0DA4 4E 80 00 20 */ blr
@@ -0,0 +1,322 @@
/* 802C3E68 002C0DA8 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 802C3E6C 002C0DAC 7C 08 02 A6 */ mflr r0
/* 802C3E70 002C0DB0 90 01 00 54 */ stw r0, 0x54(r1)
/* 802C3E74 002C0DB4 DB E1 00 40 */ stfd f31, 0x40(r1)
/* 802C3E78 002C0DB8 F3 E1 00 48 */ psq_st f31, 72(r1), 0, 0
/* 802C3E7C 002C0DBC DB C1 00 30 */ stfd f30, 0x30(r1)
/* 802C3E80 002C0DC0 F3 C1 00 38 */ psq_st f30, 56(r1), 0, 0
/* 802C3E84 002C0DC4 39 61 00 30 */ addi r11, r1, 0x30
/* 802C3E88 002C0DC8 48 09 E3 51 */ bl _savegpr_28
/* 802C3E8C 002C0DCC 7C 7D 1B 78 */ mr r29, r3
/* 802C3E90 002C0DD0 7C 9C 23 78 */ mr r28, r4
/* 802C3E94 002C0DD4 80 84 00 00 */ lwz r4, 0(r4)
/* 802C3E98 002C0DD8 3C 04 FF FE */ addis r0, r4, 0xfffe
/* 802C3E9C 002C0DDC 28 00 00 BD */ cmplwi r0, 0xbd
/* 802C3EA0 002C0DE0 40 82 00 2C */ bne lbl_802C3ECC
/* 802C3EA4 002C0DE4 80 6D 85 FC */ lwz r3, lbl_80450B7C-_SDA_BASE_(r13)
/* 802C3EA8 002C0DE8 88 03 00 2C */ lbz r0, 0x2c(r3)
/* 802C3EAC 002C0DEC 28 00 00 02 */ cmplwi r0, 2
/* 802C3EB0 002C0DF0 41 82 00 14 */ beq lbl_802C3EC4
/* 802C3EB4 002C0DF4 80 6D 86 00 */ lwz r3, lbl_80450B80-_SDA_BASE_(r13)
/* 802C3EB8 002C0DF8 88 03 00 1C */ lbz r0, 0x1c(r3)
/* 802C3EBC 002C0DFC 28 00 00 00 */ cmplwi r0, 0
/* 802C3EC0 002C0E00 40 82 00 0C */ bne lbl_802C3ECC
lbl_802C3EC4:
/* 802C3EC4 002C0E04 38 60 00 00 */ li r3, 0
/* 802C3EC8 002C0E08 48 00 04 30 */ b lbl_802C42F8
lbl_802C3ECC:
/* 802C3ECC 002C0E0C 90 81 00 0C */ stw r4, 0xc(r1)
/* 802C3ED0 002C0E10 7F A3 EB 78 */ mr r3, r29
/* 802C3ED4 002C0E14 38 81 00 0C */ addi r4, r1, 0xc
/* 802C3ED8 002C0E18 81 9D 00 00 */ lwz r12, 0(r29)
/* 802C3EDC 002C0E1C 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 802C3EE0 002C0E20 7D 89 03 A6 */ mtctr r12
/* 802C3EE4 002C0E24 4E 80 04 21 */ bctrl
/* 802C3EE8 002C0E28 7C 7F 1B 79 */ or. r31, r3, r3
/* 802C3EEC 002C0E2C 41 82 04 08 */ beq lbl_802C42F4
/* 802C3EF0 002C0E30 80 BF 00 00 */ lwz r5, 0(r31)
/* 802C3EF4 002C0E34 28 05 00 00 */ cmplwi r5, 0
/* 802C3EF8 002C0E38 41 82 03 FC */ beq lbl_802C42F4
/* 802C3EFC 002C0E3C C3 E2 C2 98 */ lfs f31, lbl_80455C98-_SDA2_BASE_(r2)
/* 802C3F00 002C0E40 FF C0 F8 90 */ fmr f30, f31
/* 802C3F04 002C0E44 3B C0 00 00 */ li r30, 0
/* 802C3F08 002C0E48 80 9C 00 00 */ lwz r4, 0(r28)
/* 802C3F0C 002C0E4C 3C 60 00 02 */ lis r3, 0x00020073@ha
/* 802C3F10 002C0E50 38 03 00 73 */ addi r0, r3, 0x00020073@l
/* 802C3F14 002C0E54 7C 04 00 00 */ cmpw r4, r0
/* 802C3F18 002C0E58 41 82 00 F0 */ beq lbl_802C4008
/* 802C3F1C 002C0E5C 40 80 00 34 */ bge lbl_802C3F50
/* 802C3F20 002C0E60 38 03 00 6E */ addi r0, r3, 0x6e
/* 802C3F24 002C0E64 7C 04 00 00 */ cmpw r4, r0
/* 802C3F28 002C0E68 41 82 02 38 */ beq lbl_802C4160
/* 802C3F2C 002C0E6C 40 80 00 14 */ bge lbl_802C3F40
/* 802C3F30 002C0E70 38 03 00 6C */ addi r0, r3, 0x6c
/* 802C3F34 002C0E74 7C 04 00 00 */ cmpw r4, r0
/* 802C3F38 002C0E78 41 82 01 5C */ beq lbl_802C4094
/* 802C3F3C 002C0E7C 48 00 03 90 */ b lbl_802C42CC
lbl_802C3F40:
/* 802C3F40 002C0E80 38 03 00 70 */ addi r0, r3, 0x70
/* 802C3F44 002C0E84 7C 04 00 00 */ cmpw r4, r0
/* 802C3F48 002C0E88 41 82 00 34 */ beq lbl_802C3F7C
/* 802C3F4C 002C0E8C 48 00 03 80 */ b lbl_802C42CC
lbl_802C3F50:
/* 802C3F50 002C0E90 38 03 00 BD */ addi r0, r3, 0xbd
/* 802C3F54 002C0E94 7C 04 00 00 */ cmpw r4, r0
/* 802C3F58 002C0E98 41 82 03 34 */ beq lbl_802C428C
/* 802C3F5C 002C0E9C 40 80 03 70 */ bge lbl_802C42CC
/* 802C3F60 002C0EA0 38 03 00 93 */ addi r0, r3, 0x93
/* 802C3F64 002C0EA4 7C 04 00 00 */ cmpw r4, r0
/* 802C3F68 002C0EA8 40 80 03 64 */ bge lbl_802C42CC
/* 802C3F6C 002C0EAC 38 03 00 91 */ addi r0, r3, 0x91
/* 802C3F70 002C0EB0 7C 04 00 00 */ cmpw r4, r0
/* 802C3F74 002C0EB4 40 80 02 2C */ bge lbl_802C41A0
/* 802C3F78 002C0EB8 48 00 03 54 */ b lbl_802C42CC
lbl_802C3F7C:
/* 802C3F7C 002C0EBC 88 7D 00 CA */ lbz r3, 0xca(r29)
/* 802C3F80 002C0EC0 7C 60 07 75 */ extsb. r0, r3
/* 802C3F84 002C0EC4 40 81 03 48 */ ble lbl_802C42CC
/* 802C3F88 002C0EC8 7C 60 07 74 */ extsb r0, r3
/* 802C3F8C 002C0ECC C8 22 C2 E0 */ lfd f1, lbl_80455CE0-_SDA2_BASE_(r2)
/* 802C3F90 002C0ED0 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 802C3F94 002C0ED4 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C3F98 002C0ED8 3C 00 43 30 */ lis r0, 0x4330
/* 802C3F9C 002C0EDC 90 01 00 10 */ stw r0, 0x10(r1)
/* 802C3FA0 002C0EE0 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802C3FA4 002C0EE4 EC 20 08 28 */ fsubs f1, f0, f1
/* 802C3FA8 002C0EE8 C0 42 C2 A0 */ lfs f2, lbl_80455CA0-_SDA2_BASE_(r2)
/* 802C3FAC 002C0EEC C0 62 C2 C8 */ lfs f3, lbl_80455CC8-_SDA2_BASE_(r2)
/* 802C3FB0 002C0EF0 C0 82 C2 CC */ lfs f4, lbl_80455CCC-_SDA2_BASE_(r2)
/* 802C3FB4 002C0EF4 FC A0 F8 90 */ fmr f5, f31
/* 802C3FB8 002C0EF8 38 60 00 01 */ li r3, 1
/* 802C3FBC 002C0EFC 4B FE 56 D1 */ bl linearTransform__6Z2CalcFfffffb
/* 802C3FC0 002C0F00 FF E0 08 90 */ fmr f31, f1
/* 802C3FC4 002C0F04 88 1D 00 CA */ lbz r0, 0xca(r29)
/* 802C3FC8 002C0F08 7C 00 07 74 */ extsb r0, r0
/* 802C3FCC 002C0F0C C8 22 C2 E0 */ lfd f1, lbl_80455CE0-_SDA2_BASE_(r2)
/* 802C3FD0 002C0F10 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 802C3FD4 002C0F14 90 01 00 1C */ stw r0, 0x1c(r1)
/* 802C3FD8 002C0F18 3C 00 43 30 */ lis r0, 0x4330
/* 802C3FDC 002C0F1C 90 01 00 18 */ stw r0, 0x18(r1)
/* 802C3FE0 002C0F20 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 802C3FE4 002C0F24 EC 20 08 28 */ fsubs f1, f0, f1
/* 802C3FE8 002C0F28 C0 42 C2 A0 */ lfs f2, lbl_80455CA0-_SDA2_BASE_(r2)
/* 802C3FEC 002C0F2C C0 62 C2 C8 */ lfs f3, lbl_80455CC8-_SDA2_BASE_(r2)
/* 802C3FF0 002C0F30 C0 82 C2 98 */ lfs f4, lbl_80455C98-_SDA2_BASE_(r2)
/* 802C3FF4 002C0F34 C0 A2 C2 D0 */ lfs f5, lbl_80455CD0-_SDA2_BASE_(r2)
/* 802C3FF8 002C0F38 38 60 00 01 */ li r3, 1
/* 802C3FFC 002C0F3C 4B FE 56 91 */ bl linearTransform__6Z2CalcFfffffb
/* 802C4000 002C0F40 FF C0 08 90 */ fmr f30, f1
/* 802C4004 002C0F44 48 00 02 C8 */ b lbl_802C42CC
lbl_802C4008:
/* 802C4008 002C0F48 88 7D 00 CA */ lbz r3, 0xca(r29)
/* 802C400C 002C0F4C 7C 60 07 75 */ extsb. r0, r3
/* 802C4010 002C0F50 40 81 02 BC */ ble lbl_802C42CC
/* 802C4014 002C0F54 7C 60 07 74 */ extsb r0, r3
/* 802C4018 002C0F58 C8 22 C2 E0 */ lfd f1, lbl_80455CE0-_SDA2_BASE_(r2)
/* 802C401C 002C0F5C 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 802C4020 002C0F60 90 01 00 1C */ stw r0, 0x1c(r1)
/* 802C4024 002C0F64 3C 00 43 30 */ lis r0, 0x4330
/* 802C4028 002C0F68 90 01 00 18 */ stw r0, 0x18(r1)
/* 802C402C 002C0F6C C8 01 00 18 */ lfd f0, 0x18(r1)
/* 802C4030 002C0F70 EC 20 08 28 */ fsubs f1, f0, f1
/* 802C4034 002C0F74 C0 42 C2 A0 */ lfs f2, lbl_80455CA0-_SDA2_BASE_(r2)
/* 802C4038 002C0F78 C0 62 C2 D4 */ lfs f3, lbl_80455CD4-_SDA2_BASE_(r2)
/* 802C403C 002C0F7C C0 82 C2 D0 */ lfs f4, lbl_80455CD0-_SDA2_BASE_(r2)
/* 802C4040 002C0F80 FC A0 F8 90 */ fmr f5, f31
/* 802C4044 002C0F84 38 60 00 01 */ li r3, 1
/* 802C4048 002C0F88 4B FE 56 45 */ bl linearTransform__6Z2CalcFfffffb
/* 802C404C 002C0F8C FF E0 08 90 */ fmr f31, f1
/* 802C4050 002C0F90 88 1D 00 CA */ lbz r0, 0xca(r29)
/* 802C4054 002C0F94 7C 00 07 74 */ extsb r0, r0
/* 802C4058 002C0F98 C8 22 C2 E0 */ lfd f1, lbl_80455CE0-_SDA2_BASE_(r2)
/* 802C405C 002C0F9C 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 802C4060 002C0FA0 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C4064 002C0FA4 3C 00 43 30 */ lis r0, 0x4330
/* 802C4068 002C0FA8 90 01 00 10 */ stw r0, 0x10(r1)
/* 802C406C 002C0FAC C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802C4070 002C0FB0 EC 20 08 28 */ fsubs f1, f0, f1
/* 802C4074 002C0FB4 C0 42 C2 A0 */ lfs f2, lbl_80455CA0-_SDA2_BASE_(r2)
/* 802C4078 002C0FB8 C0 62 C2 D4 */ lfs f3, lbl_80455CD4-_SDA2_BASE_(r2)
/* 802C407C 002C0FBC C0 82 C2 98 */ lfs f4, lbl_80455C98-_SDA2_BASE_(r2)
/* 802C4080 002C0FC0 C0 A2 C2 D0 */ lfs f5, lbl_80455CD0-_SDA2_BASE_(r2)
/* 802C4084 002C0FC4 38 60 00 01 */ li r3, 1
/* 802C4088 002C0FC8 4B FE 56 05 */ bl linearTransform__6Z2CalcFfffffb
/* 802C408C 002C0FCC FF C0 08 90 */ fmr f30, f1
/* 802C4090 002C0FD0 48 00 02 3C */ b lbl_802C42CC
lbl_802C4094:
/* 802C4094 002C0FD4 88 1D 00 C8 */ lbz r0, 0xc8(r29)
/* 802C4098 002C0FD8 C8 22 C3 10 */ lfd f1, lbl_80455D10-_SDA2_BASE_(r2)
/* 802C409C 002C0FDC 90 01 00 1C */ stw r0, 0x1c(r1)
/* 802C40A0 002C0FE0 3C 00 43 30 */ lis r0, 0x4330
/* 802C40A4 002C0FE4 90 01 00 18 */ stw r0, 0x18(r1)
/* 802C40A8 002C0FE8 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 802C40AC 002C0FEC EC 20 08 28 */ fsubs f1, f0, f1
/* 802C40B0 002C0FF0 C0 42 C2 A0 */ lfs f2, lbl_80455CA0-_SDA2_BASE_(r2)
/* 802C40B4 002C0FF4 C0 62 C2 E8 */ lfs f3, lbl_80455CE8-_SDA2_BASE_(r2)
/* 802C40B8 002C0FF8 C0 82 C2 EC */ lfs f4, lbl_80455CEC-_SDA2_BASE_(r2)
/* 802C40BC 002C0FFC C0 A2 C2 F0 */ lfs f5, lbl_80455CF0-_SDA2_BASE_(r2)
/* 802C40C0 002C1000 FC C0 F8 90 */ fmr f6, f31
/* 802C40C4 002C1004 38 60 00 00 */ li r3, 0
/* 802C40C8 002C1008 4B FE 56 2D */ bl getParamByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign
/* 802C40CC 002C100C FF C0 08 90 */ fmr f30, f1
/* 802C40D0 002C1010 88 7D 00 C8 */ lbz r3, 0xc8(r29)
/* 802C40D4 002C1014 28 03 00 00 */ cmplwi r3, 0
/* 802C40D8 002C1018 40 82 00 4C */ bne lbl_802C4124
/* 802C40DC 002C101C 88 1D 00 C9 */ lbz r0, 0xc9(r29)
/* 802C40E0 002C1020 28 00 00 78 */ cmplwi r0, 0x78
/* 802C40E4 002C1024 40 81 00 40 */ ble lbl_802C4124
/* 802C40E8 002C1028 C8 22 C3 10 */ lfd f1, lbl_80455D10-_SDA2_BASE_(r2)
/* 802C40EC 002C102C 90 01 00 1C */ stw r0, 0x1c(r1)
/* 802C40F0 002C1030 3C 00 43 30 */ lis r0, 0x4330
/* 802C40F4 002C1034 90 01 00 18 */ stw r0, 0x18(r1)
/* 802C40F8 002C1038 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 802C40FC 002C103C EC 20 08 28 */ fsubs f1, f0, f1
/* 802C4100 002C1040 C0 42 C2 F4 */ lfs f2, lbl_80455CF4-_SDA2_BASE_(r2)
/* 802C4104 002C1044 C0 62 C2 F8 */ lfs f3, lbl_80455CF8-_SDA2_BASE_(r2)
/* 802C4108 002C1048 C0 82 C2 FC */ lfs f4, lbl_80455CFC-_SDA2_BASE_(r2)
/* 802C410C 002C104C C0 A2 C2 A0 */ lfs f5, lbl_80455CA0-_SDA2_BASE_(r2)
/* 802C4110 002C1050 C0 C2 C2 CC */ lfs f6, lbl_80455CCC-_SDA2_BASE_(r2)
/* 802C4114 002C1054 38 60 00 00 */ li r3, 0
/* 802C4118 002C1058 4B FE 55 DD */ bl getParamByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign
/* 802C411C 002C105C FF E0 08 90 */ fmr f31, f1
/* 802C4120 002C1060 48 00 01 AC */ b lbl_802C42CC
lbl_802C4124:
/* 802C4124 002C1064 C8 22 C3 10 */ lfd f1, lbl_80455D10-_SDA2_BASE_(r2)
/* 802C4128 002C1068 90 61 00 1C */ stw r3, 0x1c(r1)
/* 802C412C 002C106C 3C 00 43 30 */ lis r0, 0x4330
/* 802C4130 002C1070 90 01 00 18 */ stw r0, 0x18(r1)
/* 802C4134 002C1074 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 802C4138 002C1078 EC 20 08 28 */ fsubs f1, f0, f1
/* 802C413C 002C107C C0 42 C2 A0 */ lfs f2, lbl_80455CA0-_SDA2_BASE_(r2)
/* 802C4140 002C1080 C0 62 C2 E8 */ lfs f3, lbl_80455CE8-_SDA2_BASE_(r2)
/* 802C4144 002C1084 C0 82 C2 FC */ lfs f4, lbl_80455CFC-_SDA2_BASE_(r2)
/* 802C4148 002C1088 C0 A2 C2 CC */ lfs f5, lbl_80455CCC-_SDA2_BASE_(r2)
/* 802C414C 002C108C C0 C2 C2 98 */ lfs f6, lbl_80455C98-_SDA2_BASE_(r2)
/* 802C4150 002C1090 38 60 00 00 */ li r3, 0
/* 802C4154 002C1094 4B FE 55 A1 */ bl getParamByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign
/* 802C4158 002C1098 FF E0 08 90 */ fmr f31, f1
/* 802C415C 002C109C 48 00 01 70 */ b lbl_802C42CC
lbl_802C4160:
/* 802C4160 002C10A0 88 1D 00 C8 */ lbz r0, 0xc8(r29)
/* 802C4164 002C10A4 C8 22 C3 10 */ lfd f1, lbl_80455D10-_SDA2_BASE_(r2)
/* 802C4168 002C10A8 90 01 00 1C */ stw r0, 0x1c(r1)
/* 802C416C 002C10AC 3C 00 43 30 */ lis r0, 0x4330
/* 802C4170 002C10B0 90 01 00 18 */ stw r0, 0x18(r1)
/* 802C4174 002C10B4 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 802C4178 002C10B8 EC 20 08 28 */ fsubs f1, f0, f1
/* 802C417C 002C10BC C0 42 C2 A0 */ lfs f2, lbl_80455CA0-_SDA2_BASE_(r2)
/* 802C4180 002C10C0 C0 62 C3 00 */ lfs f3, lbl_80455D00-_SDA2_BASE_(r2)
/* 802C4184 002C10C4 C0 82 C2 EC */ lfs f4, lbl_80455CEC-_SDA2_BASE_(r2)
/* 802C4188 002C10C8 C0 A2 C2 F0 */ lfs f5, lbl_80455CF0-_SDA2_BASE_(r2)
/* 802C418C 002C10CC C0 C2 C3 04 */ lfs f6, lbl_80455D04-_SDA2_BASE_(r2)
/* 802C4190 002C10D0 38 60 00 00 */ li r3, 0
/* 802C4194 002C10D4 4B FE 55 61 */ bl getParamByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign
/* 802C4198 002C10D8 FF C0 08 90 */ fmr f30, f1
/* 802C419C 002C10DC 48 00 01 30 */ b lbl_802C42CC
lbl_802C41A0:
/* 802C41A0 002C10E0 3C 60 80 40 */ lis r3, lbl_804061C0@ha
/* 802C41A4 002C10E4 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l
/* 802C41A8 002C10E8 38 63 07 F0 */ addi r3, r3, 0x7f0
/* 802C41AC 002C10EC 3C 80 80 3A */ lis r4, lbl_803A7288@ha
/* 802C41B0 002C10F0 38 84 72 88 */ addi r4, r4, lbl_803A7288@l
/* 802C41B4 002C10F4 A0 84 02 14 */ lhz r4, 0x214(r4)
/* 802C41B8 002C10F8 4B D7 08 05 */ bl isEventBit__11dSv_event_cCFUs
/* 802C41BC 002C10FC 2C 03 00 00 */ cmpwi r3, 0
/* 802C41C0 002C1100 41 82 00 3C */ beq lbl_802C41FC
/* 802C41C4 002C1104 80 6D 86 04 */ lwz r3, lbl_80450B84-_SDA_BASE_(r13)
/* 802C41C8 002C1108 80 63 00 04 */ lwz r3, 4(r3)
/* 802C41CC 002C110C 28 03 00 00 */ cmplwi r3, 0
/* 802C41D0 002C1110 41 82 00 10 */ beq lbl_802C41E0
/* 802C41D4 002C1114 80 63 00 18 */ lwz r3, 0x18(r3)
/* 802C41D8 002C1118 90 61 00 08 */ stw r3, 8(r1)
/* 802C41DC 002C111C 48 00 00 08 */ b lbl_802C41E4
lbl_802C41E0:
/* 802C41E0 002C1120 38 60 FF FF */ li r3, -1
lbl_802C41E4:
/* 802C41E4 002C1124 3C 03 FF 00 */ addis r0, r3, 0xff00
/* 802C41E8 002C1128 28 00 00 4B */ cmplwi r0, 0x4b
/* 802C41EC 002C112C 41 82 00 10 */ beq lbl_802C41FC
/* 802C41F0 002C1130 C3 E2 C2 A0 */ lfs f31, lbl_80455CA0-_SDA2_BASE_(r2)
/* 802C41F4 002C1134 3B C0 00 00 */ li r30, 0
/* 802C41F8 002C1138 48 00 00 54 */ b lbl_802C424C
lbl_802C41FC:
/* 802C41FC 002C113C 88 1D 00 C8 */ lbz r0, 0xc8(r29)
/* 802C4200 002C1140 28 00 00 00 */ cmplwi r0, 0
/* 802C4204 002C1144 40 82 00 10 */ bne lbl_802C4214
/* 802C4208 002C1148 C3 E2 C2 A0 */ lfs f31, lbl_80455CA0-_SDA2_BASE_(r2)
/* 802C420C 002C114C 3B C0 00 0A */ li r30, 0xa
/* 802C4210 002C1150 48 00 00 3C */ b lbl_802C424C
lbl_802C4214:
/* 802C4214 002C1154 C8 22 C3 10 */ lfd f1, lbl_80455D10-_SDA2_BASE_(r2)
/* 802C4218 002C1158 90 01 00 1C */ stw r0, 0x1c(r1)
/* 802C421C 002C115C 3C 00 43 30 */ lis r0, 0x4330
/* 802C4220 002C1160 90 01 00 18 */ stw r0, 0x18(r1)
/* 802C4224 002C1164 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 802C4228 002C1168 EC 20 08 28 */ fsubs f1, f0, f1
/* 802C422C 002C116C C0 42 C2 A0 */ lfs f2, lbl_80455CA0-_SDA2_BASE_(r2)
/* 802C4230 002C1170 C0 62 C3 00 */ lfs f3, lbl_80455D00-_SDA2_BASE_(r2)
/* 802C4234 002C1174 C0 82 C3 08 */ lfs f4, lbl_80455D08-_SDA2_BASE_(r2)
/* 802C4238 002C1178 C0 A2 C2 CC */ lfs f5, lbl_80455CCC-_SDA2_BASE_(r2)
/* 802C423C 002C117C C0 C2 C2 98 */ lfs f6, lbl_80455C98-_SDA2_BASE_(r2)
/* 802C4240 002C1180 38 60 00 00 */ li r3, 0
/* 802C4244 002C1184 4B FE 54 B1 */ bl getParamByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign
/* 802C4248 002C1188 FF E0 08 90 */ fmr f31, f1
lbl_802C424C:
/* 802C424C 002C118C 88 1D 00 C8 */ lbz r0, 0xc8(r29)
/* 802C4250 002C1190 C8 22 C3 10 */ lfd f1, lbl_80455D10-_SDA2_BASE_(r2)
/* 802C4254 002C1194 90 01 00 1C */ stw r0, 0x1c(r1)
/* 802C4258 002C1198 3C 00 43 30 */ lis r0, 0x4330
/* 802C425C 002C119C 90 01 00 18 */ stw r0, 0x18(r1)
/* 802C4260 002C11A0 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 802C4264 002C11A4 EC 20 08 28 */ fsubs f1, f0, f1
/* 802C4268 002C11A8 C0 42 C2 A0 */ lfs f2, lbl_80455CA0-_SDA2_BASE_(r2)
/* 802C426C 002C11AC C0 62 C3 00 */ lfs f3, lbl_80455D00-_SDA2_BASE_(r2)
/* 802C4270 002C11B0 C0 82 C2 EC */ lfs f4, lbl_80455CEC-_SDA2_BASE_(r2)
/* 802C4274 002C11B4 C0 A2 C2 D8 */ lfs f5, lbl_80455CD8-_SDA2_BASE_(r2)
/* 802C4278 002C11B8 C0 C2 C3 0C */ lfs f6, lbl_80455D0C-_SDA2_BASE_(r2)
/* 802C427C 002C11BC 38 60 00 00 */ li r3, 0
/* 802C4280 002C11C0 4B FE 54 75 */ bl getParamByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign
/* 802C4284 002C11C4 FF C0 08 90 */ fmr f30, f1
/* 802C4288 002C11C8 48 00 00 44 */ b lbl_802C42CC
lbl_802C428C:
/* 802C428C 002C11CC C0 25 00 60 */ lfs f1, 0x60(r5)
/* 802C4290 002C11D0 80 6D 85 FC */ lwz r3, lbl_80450B7C-_SDA_BASE_(r13)
/* 802C4294 002C11D4 88 03 00 2C */ lbz r0, 0x2c(r3)
/* 802C4298 002C11D8 28 00 00 02 */ cmplwi r0, 2
/* 802C429C 002C11DC 40 82 00 1C */ bne lbl_802C42B8
/* 802C42A0 002C11E0 C0 02 C2 EC */ lfs f0, lbl_80455CEC-_SDA2_BASE_(r2)
/* 802C42A4 002C11E4 FC 00 08 00 */ fcmpu cr0, f0, f1
/* 802C42A8 002C11E8 41 82 00 10 */ beq lbl_802C42B8
/* 802C42AC 002C11EC FF E0 00 90 */ fmr f31, f0
/* 802C42B0 002C11F0 3B C0 00 2D */ li r30, 0x2d
/* 802C42B4 002C11F4 48 00 00 18 */ b lbl_802C42CC
lbl_802C42B8:
/* 802C42B8 002C11F8 C0 02 C2 98 */ lfs f0, lbl_80455C98-_SDA2_BASE_(r2)
/* 802C42BC 002C11FC FC 00 08 00 */ fcmpu cr0, f0, f1
/* 802C42C0 002C1200 41 82 00 0C */ beq lbl_802C42CC
/* 802C42C4 002C1204 FF E0 00 90 */ fmr f31, f0
/* 802C42C8 002C1208 3B C0 00 2D */ li r30, 0x2d
lbl_802C42CC:
/* 802C42CC 002C120C 80 7F 00 00 */ lwz r3, 0(r31)
/* 802C42D0 002C1210 38 63 00 48 */ addi r3, r3, 0x48
/* 802C42D4 002C1214 FC 20 F8 90 */ fmr f1, f31
/* 802C42D8 002C1218 7F C4 F3 78 */ mr r4, r30
/* 802C42DC 002C121C 4B FD EA D9 */ bl moveVolume__18JAISoundParamsMoveFfUl
/* 802C42E0 002C1220 80 7F 00 00 */ lwz r3, 0(r31)
/* 802C42E4 002C1224 38 63 00 48 */ addi r3, r3, 0x48
/* 802C42E8 002C1228 FC 20 F0 90 */ fmr f1, f30
/* 802C42EC 002C122C 38 80 00 00 */ li r4, 0
/* 802C42F0 002C1230 4B FD EB 1D */ bl JAISoundParamsMove_NS_movePitch
lbl_802C42F4:
/* 802C42F4 002C1234 7F E3 FB 78 */ mr r3, r31
lbl_802C42F8:
/* 802C42F8 002C1238 E3 E1 00 48 */ psq_l f31, 72(r1), 0, 0
/* 802C42FC 002C123C CB E1 00 40 */ lfd f31, 0x40(r1)
/* 802C4300 002C1240 E3 C1 00 38 */ psq_l f30, 56(r1), 0, 0
/* 802C4304 002C1244 CB C1 00 30 */ lfd f30, 0x30(r1)
/* 802C4308 002C1248 39 61 00 30 */ addi r11, r1, 0x30
/* 802C430C 002C124C 48 09 DF 19 */ bl _restgpr_28
/* 802C4310 002C1250 80 01 00 54 */ lwz r0, 0x54(r1)
/* 802C4314 002C1254 7C 08 03 A6 */ mtlr r0
/* 802C4318 002C1258 38 21 00 50 */ addi r1, r1, 0x50
/* 802C431C 002C125C 4E 80 00 20 */ blr
@@ -0,0 +1,186 @@
/* 802C4320 002C1260 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 802C4324 002C1264 7C 08 02 A6 */ mflr r0
/* 802C4328 002C1268 90 01 00 44 */ stw r0, 0x44(r1)
/* 802C432C 002C126C 39 61 00 40 */ addi r11, r1, 0x40
/* 802C4330 002C1270 48 09 DE AD */ bl _savegpr_29
/* 802C4334 002C1274 7C 7D 1B 78 */ mr r29, r3
/* 802C4338 002C1278 7C 9E 23 78 */ mr r30, r4
/* 802C433C 002C127C 7C BF 2B 78 */ mr r31, r5
/* 802C4340 002C1280 88 03 00 C0 */ lbz r0, 0xc0(r3)
/* 802C4344 002C1284 28 00 00 01 */ cmplwi r0, 1
/* 802C4348 002C1288 40 82 00 B0 */ bne lbl_802C43F8
/* 802C434C 002C128C 80 9E 00 00 */ lwz r4, 0(r30)
/* 802C4350 002C1290 3C 60 00 01 */ lis r3, 0x00010033@ha
/* 802C4354 002C1294 38 03 00 33 */ addi r0, r3, 0x00010033@l
/* 802C4358 002C1298 7C 04 00 00 */ cmpw r4, r0
/* 802C435C 002C129C 40 80 00 20 */ bge lbl_802C437C
/* 802C4360 002C12A0 38 03 00 31 */ addi r0, r3, 0x31
/* 802C4364 002C12A4 7C 04 00 00 */ cmpw r4, r0
/* 802C4368 002C12A8 40 80 00 4C */ bge lbl_802C43B4
/* 802C436C 002C12AC 38 03 00 2E */ addi r0, r3, 0x2e
/* 802C4370 002C12B0 7C 04 00 00 */ cmpw r4, r0
/* 802C4374 002C12B4 40 80 00 18 */ bge lbl_802C438C
/* 802C4378 002C12B8 48 00 01 FC */ b lbl_802C4574
lbl_802C437C:
/* 802C437C 002C12BC 38 03 00 44 */ addi r0, r3, 0x44
/* 802C4380 002C12C0 7C 04 00 00 */ cmpw r4, r0
/* 802C4384 002C12C4 41 82 00 50 */ beq lbl_802C43D4
/* 802C4388 002C12C8 48 00 01 EC */ b lbl_802C4574
lbl_802C438C:
/* 802C438C 002C12CC 80 6D 85 FC */ lwz r3, lbl_80450B7C-_SDA_BASE_(r13)
/* 802C4390 002C12D0 88 03 00 2C */ lbz r0, 0x2c(r3)
/* 802C4394 002C12D4 28 00 00 02 */ cmplwi r0, 2
/* 802C4398 002C12D8 41 82 00 14 */ beq lbl_802C43AC
/* 802C439C 002C12DC 80 6D 86 00 */ lwz r3, lbl_80450B80-_SDA_BASE_(r13)
/* 802C43A0 002C12E0 88 03 00 1C */ lbz r0, 0x1c(r3)
/* 802C43A4 002C12E4 28 00 00 00 */ cmplwi r0, 0
/* 802C43A8 002C12E8 40 82 00 0C */ bne lbl_802C43B4
lbl_802C43AC:
/* 802C43AC 002C12EC 38 60 00 00 */ li r3, 0
/* 802C43B0 002C12F0 48 00 01 E8 */ b lbl_802C4598
lbl_802C43B4:
/* 802C43B4 002C12F4 88 1D 00 C1 */ lbz r0, 0xc1(r29)
/* 802C43B8 002C12F8 28 00 00 05 */ cmplwi r0, 5
/* 802C43BC 002C12FC 40 80 00 0C */ bge lbl_802C43C8
/* 802C43C0 002C1300 38 60 00 00 */ li r3, 0
/* 802C43C4 002C1304 48 00 01 D4 */ b lbl_802C4598
lbl_802C43C8:
/* 802C43C8 002C1308 38 00 00 00 */ li r0, 0
/* 802C43CC 002C130C 98 1D 00 C1 */ stb r0, 0xc1(r29)
/* 802C43D0 002C1310 48 00 01 A4 */ b lbl_802C4574
lbl_802C43D4:
/* 802C43D4 002C1314 38 03 00 45 */ addi r0, r3, 0x45
/* 802C43D8 002C1318 90 01 00 2C */ stw r0, 0x2c(r1)
/* 802C43DC 002C131C 38 7D 00 50 */ addi r3, r29, 0x50
/* 802C43E0 002C1320 38 81 00 2C */ addi r4, r1, 0x2c
/* 802C43E4 002C1324 4B FE 6E 71 */ bl Z2SoundHandles_NS_getHandleSoundID
/* 802C43E8 002C1328 28 03 00 00 */ cmplwi r3, 0
/* 802C43EC 002C132C 41 82 01 88 */ beq lbl_802C4574
/* 802C43F0 002C1330 38 60 00 00 */ li r3, 0
/* 802C43F4 002C1334 48 00 01 A4 */ b lbl_802C4598
lbl_802C43F8:
/* 802C43F8 002C1338 80 7E 00 00 */ lwz r3, 0(r30)
/* 802C43FC 002C133C 3C 03 FF FF */ addis r0, r3, 0xffff
/* 802C4400 002C1340 28 00 00 1C */ cmplwi r0, 0x1c
/* 802C4404 002C1344 40 82 00 20 */ bne lbl_802C4424
/* 802C4408 002C1348 88 1D 00 C1 */ lbz r0, 0xc1(r29)
/* 802C440C 002C134C 28 00 00 0A */ cmplwi r0, 0xa
/* 802C4410 002C1350 40 80 00 0C */ bge lbl_802C441C
/* 802C4414 002C1354 38 60 00 00 */ li r3, 0
/* 802C4418 002C1358 48 00 01 80 */ b lbl_802C4598
lbl_802C441C:
/* 802C441C 002C135C 38 00 00 00 */ li r0, 0
/* 802C4420 002C1360 98 1D 00 C1 */ stb r0, 0xc1(r29)
lbl_802C4424:
/* 802C4424 002C1364 88 1D 00 C2 */ lbz r0, 0xc2(r29)
/* 802C4428 002C1368 28 00 00 03 */ cmplwi r0, 3
/* 802C442C 002C136C 41 82 01 0C */ beq lbl_802C4538
/* 802C4430 002C1370 80 6D 85 C8 */ lwz r3, lbl_80450B48-_SDA_BASE_(r13)
/* 802C4434 002C1374 88 03 00 15 */ lbz r0, 0x15(r3)
/* 802C4438 002C1378 28 00 00 00 */ cmplwi r0, 0
/* 802C443C 002C137C 40 82 00 FC */ bne lbl_802C4538
/* 802C4440 002C1380 88 03 00 1C */ lbz r0, 0x1c(r3)
/* 802C4444 002C1384 28 00 00 00 */ cmplwi r0, 0
/* 802C4448 002C1388 40 82 00 F0 */ bne lbl_802C4538
/* 802C444C 002C138C 80 9E 00 00 */ lwz r4, 0(r30)
/* 802C4450 002C1390 3C 60 00 01 */ lis r3, 0x0001001C@ha
/* 802C4454 002C1394 38 03 00 1C */ addi r0, r3, 0x0001001C@l
/* 802C4458 002C1398 7C 04 00 00 */ cmpw r4, r0
/* 802C445C 002C139C 41 82 00 CC */ beq lbl_802C4528
/* 802C4460 002C13A0 40 80 00 40 */ bge lbl_802C44A0
/* 802C4464 002C13A4 38 03 00 04 */ addi r0, r3, 4
/* 802C4468 002C13A8 7C 04 00 00 */ cmpw r4, r0
/* 802C446C 002C13AC 41 82 00 74 */ beq lbl_802C44E0
/* 802C4470 002C13B0 40 80 00 20 */ bge lbl_802C4490
/* 802C4474 002C13B4 38 03 00 01 */ addi r0, r3, 1
/* 802C4478 002C13B8 7C 04 00 00 */ cmpw r4, r0
/* 802C447C 002C13BC 41 82 00 78 */ beq lbl_802C44F4
/* 802C4480 002C13C0 40 80 00 D8 */ bge lbl_802C4558
/* 802C4484 002C13C4 7C 04 18 00 */ cmpw r4, r3
/* 802C4488 002C13C8 40 80 00 48 */ bge lbl_802C44D0
/* 802C448C 002C13CC 48 00 00 CC */ b lbl_802C4558
lbl_802C4490:
/* 802C4490 002C13D0 38 03 00 07 */ addi r0, r3, 7
/* 802C4494 002C13D4 7C 04 00 00 */ cmpw r4, r0
/* 802C4498 002C13D8 41 82 00 7C */ beq lbl_802C4514
/* 802C449C 002C13DC 48 00 00 BC */ b lbl_802C4558
lbl_802C44A0:
/* 802C44A0 002C13E0 38 03 00 93 */ addi r0, r3, 0x93
/* 802C44A4 002C13E4 7C 04 00 00 */ cmpw r4, r0
/* 802C44A8 002C13E8 41 82 00 38 */ beq lbl_802C44E0
/* 802C44AC 002C13EC 40 80 00 14 */ bge lbl_802C44C0
/* 802C44B0 002C13F0 38 03 00 51 */ addi r0, r3, 0x51
/* 802C44B4 002C13F4 7C 04 00 00 */ cmpw r4, r0
/* 802C44B8 002C13F8 41 82 00 4C */ beq lbl_802C4504
/* 802C44BC 002C13FC 48 00 00 9C */ b lbl_802C4558
lbl_802C44C0:
/* 802C44C0 002C1400 38 03 00 96 */ addi r0, r3, 0x96
/* 802C44C4 002C1404 7C 04 00 00 */ cmpw r4, r0
/* 802C44C8 002C1408 41 82 00 4C */ beq lbl_802C4514
/* 802C44CC 002C140C 48 00 00 8C */ b lbl_802C4558
lbl_802C44D0:
/* 802C44D0 002C1410 38 03 00 2B */ addi r0, r3, 0x2b
/* 802C44D4 002C1414 90 01 00 28 */ stw r0, 0x28(r1)
/* 802C44D8 002C1418 90 1E 00 00 */ stw r0, 0(r30)
/* 802C44DC 002C141C 48 00 00 7C */ b lbl_802C4558
lbl_802C44E0:
/* 802C44E0 002C1420 3C 60 00 01 */ lis r3, 0x0001002C@ha
/* 802C44E4 002C1424 38 03 00 2C */ addi r0, r3, 0x0001002C@l
/* 802C44E8 002C1428 90 01 00 24 */ stw r0, 0x24(r1)
/* 802C44EC 002C142C 90 1E 00 00 */ stw r0, 0(r30)
/* 802C44F0 002C1430 48 00 00 68 */ b lbl_802C4558
lbl_802C44F4:
/* 802C44F4 002C1434 38 03 00 2D */ addi r0, r3, 0x2d
/* 802C44F8 002C1438 90 01 00 20 */ stw r0, 0x20(r1)
/* 802C44FC 002C143C 90 1E 00 00 */ stw r0, 0(r30)
/* 802C4500 002C1440 48 00 00 58 */ b lbl_802C4558
lbl_802C4504:
/* 802C4504 002C1444 38 03 00 52 */ addi r0, r3, 0x52
/* 802C4508 002C1448 90 01 00 1C */ stw r0, 0x1c(r1)
/* 802C450C 002C144C 90 1E 00 00 */ stw r0, 0(r30)
/* 802C4510 002C1450 48 00 00 48 */ b lbl_802C4558
lbl_802C4514:
/* 802C4514 002C1454 3C 60 00 01 */ lis r3, 0x00010056@ha
/* 802C4518 002C1458 38 03 00 56 */ addi r0, r3, 0x00010056@l
/* 802C451C 002C145C 90 01 00 18 */ stw r0, 0x18(r1)
/* 802C4520 002C1460 90 1E 00 00 */ stw r0, 0(r30)
/* 802C4524 002C1464 48 00 00 34 */ b lbl_802C4558
lbl_802C4528:
/* 802C4528 002C1468 38 03 00 63 */ addi r0, r3, 0x63
/* 802C452C 002C146C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C4530 002C1470 90 1E 00 00 */ stw r0, 0(r30)
/* 802C4534 002C1474 48 00 00 24 */ b lbl_802C4558
lbl_802C4538:
/* 802C4538 002C1478 80 7E 00 00 */ lwz r3, 0(r30)
/* 802C453C 002C147C 3C 03 FF FF */ addis r0, r3, 0xffff
/* 802C4540 002C1480 28 00 00 05 */ cmplwi r0, 5
/* 802C4544 002C1484 40 82 00 14 */ bne lbl_802C4558
/* 802C4548 002C1488 3C 60 00 01 */ lis r3, 0x00010007@ha
/* 802C454C 002C148C 38 03 00 07 */ addi r0, r3, 0x00010007@l
/* 802C4550 002C1490 90 01 00 10 */ stw r0, 0x10(r1)
/* 802C4554 002C1494 90 1E 00 00 */ stw r0, 0(r30)
lbl_802C4558:
/* 802C4558 002C1498 88 1D 00 CB */ lbz r0, 0xcb(r29)
/* 802C455C 002C149C 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 802C4560 002C14A0 41 82 00 14 */ beq lbl_802C4574
/* 802C4564 002C14A4 3C 60 00 01 */ lis r3, 0x00010050@ha
/* 802C4568 002C14A8 38 03 00 50 */ addi r0, r3, 0x00010050@l
/* 802C456C 002C14AC 90 01 00 0C */ stw r0, 0xc(r1)
/* 802C4570 002C14B0 90 1E 00 00 */ stw r0, 0(r30)
lbl_802C4574:
/* 802C4574 002C14B4 80 1E 00 00 */ lwz r0, 0(r30)
/* 802C4578 002C14B8 90 01 00 08 */ stw r0, 8(r1)
/* 802C457C 002C14BC 7F A3 EB 78 */ mr r3, r29
/* 802C4580 002C14C0 38 81 00 08 */ addi r4, r1, 8
/* 802C4584 002C14C4 7F E5 FB 78 */ mr r5, r31
/* 802C4588 002C14C8 81 9D 00 00 */ lwz r12, 0(r29)
/* 802C458C 002C14CC 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 802C4590 002C14D0 7D 89 03 A6 */ mtctr r12
/* 802C4594 002C14D4 4E 80 04 21 */ bctrl
lbl_802C4598:
/* 802C4598 002C14D8 39 61 00 40 */ addi r11, r1, 0x40
/* 802C459C 002C14DC 48 09 DC 8D */ bl _restgpr_29
/* 802C45A0 002C14E0 80 01 00 44 */ lwz r0, 0x44(r1)
/* 802C45A4 002C14E4 7C 08 03 A6 */ mtlr r0
/* 802C45A8 002C14E8 38 21 00 40 */ addi r1, r1, 0x40
/* 802C45AC 002C14EC 4E 80 00 20 */ blr
@@ -0,0 +1,90 @@
/* 802C45B0 002C14F0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802C45B4 002C14F4 7C 08 02 A6 */ mflr r0
/* 802C45B8 002C14F8 90 01 00 34 */ stw r0, 0x34(r1)
/* 802C45BC 002C14FC DB E1 00 20 */ stfd f31, 0x20(r1)
/* 802C45C0 002C1500 F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0
/* 802C45C4 002C1504 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802C45C8 002C1508 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802C45CC 002C150C 88 03 00 C0 */ lbz r0, 0xc0(r3)
/* 802C45D0 002C1510 28 00 00 01 */ cmplwi r0, 1
/* 802C45D4 002C1514 40 82 00 E0 */ bne lbl_802C46B4
/* 802C45D8 002C1518 80 E4 00 00 */ lwz r7, 0(r4)
/* 802C45DC 002C151C 3C C0 00 01 */ lis r6, 0x00010037@ha
/* 802C45E0 002C1520 38 06 00 37 */ addi r0, r6, 0x00010037@l
/* 802C45E4 002C1524 7C 07 00 00 */ cmpw r7, r0
/* 802C45E8 002C1528 41 82 00 08 */ beq lbl_802C45F0
/* 802C45EC 002C152C 48 00 00 C8 */ b lbl_802C46B4
lbl_802C45F0:
/* 802C45F0 002C1530 C3 E2 C2 A0 */ lfs f31, lbl_80455CA0-_SDA2_BASE_(r2)
/* 802C45F4 002C1534 3B E0 00 00 */ li r31, 0
/* 802C45F8 002C1538 88 03 00 C2 */ lbz r0, 0xc2(r3)
/* 802C45FC 002C153C 2C 00 00 02 */ cmpwi r0, 2
/* 802C4600 002C1540 41 82 00 3C */ beq lbl_802C463C
/* 802C4604 002C1544 40 80 00 14 */ bge lbl_802C4618
/* 802C4608 002C1548 2C 00 00 00 */ cmpwi r0, 0
/* 802C460C 002C154C 41 82 00 18 */ beq lbl_802C4624
/* 802C4610 002C1550 40 80 00 20 */ bge lbl_802C4630
/* 802C4614 002C1554 48 00 00 3C */ b lbl_802C4650
lbl_802C4618:
/* 802C4618 002C1558 2C 00 00 04 */ cmpwi r0, 4
/* 802C461C 002C155C 40 80 00 34 */ bge lbl_802C4650
/* 802C4620 002C1560 48 00 00 28 */ b lbl_802C4648
lbl_802C4624:
/* 802C4624 002C1564 C3 E2 C2 98 */ lfs f31, lbl_80455C98-_SDA2_BASE_(r2)
/* 802C4628 002C1568 3B E0 00 02 */ li r31, 2
/* 802C462C 002C156C 48 00 00 24 */ b lbl_802C4650
lbl_802C4630:
/* 802C4630 002C1570 C3 E2 C2 EC */ lfs f31, lbl_80455CEC-_SDA2_BASE_(r2)
/* 802C4634 002C1574 3B E0 00 01 */ li r31, 1
/* 802C4638 002C1578 48 00 00 18 */ b lbl_802C4650
lbl_802C463C:
/* 802C463C 002C157C C3 E2 C2 D8 */ lfs f31, lbl_80455CD8-_SDA2_BASE_(r2)
/* 802C4640 002C1580 3B E0 00 01 */ li r31, 1
/* 802C4644 002C1584 48 00 00 0C */ b lbl_802C4650
lbl_802C4648:
/* 802C4648 002C1588 C3 E2 C2 F0 */ lfs f31, lbl_80455CF0-_SDA2_BASE_(r2)
/* 802C464C 002C158C 3B E0 00 02 */ li r31, 2
lbl_802C4650:
/* 802C4650 002C1590 3C 80 00 01 */ lis r4, 0x00010037@ha
/* 802C4654 002C1594 38 04 00 37 */ addi r0, r4, 0x00010037@l
/* 802C4658 002C1598 90 01 00 0C */ stw r0, 0xc(r1)
/* 802C465C 002C159C 38 81 00 0C */ addi r4, r1, 0xc
/* 802C4660 002C15A0 81 83 00 00 */ lwz r12, 0(r3)
/* 802C4664 002C15A4 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 802C4668 002C15A8 7D 89 03 A6 */ mtctr r12
/* 802C466C 002C15AC 4E 80 04 21 */ bctrl
/* 802C4670 002C15B0 7C 7E 1B 79 */ or. r30, r3, r3
/* 802C4674 002C15B4 41 82 00 38 */ beq lbl_802C46AC
/* 802C4678 002C15B8 80 7E 00 00 */ lwz r3, 0(r30)
/* 802C467C 002C15BC 28 03 00 00 */ cmplwi r3, 0
/* 802C4680 002C15C0 41 82 00 2C */ beq lbl_802C46AC
/* 802C4684 002C15C4 38 63 00 48 */ addi r3, r3, 0x48
/* 802C4688 002C15C8 FC 20 F8 90 */ fmr f1, f31
/* 802C468C 002C15CC 38 80 00 00 */ li r4, 0
/* 802C4690 002C15D0 4B FD E7 25 */ bl moveVolume__18JAISoundParamsMoveFfUl
/* 802C4694 002C15D4 80 6D 85 F4 */ lwz r3, lbl_80450B74-_SDA_BASE_(r13)
/* 802C4698 002C15D8 7F C4 F3 78 */ mr r4, r30
/* 802C469C 002C15DC 38 A0 00 08 */ li r5, 8
/* 802C46A0 002C15E0 57 E6 06 3E */ clrlwi r6, r31, 0x18
/* 802C46A4 002C15E4 38 E0 FF FF */ li r7, -1
/* 802C46A8 002C15E8 4B FE 68 35 */ bl Z2SoundStarter_NS_setPortData
lbl_802C46AC:
/* 802C46AC 002C15EC 7F C3 F3 78 */ mr r3, r30
/* 802C46B0 002C15F0 48 00 00 20 */ b lbl_802C46D0
lbl_802C46B4:
/* 802C46B4 002C15F4 80 04 00 00 */ lwz r0, 0(r4)
/* 802C46B8 002C15F8 90 01 00 08 */ stw r0, 8(r1)
/* 802C46BC 002C15FC 38 81 00 08 */ addi r4, r1, 8
/* 802C46C0 002C1600 81 83 00 00 */ lwz r12, 0(r3)
/* 802C46C4 002C1604 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 802C46C8 002C1608 7D 89 03 A6 */ mtctr r12
/* 802C46CC 002C160C 4E 80 04 21 */ bctrl
lbl_802C46D0:
/* 802C46D0 002C1610 E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0
/* 802C46D4 002C1614 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 802C46D8 002C1618 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802C46DC 002C161C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802C46E0 002C1620 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802C46E4 002C1624 7C 08 03 A6 */ mtlr r0
/* 802C46E8 002C1628 38 21 00 30 */ addi r1, r1, 0x30
/* 802C46EC 002C162C 4E 80 00 20 */ blr
@@ -0,0 +1,41 @@
/* 802C46F0 002C1630 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802C46F4 002C1634 7C 08 02 A6 */ mflr r0
/* 802C46F8 002C1638 90 01 00 24 */ stw r0, 0x24(r1)
/* 802C46FC 002C163C 80 E4 00 00 */ lwz r7, 0(r4)
/* 802C4700 002C1640 3C 80 00 02 */ lis r4, 0x00020044@ha
/* 802C4704 002C1644 38 04 00 44 */ addi r0, r4, 0x00020044@l
/* 802C4708 002C1648 7C 07 00 00 */ cmpw r7, r0
/* 802C470C 002C164C 41 82 00 34 */ beq lbl_802C4740
/* 802C4710 002C1650 40 80 00 4C */ bge lbl_802C475C
/* 802C4714 002C1654 38 04 00 25 */ addi r0, r4, 0x25
/* 802C4718 002C1658 7C 07 00 00 */ cmpw r7, r0
/* 802C471C 002C165C 41 82 00 08 */ beq lbl_802C4724
/* 802C4720 002C1660 48 00 00 3C */ b lbl_802C475C
lbl_802C4724:
/* 802C4724 002C1664 90 E1 00 10 */ stw r7, 0x10(r1)
/* 802C4728 002C1668 38 81 00 10 */ addi r4, r1, 0x10
/* 802C472C 002C166C 81 83 00 00 */ lwz r12, 0(r3)
/* 802C4730 002C1670 81 8C 00 28 */ lwz r12, 0x28(r12)
/* 802C4734 002C1674 7D 89 03 A6 */ mtctr r12
/* 802C4738 002C1678 4E 80 04 21 */ bctrl
/* 802C473C 002C167C 48 00 00 38 */ b lbl_802C4774
lbl_802C4740:
/* 802C4740 002C1680 90 E1 00 0C */ stw r7, 0xc(r1)
/* 802C4744 002C1684 38 81 00 0C */ addi r4, r1, 0xc
/* 802C4748 002C1688 81 83 00 00 */ lwz r12, 0(r3)
/* 802C474C 002C168C 81 8C 00 28 */ lwz r12, 0x28(r12)
/* 802C4750 002C1690 7D 89 03 A6 */ mtctr r12
/* 802C4754 002C1694 4E 80 04 21 */ bctrl
/* 802C4758 002C1698 48 00 00 1C */ b lbl_802C4774
lbl_802C475C:
/* 802C475C 002C169C 90 E1 00 08 */ stw r7, 8(r1)
/* 802C4760 002C16A0 38 81 00 08 */ addi r4, r1, 8
/* 802C4764 002C16A4 81 83 00 00 */ lwz r12, 0(r3)
/* 802C4768 002C16A8 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 802C476C 002C16AC 7D 89 03 A6 */ mtctr r12
/* 802C4770 002C16B0 4E 80 04 21 */ bctrl
lbl_802C4774:
/* 802C4774 002C16B4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802C4778 002C16B8 7C 08 03 A6 */ mtlr r0
/* 802C477C 002C16BC 38 21 00 20 */ addi r1, r1, 0x20
/* 802C4780 002C16C0 4E 80 00 20 */ blr
@@ -0,0 +1,39 @@
/* 802C4784 002C16C4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802C4788 002C16C8 7C 08 02 A6 */ mflr r0
/* 802C478C 002C16CC 90 01 00 24 */ stw r0, 0x24(r1)
/* 802C4790 002C16D0 39 61 00 20 */ addi r11, r1, 0x20
/* 802C4794 002C16D4 48 09 DA 49 */ bl _savegpr_29
/* 802C4798 002C16D8 7C 7D 1B 78 */ mr r29, r3
/* 802C479C 002C16DC 7C 9E 23 78 */ mr r30, r4
/* 802C47A0 002C16E0 7C BF 2B 78 */ mr r31, r5
/* 802C47A4 002C16E4 2C 1F 00 28 */ cmpwi r31, 0x28
/* 802C47A8 002C16E8 40 80 00 10 */ bge lbl_802C47B8
/* 802C47AC 002C16EC 2C 1F 00 20 */ cmpwi r31, 0x20
/* 802C47B0 002C16F0 41 82 00 20 */ beq lbl_802C47D0
/* 802C47B4 002C16F4 48 00 00 34 */ b lbl_802C47E8
lbl_802C47B8:
/* 802C47B8 002C16F8 2C 1F 00 2B */ cmpwi r31, 0x2b
/* 802C47BC 002C16FC 40 80 00 2C */ bge lbl_802C47E8
/* 802C47C0 002C1700 80 6D 86 04 */ lwz r3, lbl_80450B84-_SDA_BASE_(r13)
/* 802C47C4 002C1704 38 80 00 02 */ li r4, 2
/* 802C47C8 002C1708 4B FF 00 7D */ bl Z2SeqMgr_NS_setBattleSeqState
/* 802C47CC 002C170C 48 00 00 1C */ b lbl_802C47E8
lbl_802C47D0:
/* 802C47D0 002C1710 3C 1E FF FC */ addis r0, r30, 0xfffc
/* 802C47D4 002C1714 28 00 00 01 */ cmplwi r0, 1
/* 802C47D8 002C1718 40 82 00 10 */ bne lbl_802C47E8
/* 802C47DC 002C171C 80 6D 86 04 */ lwz r3, lbl_80450B84-_SDA_BASE_(r13)
/* 802C47E0 002C1720 38 80 00 14 */ li r4, 0x14
/* 802C47E4 002C1724 4B FF 03 19 */ bl Z2SeqMgr_NS_setBattleLastHit
lbl_802C47E8:
/* 802C47E8 002C1728 38 7D 00 08 */ addi r3, r29, 8
/* 802C47EC 002C172C 7F C4 F3 78 */ mr r4, r30
/* 802C47F0 002C1730 7F E5 FB 78 */ mr r5, r31
/* 802C47F4 002C1734 38 C0 00 00 */ li r6, 0
/* 802C47F8 002C1738 4B FF 9C AD */ bl Z2SoundObjBase_NS_startCollisionSE
/* 802C47FC 002C173C 39 61 00 20 */ addi r11, r1, 0x20
/* 802C4800 002C1740 48 09 DA 29 */ bl _restgpr_29
/* 802C4804 002C1744 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802C4808 002C1748 7C 08 03 A6 */ mtlr r0
/* 802C480C 002C174C 38 21 00 20 */ addi r1, r1, 0x20
/* 802C4810 002C1750 4E 80 00 20 */ blr
@@ -0,0 +1,54 @@
/* 802C4814 002C1754 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802C4818 002C1758 7C 08 02 A6 */ mflr r0
/* 802C481C 002C175C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802C4820 002C1760 DB E1 00 10 */ stfd f31, 0x10(r1)
/* 802C4824 002C1764 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0
/* 802C4828 002C1768 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802C482C 002C176C FF E0 08 90 */ fmr f31, f1
/* 802C4830 002C1770 28 06 00 00 */ cmplwi r6, 0
/* 802C4834 002C1774 40 82 00 08 */ bne lbl_802C483C
/* 802C4838 002C1778 38 C3 00 70 */ addi r6, r3, 0x70
lbl_802C483C:
/* 802C483C 002C177C 3C 04 FF FC */ addis r0, r4, 0xfffc
/* 802C4840 002C1780 28 00 00 02 */ cmplwi r0, 2
/* 802C4844 002C1784 40 82 00 14 */ bne lbl_802C4858
/* 802C4848 002C1788 38 63 00 08 */ addi r3, r3, 8
/* 802C484C 002C178C 38 C0 00 00 */ li r6, 0
/* 802C4850 002C1790 4B FF 9C 55 */ bl Z2SoundObjBase_NS_startCollisionSE
/* 802C4854 002C1794 48 00 00 68 */ b lbl_802C48BC
lbl_802C4858:
/* 802C4858 002C1798 7C C3 33 78 */ mr r3, r6
/* 802C485C 002C179C 38 C0 00 00 */ li r6, 0
/* 802C4860 002C17A0 4B FF 9C 45 */ bl Z2SoundObjBase_NS_startCollisionSE
/* 802C4864 002C17A4 7C 7F 1B 78 */ mr r31, r3
/* 802C4868 002C17A8 C0 02 C2 A0 */ lfs f0, lbl_80455CA0-_SDA2_BASE_(r2)
/* 802C486C 002C17AC FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 802C4870 002C17B0 4C 41 13 82 */ cror 2, 1, 2
/* 802C4874 002C17B4 40 82 00 44 */ bne lbl_802C48B8
/* 802C4878 002C17B8 28 1F 00 00 */ cmplwi r31, 0
/* 802C487C 002C17BC 41 82 00 3C */ beq lbl_802C48B8
/* 802C4880 002C17C0 80 1F 00 00 */ lwz r0, 0(r31)
/* 802C4884 002C17C4 28 00 00 00 */ cmplwi r0, 0
/* 802C4888 002C17C8 41 82 00 30 */ beq lbl_802C48B8
/* 802C488C 002C17CC C0 02 C3 18 */ lfs f0, lbl_80455D18-_SDA2_BASE_(r2)
/* 802C4890 002C17D0 FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 802C4894 002C17D4 4C 41 13 82 */ cror 2, 1, 2
/* 802C4898 002C17D8 40 82 00 08 */ bne lbl_802C48A0
/* 802C489C 002C17DC FF E0 00 90 */ fmr f31, f0
lbl_802C48A0:
/* 802C48A0 002C17E0 80 7F 00 00 */ lwz r3, 0(r31)
/* 802C48A4 002C17E4 38 63 00 48 */ addi r3, r3, 0x48
/* 802C48A8 002C17E8 C0 02 C3 18 */ lfs f0, lbl_80455D18-_SDA2_BASE_(r2)
/* 802C48AC 002C17EC EC 3F 00 24 */ fdivs f1, f31, f0
/* 802C48B0 002C17F0 38 80 00 00 */ li r4, 0
/* 802C48B4 002C17F4 4B FD E5 01 */ bl moveVolume__18JAISoundParamsMoveFfUl
lbl_802C48B8:
/* 802C48B8 002C17F8 7F E3 FB 78 */ mr r3, r31
lbl_802C48BC:
/* 802C48BC 002C17FC E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0
/* 802C48C0 002C1800 CB E1 00 10 */ lfd f31, 0x10(r1)
/* 802C48C4 002C1804 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802C48C8 002C1808 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802C48CC 002C180C 7C 08 03 A6 */ mtlr r0
/* 802C48D0 002C1810 38 21 00 20 */ addi r1, r1, 0x20
/* 802C48D4 002C1814 4E 80 00 20 */ blr
@@ -0,0 +1,4 @@
/* 802C48D8 002C1818 88 03 00 CB */ lbz r0, 0xcb(r3)
/* 802C48DC 002C181C 50 80 2E B4 */ rlwimi r0, r4, 5, 0x1a, 0x1a
/* 802C48E0 002C1820 98 03 00 CB */ stb r0, 0xcb(r3)
/* 802C48E4 002C1824 4E 80 00 20 */ blr
@@ -0,0 +1,69 @@
#include "global.h"
class JAISoundParamsMove{
public:
void moveVolume(float param_1, u32 param_2);
private:
float unk_1;
};
class Z2SoundMgr{
public:
void resetFilterAll();
u8 p1[0x3ec];
JAISoundParamsMove* JAISoundParamsMove;
private:
};
class Z2SeMgr{
public:
void seMoveVolumeAll(float param_1, u32 param_2);
};
class Z2SeqMgr{
private:
u8 p1[0xD0];
u8 unk_1;
public:
void setFieldBgmPlay(bool param_1);
};
class Z2SceneMgr{
private:
long BGM_ID;
int field_0x4;
int timer;
s8 roomNum;
u8 SeWave_1;
u8 SeWaveToErase_1;
u8 SeWave_2;
u8 SeWaveToErase_2;
u8 BgmWave_1;
u8 BgmWaveToErase_1;
u8 BgmWave_2;
u8 BgmWaveToErase_2;
u8 SeWave_3;
u8 SeWaveToErase_3;
u8 field_0x17;
u8 field_0x18;
u8 field_0x19;
u8 field_0x1a;
u8 field_0x1b;
u8 field_0x1c;
bool field_0x1d;
bool inDarkness;
public:
Z2SceneMgr(void);
void setInDarkness(bool param_1);
void setSceneExist(bool param_1);
void setFadeOutStart(u8 param_1);
void setFadeInStart(u8 param_1);
void setSceneName(char* stageName, long roomNum, long layerNum);
int checkFirstWaves(void);
};
struct JAISoundID
{
u32 soundId;
JAISoundID(JAISoundID const &soundIdToSet);
};
@@ -0,0 +1,28 @@
/* 802B6840 002B3780 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802B6844 002B3784 90 6D 86 00 */ stw r3, lbl_80450B80-_SDA_BASE_(r13)
/* 802B6848 002B3788 38 00 FF FF */ li r0, -1
/* 802B684C 002B378C 90 03 00 04 */ stw r0, 4(r3)
/* 802B6850 002B3790 90 01 00 08 */ stw r0, 8(r1)
/* 802B6854 002B3794 90 03 00 00 */ stw r0, 0(r3)
/* 802B6858 002B3798 98 03 00 0C */ stb r0, 0xc(r3)
/* 802B685C 002B379C 38 00 00 00 */ li r0, 0
/* 802B6860 002B37A0 98 03 00 0D */ stb r0, 0xd(r3)
/* 802B6864 002B37A4 98 03 00 0E */ stb r0, 0xe(r3)
/* 802B6868 002B37A8 98 03 00 0F */ stb r0, 0xf(r3)
/* 802B686C 002B37AC 98 03 00 10 */ stb r0, 0x10(r3)
/* 802B6870 002B37B0 98 03 00 11 */ stb r0, 0x11(r3)
/* 802B6874 002B37B4 98 03 00 12 */ stb r0, 0x12(r3)
/* 802B6878 002B37B8 98 03 00 13 */ stb r0, 0x13(r3)
/* 802B687C 002B37BC 98 03 00 14 */ stb r0, 0x14(r3)
/* 802B6880 002B37C0 98 03 00 15 */ stb r0, 0x15(r3)
/* 802B6884 002B37C4 98 03 00 16 */ stb r0, 0x16(r3)
/* 802B6888 002B37C8 98 03 00 18 */ stb r0, 0x18(r3)
/* 802B688C 002B37CC 98 03 00 19 */ stb r0, 0x19(r3)
/* 802B6890 002B37D0 98 03 00 1A */ stb r0, 0x1a(r3)
/* 802B6894 002B37D4 98 03 00 1B */ stb r0, 0x1b(r3)
/* 802B6898 002B37D8 98 03 00 1D */ stb r0, 0x1d(r3)
/* 802B689C 002B37DC 98 03 00 1C */ stb r0, 0x1c(r3)
/* 802B68A0 002B37E0 98 03 00 1E */ stb r0, 0x1e(r3)
/* 802B68A4 002B37E4 98 03 00 17 */ stb r0, 0x17(r3)
/* 802B68A8 002B37E8 38 21 00 10 */ addi r1, r1, 0x10
/* 802B68AC 002B37EC 4E 80 00 20 */ blr
@@ -0,0 +1,13 @@
/* 802B68B0 002B37F0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802B68B4 002B37F4 7C 08 02 A6 */ mflr r0
/* 802B68B8 002B37F8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802B68BC 002B37FC 98 83 00 1E */ stb r4, 0x1e(r3)
/* 802B68C0 002B3800 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 802B68C4 002B3804 40 82 00 0C */ bne lbl_802B68D0
/* 802B68C8 002B3808 80 6D 85 E0 */ lwz r3, lbl_80450B60-_SDA_BASE_(r13)
/* 802B68CC 002B380C 4B FF 3B 65 */ bl resetFilterAll__10Z2SoundMgrFv
lbl_802B68D0:
/* 802B68D0 002B3810 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802B68D4 002B3814 7C 08 03 A6 */ mtlr r0
/* 802B68D8 002B3818 38 21 00 10 */ addi r1, r1, 0x10
/* 802B68DC 002B381C 4E 80 00 20 */ blr
@@ -0,0 +1,43 @@
/* 802B68E0 002B3820 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802B68E4 002B3824 7C 08 02 A6 */ mflr r0
/* 802B68E8 002B3828 90 01 00 14 */ stw r0, 0x14(r1)
/* 802B68EC 002B382C 98 83 00 1D */ stb r4, 0x1d(r3)
/* 802B68F0 002B3830 38 00 00 00 */ li r0, 0
/* 802B68F4 002B3834 90 03 00 08 */ stw r0, 8(r3)
/* 802B68F8 002B3838 80 AD 85 E0 */ lwz r5, lbl_80450B60-_SDA_BASE_(r13)
/* 802B68FC 002B383C 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 802B6900 002B3840 41 82 00 5C */ beq lbl_802B695C
/* 802B6904 002B3844 38 00 00 01 */ li r0, 1
/* 802B6908 002B3848 98 03 00 1C */ stb r0, 0x1c(r3)
/* 802B690C 002B384C 88 03 00 15 */ lbz r0, 0x15(r3)
/* 802B6910 002B3850 28 00 00 85 */ cmplwi r0, 0x85
/* 802B6914 002B3854 40 82 00 18 */ bne lbl_802B692C
/* 802B6918 002B3858 38 65 03 EC */ addi r3, r5, 0x3ec
/* 802B691C 002B385C C0 22 C0 38 */ lfs f1, lbl_80455A38-_SDA2_BASE_(r2)
/* 802B6920 002B3860 38 80 00 00 */ li r4, 0
/* 802B6924 002B3864 4B FE C4 91 */ bl moveVolume__18JAISoundParamsMoveFfUl
/* 802B6928 002B3868 48 00 00 44 */ b lbl_802B696C
lbl_802B692C:
/* 802B692C 002B386C 28 00 00 7F */ cmplwi r0, 0x7f
/* 802B6930 002B3870 40 82 00 18 */ bne lbl_802B6948
/* 802B6934 002B3874 80 6D 86 08 */ lwz r3, lbl_80450B88-_SDA_BASE_(r13)
/* 802B6938 002B3878 C0 22 C0 38 */ lfs f1, lbl_80455A38-_SDA2_BASE_(r2)
/* 802B693C 002B387C 38 80 00 00 */ li r4, 0
/* 802B6940 002B3880 4B FF 70 B5 */ bl seMoveVolumeAll__7Z2SeMgrFfUl
/* 802B6944 002B3884 48 00 00 28 */ b lbl_802B696C
lbl_802B6948:
/* 802B6948 002B3888 38 65 03 EC */ addi r3, r5, 0x3ec
/* 802B694C 002B388C C0 22 C0 3C */ lfs f1, lbl_80455A3C-_SDA2_BASE_(r2)
/* 802B6950 002B3890 38 80 00 21 */ li r4, 0x21
/* 802B6954 002B3894 4B FE C4 61 */ bl moveVolume__18JAISoundParamsMoveFfUl
/* 802B6958 002B3898 48 00 00 14 */ b lbl_802B696C
lbl_802B695C:
/* 802B695C 002B389C 38 65 03 EC */ addi r3, r5, 0x3ec
/* 802B6960 002B38A0 C0 22 C0 38 */ lfs f1, lbl_80455A38-_SDA2_BASE_(r2)
/* 802B6964 002B38A4 38 80 00 B4 */ li r4, 0xb4
/* 802B6968 002B38A8 4B FE C4 4D */ bl moveVolume__18JAISoundParamsMoveFfUl
lbl_802B696C:
/* 802B696C 002B38AC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802B6970 002B38B0 7C 08 03 A6 */ mtlr r0
/* 802B6974 002B38B4 38 21 00 10 */ addi r1, r1, 0x10
/* 802B6978 002B38B8 4E 80 00 20 */ blr
@@ -0,0 +1,39 @@
/* 802B697C 002B38BC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802B6980 002B38C0 7C 08 02 A6 */ mflr r0
/* 802B6984 002B38C4 90 01 00 24 */ stw r0, 0x24(r1)
/* 802B6988 002B38C8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802B698C 002B38CC 7C 7F 1B 78 */ mr r31, r3
/* 802B6990 002B38D0 38 80 00 00 */ li r4, 0
/* 802B6994 002B38D4 4B FF FF 4D */ bl setSceneExist__10Z2SceneMgrFb
/* 802B6998 002B38D8 80 6D 86 04 */ lwz r3, lbl_80450B84-_SDA_BASE_(r13)
/* 802B699C 002B38DC C0 03 00 74 */ lfs f0, 0x74(r3)
/* 802B69A0 002B38E0 38 00 00 21 */ li r0, 0x21
/* 802B69A4 002B38E4 90 03 00 80 */ stw r0, 0x80(r3)
/* 802B69A8 002B38E8 C0 62 C0 40 */ lfs f3, lbl_80455A40-_SDA2_BASE_(r2)
/* 802B69AC 002B38EC EC 43 00 28 */ fsubs f2, f3, f0
/* 802B69B0 002B38F0 80 03 00 80 */ lwz r0, 0x80(r3)
/* 802B69B4 002B38F4 C8 22 C0 48 */ lfd f1, lbl_80455A48-_SDA2_BASE_(r2)
/* 802B69B8 002B38F8 90 01 00 0C */ stw r0, 0xc(r1)
/* 802B69BC 002B38FC 3C 00 43 30 */ lis r0, 0x4330
/* 802B69C0 002B3900 90 01 00 08 */ stw r0, 8(r1)
/* 802B69C4 002B3904 C8 01 00 08 */ lfd f0, 8(r1)
/* 802B69C8 002B3908 EC 00 08 28 */ fsubs f0, f0, f1
/* 802B69CC 002B390C EC 02 00 24 */ fdivs f0, f2, f0
/* 802B69D0 002B3910 D0 03 00 78 */ stfs f0, 0x78(r3)
/* 802B69D4 002B3914 D0 63 00 7C */ stfs f3, 0x7c(r3)
/* 802B69D8 002B3918 80 6D 86 08 */ lwz r3, lbl_80450B88-_SDA_BASE_(r13)
/* 802B69DC 002B391C C0 22 C0 38 */ lfs f1, lbl_80455A38-_SDA2_BASE_(r2)
/* 802B69E0 002B3920 38 80 00 21 */ li r4, 0x21
/* 802B69E4 002B3924 4B FF 70 11 */ bl seMoveVolumeAll__7Z2SeMgrFfUl
/* 802B69E8 002B3928 80 6D 86 04 */ lwz r3, lbl_80450B84-_SDA_BASE_(r13)
/* 802B69EC 002B392C 38 80 00 01 */ li r4, 1
/* 802B69F0 002B3930 4B FF D7 75 */ bl Z2SeqMgr_NS_setBattleBgmOff
/* 802B69F4 002B3934 38 00 00 28 */ li r0, 0x28
/* 802B69F8 002B3938 98 1F 00 17 */ stb r0, 0x17(r31)
/* 802B69FC 002B393C 38 00 FF FF */ li r0, -1
/* 802B6A00 002B3940 90 1F 00 08 */ stw r0, 8(r31)
/* 802B6A04 002B3944 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802B6A08 002B3948 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802B6A0C 002B394C 7C 08 03 A6 */ mtlr r0
/* 802B6A10 002B3950 38 21 00 20 */ addi r1, r1, 0x20
/* 802B6A14 002B3954 4E 80 00 20 */ blr
@@ -0,0 +1,59 @@
/* 802B6A18 002B3958 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802B6A1C 002B395C 7C 08 02 A6 */ mflr r0
/* 802B6A20 002B3960 90 01 00 24 */ stw r0, 0x24(r1)
/* 802B6A24 002B3964 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802B6A28 002B3968 7C 7F 1B 78 */ mr r31, r3
/* 802B6A2C 002B396C 88 03 00 15 */ lbz r0, 0x15(r3)
/* 802B6A30 002B3970 28 00 00 7F */ cmplwi r0, 0x7f
/* 802B6A34 002B3974 40 82 00 18 */ bne lbl_802B6A4C
/* 802B6A38 002B3978 80 6D 86 08 */ lwz r3, lbl_80450B88-_SDA_BASE_(r13)
/* 802B6A3C 002B397C C0 22 C0 38 */ lfs f1, lbl_80455A38-_SDA2_BASE_(r2)
/* 802B6A40 002B3980 38 80 00 00 */ li r4, 0
/* 802B6A44 002B3984 4B FF 6F B1 */ bl seMoveVolumeAll__7Z2SeMgrFfUl
/* 802B6A48 002B3988 48 00 00 34 */ b lbl_802B6A7C
lbl_802B6A4C:
/* 802B6A4C 002B398C 80 6D 86 08 */ lwz r3, lbl_80450B88-_SDA_BASE_(r13)
/* 802B6A50 002B3990 C0 22 C0 3C */ lfs f1, lbl_80455A3C-_SDA2_BASE_(r2)
/* 802B6A54 002B3994 38 80 00 21 */ li r4, 0x21
/* 802B6A58 002B3998 4B FF 6F 9D */ bl seMoveVolumeAll__7Z2SeMgrFfUl
/* 802B6A5C 002B399C 88 1F 00 15 */ lbz r0, 0x15(r31)
/* 802B6A60 002B39A0 28 00 00 85 */ cmplwi r0, 0x85
/* 802B6A64 002B39A4 40 82 00 18 */ bne lbl_802B6A7C
/* 802B6A68 002B39A8 80 6D 85 E0 */ lwz r3, lbl_80450B60-_SDA_BASE_(r13)
/* 802B6A6C 002B39AC 38 63 03 EC */ addi r3, r3, 0x3ec
/* 802B6A70 002B39B0 C0 22 C0 38 */ lfs f1, lbl_80455A38-_SDA2_BASE_(r2)
/* 802B6A74 002B39B4 38 80 00 00 */ li r4, 0
/* 802B6A78 002B39B8 4B FE C3 3D */ bl moveVolume__18JAISoundParamsMoveFfUl
lbl_802B6A7C:
/* 802B6A7C 002B39BC C0 02 C0 3C */ lfs f0, lbl_80455A3C-_SDA2_BASE_(r2)
/* 802B6A80 002B39C0 80 6D 86 04 */ lwz r3, lbl_80450B84-_SDA_BASE_(r13)
/* 802B6A84 002B39C4 D0 03 00 B4 */ stfs f0, 0xb4(r3)
/* 802B6A88 002B39C8 80 6D 85 FC */ lwz r3, lbl_80450B7C-_SDA_BASE_(r13)
/* 802B6A8C 002B39CC 4B FF F6 F1 */ bl Z2StatusMgr_NS_menuOut
/* 802B6A90 002B39D0 88 1F 00 1A */ lbz r0, 0x1a(r31)
/* 802B6A94 002B39D4 28 00 00 00 */ cmplwi r0, 0
/* 802B6A98 002B39D8 40 82 00 44 */ bne lbl_802B6ADC
/* 802B6A9C 002B39DC 80 6D 86 04 */ lwz r3, lbl_80450B84-_SDA_BASE_(r13)
/* 802B6AA0 002B39E0 C0 03 00 74 */ lfs f0, 0x74(r3)
/* 802B6AA4 002B39E4 38 00 00 21 */ li r0, 0x21
/* 802B6AA8 002B39E8 90 03 00 80 */ stw r0, 0x80(r3)
/* 802B6AAC 002B39EC C0 62 C0 3C */ lfs f3, lbl_80455A3C-_SDA2_BASE_(r2)
/* 802B6AB0 002B39F0 EC 43 00 28 */ fsubs f2, f3, f0
/* 802B6AB4 002B39F4 80 03 00 80 */ lwz r0, 0x80(r3)
/* 802B6AB8 002B39F8 C8 22 C0 48 */ lfd f1, lbl_80455A48-_SDA2_BASE_(r2)
/* 802B6ABC 002B39FC 90 01 00 0C */ stw r0, 0xc(r1)
/* 802B6AC0 002B3A00 3C 00 43 30 */ lis r0, 0x4330
/* 802B6AC4 002B3A04 90 01 00 08 */ stw r0, 8(r1)
/* 802B6AC8 002B3A08 C8 01 00 08 */ lfd f0, 8(r1)
/* 802B6ACC 002B3A0C EC 00 08 28 */ fsubs f0, f0, f1
/* 802B6AD0 002B3A10 EC 02 00 24 */ fdivs f0, f2, f0
/* 802B6AD4 002B3A14 D0 03 00 78 */ stfs f0, 0x78(r3)
/* 802B6AD8 002B3A18 D0 63 00 7C */ stfs f3, 0x7c(r3)
lbl_802B6ADC:
/* 802B6ADC 002B3A1C 38 00 00 01 */ li r0, 1
/* 802B6AE0 002B3A20 98 1F 00 1C */ stb r0, 0x1c(r31)
/* 802B6AE4 002B3A24 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802B6AE8 002B3A28 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802B6AEC 002B3A2C 7C 08 03 A6 */ mtlr r0
/* 802B6AF0 002B3A30 38 21 00 20 */ addi r1, r1, 0x20
/* 802B6AF4 002B3A34 4E 80 00 20 */ blr
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,4 @@
/* 802B9968 002B68A8 88 03 00 D0 */ lbz r0, 0xd0(r3)
/* 802B996C 002B68AC 50 80 17 7A */ rlwimi r0, r4, 2, 0x1d, 0x1d
/* 802B9970 002B68B0 98 03 00 D0 */ stb r0, 0xd0(r3)
/* 802B9974 002B68B4 4E 80 00 20 */ blr
@@ -0,0 +1,5 @@
/* 80037C7C 00034BBC A8 03 05 B4 */ lha r0, 0x5b4(r3)
/* 80037C80 00034BC0 20 00 00 2A */ subfic r0, r0, 0x2a
/* 80037C84 00034BC4 7C 00 00 34 */ cntlzw r0, r0
/* 80037C88 00034BC8 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f
/* 80037C8C 00034BCC 4E 80 00 20 */ blr
@@ -0,0 +1,17 @@
/* 80037CB0 00034BF0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80037CB4 00034BF4 7C 08 02 A6 */ mflr r0
/* 80037CB8 00034BF8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80037CBC 00034BFC 38 00 00 65 */ li r0, 0x65
/* 80037CC0 00034C00 B0 03 06 90 */ sth r0, 0x690(r3)
/* 80037CC4 00034C04 38 00 00 00 */ li r0, 0
/* 80037CC8 00034C08 B0 03 05 B4 */ sth r0, 0x5b4(r3)
/* 80037CCC 00034C0C A0 03 06 BE */ lhz r0, 0x6be(r3)
/* 80037CD0 00034C10 60 00 00 03 */ ori r0, r0, 3
/* 80037CD4 00034C14 B0 03 06 BE */ sth r0, 0x6be(r3)
/* 80037CD8 00034C18 38 80 00 01 */ li r4, 1
/* 80037CDC 00034C1C 38 63 05 EC */ addi r3, r3, 0x5ec
/* 80037CE0 00034C20 48 28 D5 4D */ bl Z2CreatureRide_NS_setLinkRiding
/* 80037CE4 00034C24 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80037CE8 00034C28 7C 08 03 A6 */ mtlr r0
/* 80037CEC 00034C2C 38 21 00 10 */ addi r1, r1, 0x10
/* 80037CF0 00034C30 4E 80 00 20 */ blr
@@ -0,0 +1,32 @@
/* 80037CF4 00034C34 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80037CF8 00034C38 7C 08 02 A6 */ mflr r0
/* 80037CFC 00034C3C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80037D00 00034C40 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80037D04 00034C44 7C 7F 1B 78 */ mr r31, r3
/* 80037D08 00034C48 48 00 00 61 */ bl checkDownDamage__10e_wb_classFv
/* 80037D0C 00034C4C 2C 03 00 00 */ cmpwi r3, 0
/* 80037D10 00034C50 41 82 00 10 */ beq lbl_80037D20
/* 80037D14 00034C54 A8 1F 06 90 */ lha r0, 0x690(r31)
/* 80037D18 00034C58 2C 00 00 67 */ cmpwi r0, 0x67
/* 80037D1C 00034C5C 40 82 00 10 */ bne lbl_80037D2C
lbl_80037D20:
/* 80037D20 00034C60 38 00 00 00 */ li r0, 0
/* 80037D24 00034C64 B0 1F 06 90 */ sth r0, 0x690(r31)
/* 80037D28 00034C68 48 00 00 0C */ b lbl_80037D34
lbl_80037D2C:
/* 80037D2C 00034C6C 38 00 00 00 */ li r0, 0
/* 80037D30 00034C70 B0 1F 06 92 */ sth r0, 0x692(r31)
lbl_80037D34:
/* 80037D34 00034C74 38 00 00 00 */ li r0, 0
/* 80037D38 00034C78 B0 1F 05 B4 */ sth r0, 0x5b4(r31)
/* 80037D3C 00034C7C A0 1F 06 BE */ lhz r0, 0x6be(r31)
/* 80037D40 00034C80 54 00 04 3A */ rlwinm r0, r0, 0, 0x10, 0x1d
/* 80037D44 00034C84 B0 1F 06 BE */ sth r0, 0x6be(r31)
/* 80037D48 00034C88 38 7F 05 EC */ addi r3, r31, 0x5ec
/* 80037D4C 00034C8C 38 80 00 00 */ li r4, 0
/* 80037D50 00034C90 48 28 D4 DD */ bl Z2CreatureRide_NS_setLinkRiding
/* 80037D54 00034C94 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80037D58 00034C98 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80037D5C 00034C9C 7C 08 03 A6 */ mtlr r0
/* 80037D60 00034CA0 38 21 00 10 */ addi r1, r1, 0x10
/* 80037D64 00034CA4 4E 80 00 20 */ blr
@@ -0,0 +1,21 @@
#include "dolphin/types.h"
class e_wb_class{
public:
u32 checkWait(void);
void setPlayerRideNow(void);
void setPlayerRide(void);
void getOff(void);
u8 checkDownDamage(void);
u8 checkNormalRideMode(void) const;
void setRunRideMode(void);
private:
u8 unk0[0x5b4];
s16 unk1460;
u8 unk1462[0xd9];
s16 unk1680;
u16 unk1682;
u8 unk1684[0x2a];
u16 unk1726;
};
@@ -0,0 +1,14 @@
#include "dolphin/types.h"
class daItem_c{
public:
u32 startCtrl(void);
u32 startControl(void);
u32 endControl(void);
private:
u8 unk0[0x948];
u8 unk2376;
u8 unk2377;
u8 unk2378;
};
@@ -1,6 +1,14 @@
#ifndef D_COM_INF_GAME_H_
#define D_COM_INF_GAME_H_
#include "d/d_save/d_save/d_save.h"
class dComIfG_gameInfo{
public:
dSv_save_c save_file;
u8 padding[0x1dc25]; //temp padding
};
extern dComIfG_gameInfo lbl_804061C0;
#endif
+18 -10
View File
@@ -2,8 +2,11 @@
#define D_SAVE_H_
#include "dolphin/types.h"
#define MAX_BOTTLES 4
#define MAX_ITEM_SLOTS 24
static const int MAX_ITEM_SLOTS = 24;
static const int ITEM_XY_MAX_DUMMY = 8;
static const int LIGHT_DROP_STAGE = 4;
static const int LETTER_INFO_BIT = 64;
enum Wallets {
WALLET,
@@ -154,7 +157,7 @@ class dSv_player_status_b_c {
u8 dark_clear_level_flag;
u8 unk10;
u8 unk11;
float unk12;
float time_of_day;
u16 unk16;
u8 unk18[3];
u8 padding61[3];
@@ -252,6 +255,9 @@ class dSv_player_item_c {
void setRodTypeLevelUp(void);
void setBaitItem(u8);
static const int BOMB_BAG_MAX = 4;
static const int BOTTLE_MAX = 4;
private:
u8 items[24];
u8 item_slots[24];
@@ -293,7 +299,7 @@ class dSv_player_item_max_c {
u8 getBombNum(u8) const;
private:
u8 unk0[8];
u8 item_capacities[8];
};
class dSv_player_collect_c {
@@ -334,7 +340,7 @@ class dSv_light_drop_c {
bool isLightDropGetFlag(u8) const;
private:
u8 unk0[4];
u8 light_drop_counts[4];
u8 light_drop_get_flag;
u8 unk5[3];
};
@@ -527,7 +533,7 @@ class dSv_danBit_c {
bool isItem(int) const;
private:
s8 unk0;
s8 mStageNum;
u8 unk1;
u8 unk2[2];
u32 switch_bitfield[2];
@@ -562,12 +568,14 @@ class dSv_zoneBit_c {
};
class dSv_zoneActor_c {
public:
public:
void init(void);
void on(int);
void off(int);
bool is(int) const;
static const int ACTOR_MAX = 0xFFFF;
private:
u32 actor_bitfield[4];
};
@@ -622,10 +630,10 @@ class dSv_save_c {
public:
void init(void);
dSv_memory2_c* getSave2(int);
inline dSv_player_c& getPlayer() {
return player;
}
inline dSv_player_c& getPlayer() {return player; }
static const int STAGE_MAX = 4;
private:
dSv_player_c player;
u8 unk492[4];
+123 -2
View File
@@ -24,6 +24,8 @@ extern "C" {
void setBombNum__21dSv_player_item_max_cFUcUc(void);
void func_80362224(void);
void func_803621D8(void);
void func_803621CC(void);
void func_80362218(void);
void _restgpr_26(void);
void _savegpr_26(void);
void _restgpr_29(void);
@@ -93,7 +95,6 @@ extern "C" {
void func_80003540(void);
void func_80362324(void);
void func_8036221C(void);
void func_803621D0(void);
void func_8036221C(void);
void countUsed__FP10JKRExpHeap(void);
void JUTReport(void);
@@ -110,7 +111,7 @@ extern "C" {
void getTotalUsedSize__10JKRExpHeapCFv(void);
void HeapCheck_NS_getUsedCount(void);
void CheckHeap1__9HeapCheckFv(void);
void JUTException_NS_panic_f(void);
void JUTException_NS_panic_f(const char* filename, int line, const char* format, ...);
void Debug_console__FUl(void);
void debugDisplay__Fv(void);
void CheckHeap__FUl(void);
@@ -253,11 +254,131 @@ extern "C" {
void __dla__FPv(void);
}
extern "C" {
struct TColor;
extern void GXBegin(u8, u8, u16);
extern void GXLoadTexObj(u32*, s32);
extern void GXInitTexObjLOD(f32, f32, f32, u32*, s32, s32, u32, u8, u32);
extern void GXInitTexObj(u32*, u32, u32, u32, u32, u32, u8);
extern void GXSetNumChans(u32);
extern void GXSetNumTevStages(u32);
extern void GXSetNumTexGens(u32);
extern void GXSetTevOrder(u32, u32, u32, u32);
extern void GXSetChanCtrl(u32, u32, u32, u32, u32, u32, s32);
extern void GXSetTevOp(s32, s32);
extern void GXSetTevColor(s32, TColor);
extern void GXSetTevColorIn(s32, u32, u32, u32, u32);
extern void GXSetTevAlphaIn(s32, u32, u32, u32, u32);
extern void GXSetTevColorOp(s32, u32, u32, u32, u32, u32);
extern void GXSetTevAlphaOp(s32, u32, u32, u32, u32, u32);
extern void GXSetBlendMode(u32, u32, u32, u32);
extern void GXSetVtxAttrFmt(u32, u32, u32, u32, u32);
extern void GXClearVtxDesc();
extern void GXSetVtxDesc(u32, u32);
}
extern "C" {
void JUTReport__FiiPCce(int, int, const char*, ...);
extern void JUTReportConsole(const char*);
}
// m_Do_main.h
extern "C" {
void mDoMch_HeapCheckAll(void);
}
//Z2SoundMgr
extern "C"{
void resetFilterAll__10Z2SoundMgrFv(void);
void seMoveVolumeAll__7Z2SeMgrFfUl(void);
void moveVolume__18JAISoundParamsMoveFfUl(void);
void Z2SeqMgr_NS_setBattleBgmOff(void);
void setSceneExist__10Z2SceneMgrFb(void);
void Z2StatusMgr_NS_menuOut(void);
void func_803621F4(void);
void Z2SceneMgr_NS_sceneChange(void);
void __ct__10JAISoundIDFRC10JAISoundID(void);
void Z2EnvSeMgr_NS_initSceneEnvSe(void);
void setFieldBgmPlay__8Z2SeqMgrFb(void);
void Z2SeqMgr_NS_setTimeProcVolMod(void);
void Z2SeqMgr_NS_setHeightVolMod(void);
void JAISound_NS_stop(void);
void JAUSoundTable_NS_getTypeID(void);
void JAIStreamMgr_NS_isActive(void);
void JAISound_NS_getID(void);
void JSUList_X1_(void);
void dComIfGs_isStageSwitch(void);
void dComIfGs_getStartPoint(void);
void Z2StatusMgr_NS_checkDayTime(void);
void Z2SeqMgr_NS_bgmStop(void);
void isSwitch__10dSv_info_cCFii(void);
void Z2SoundObjMgr_NS_setForceBattleArea(void);
void Z2SeqMgr_NS_unMuteSceneBgm(void);
void Z2SeqMgr_NS_muteSceneBgm(void);
void dComIfGs_isEventBit(void);
void Z2SeqMgr_NS_changeBgmStatus(void);
void JAISoundID_NS___as(void);
void dComIfGs_isSaveSwitch(void);
void Z2StatusMgr_NS_setDemoName(void);
void Z2SeMgr_NS_resetModY(void);
void Z2SoundObjMgr_NS_setGhostEnemyState(void);
void Z2SeMgr_NS_resetCrowdSize(void);
void Z2SeqMgr_NS_setTwilightGateVol(void);
void Z2SeqMgr_NS_setWindStoneVol(void);
void Z2SeqMgr_NS_resetBattleBgmParams(void);
void JAISoundID_X1_(void);
void func_803621A8(void);
void moveVolume__18JAISoundParamsMoveFfUl(void);
void seMoveVolumeAll__7Z2SeMgrFfUl(void);
}
// Z2LinkMgr
extern "C" {
void Z2CreatureLink_NS_startLinkSound(void);
void Z2SoundObjSimple(void);
void Z2LinkSoundStarter(void);
void Z2Creature(void);
void JAISoundStarter_NS_dtor(void);
void Z2Creature_NS_dtor(void);
void Z2SoundObjBase_NS_dtor(void);
void Z2Creature_NS_deleteObject(void);
void deleteKantera__14Z2CreatureLinkFv(void);
void Z2Creature_NS_init_X1_(void);
void Z2SoundObjBase_NS_deleteObject(void);
void PSVECSquareDistance(void);
void moveVolume__18JAISoundParamsMoveFfUl(void);
void Z2CreatureLink_NS_startLinkSoundLevel(void);
void Z2SeMgr_NS_seStartLevel(void);
void Z2Creature_NS_framework(void);
void Z2Audience_NS_setTargetVolume(void);
void Z2SoundObjMgr_NS_setGhostEnemyState(void);
void Z2FxLineMgr_NS_setFxForceOff(void);
void Z2SeMgr_NS_seStart(void);
void JAISoundParamsMove_NS_movePitch(void);
void Z2Calc_NS_linearTransform(void);
void JAISound_NS_stop(void);
void Z2SoundHandles_NS_getHandleSoundID(void);
void Z2SeqMgr_NS_setBattleSeqState(void);
void startLinkSound__14Z2CreatureLinkF10JAISoundIDUlSc(void);
void startLinkSoundLevel__14Z2CreatureLinkF10JAISoundIDUlSc(void);
void Z2SoundStarter_NS_setPortData(void);
void Z2SoundObjBase_NS_startCollisionSE(void);
void Z2SeqMgr_NS_setBattleLastHit(void);
}
// Z2Calc
extern "C" {
void linearTransform__6Z2CalcFfffffb(void);
void func_8036C740(void);
void func_8036C780(void);
void getRandom_0_1__6Z2CalcFv(void);
void getParamByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign(void);
void JMath_NS_TRandom_fast_(void);
}
// d_a_horse_static
extern "C"{
void Z2CreatureRide_NS_setLinkRiding(void);
void checkDownDamage__10e_wb_classFv(void);
}
+86 -2
View File
@@ -75,7 +75,8 @@ extern u8 lbl_803BB4A8;
extern u8 lbl_804539F8;
extern u8 lbl_804539FC;
extern u8 lbl_803BB498;
extern float lbl_804550E8;
extern float lbl_804550EC;
#define _SDA_BASE_(dummy) 0
#define _SDA2_BASE_(dummy) 0
@@ -89,6 +90,7 @@ extern JKRHeap* lbl_80451378; // JKRHeap::sRootHeap
extern JKRHeap* lbl_80451374; // JKRHeap::sCurrentHeap
extern void* lbl_8045137C; // JKRHeap::mErrorHandler
extern u8 lbl_804508B0[8]; // ::*fill*
extern u8 lbl_80451380[4]; // DAT_80451380
@@ -109,4 +111,86 @@ extern u32 lbl_80000028;
extern char lbl_8039CAD8[12]; // "JKRHeap.cpp"
// func_802D147C
extern void* lbl_803CC0F0; // JKRDisposer::__vt
extern void* lbl_803CC0F0; // JKRDisposer::__vt
// func_802C333C
extern u8 lbl_803CB980[0x48];
extern u8 lbl_80451360[8];
// func_802C3464
extern u8 lbl_803CB96C[0x14];
extern u8 lbl_803C9D80[0x18];
extern u32 lbl_80450B74;
// func_802C3500
extern u8 lbl_803CAD10[0x20];
// func_802C3638
extern u32 lbl_80450B44;
// func_80450B88
extern u32 lbl_80455C98;
extern u32 lbl_80455C9C;
extern u8 lbl_80455CA0[8];
extern u8 lbl_80455CA8[8];
extern u8 lbl_80455CB0[8];
extern u8 lbl_80455CB8[8];
extern u32 lbl_80450AE0;
// func_802C3A6C
extern u32 lbl_80455CC0;
// func_802C3AFC
extern u32 lbl_80450B40;
// func_802C3BD4
extern u8 lbl_80455CE0[8];
extern u32 lbl_80455CC4;
extern u32 lbl_80455CC8;
extern u32 lbl_80455CCC;
extern u32 lbl_80455CD0;
extern u32 lbl_80455CD4;
extern u8 lbl_80455CD8[8];
// func_802C3E68
extern u8 lbl_80455D10[8];
extern u32 lbl_80455CE8;
extern u32 lbl_80455CEC;
extern u32 lbl_80455CF0;
extern u32 lbl_80455CF4;
extern u32 lbl_80455CF8;
extern u32 lbl_80455CFC;
extern u32 lbl_80455D00;
extern u32 lbl_80455D04;
extern u32 lbl_80455D08;
extern u32 lbl_80455D0C;
// func_802C4784
extern u32 lbl_80455D18;
// func_802A96F4
extern u32 lbl_80455828;
extern float lbl_8045582C;
// func_802A9814
extern u32 lbl_80455830;
extern u32 lbl_80455834;
// func_802A98D4
extern u32 lbl_80451330;
extern u32 lbl_80451334;
//Z2SoundLib SInstance
class Z2SceneMgr;
extern Z2SceneMgr* lbl_80450B80; // Z2SceneMgr sInstance
class Z2SoundMgr;
extern Z2SoundMgr* lbl_80450B60; // Z2SoundMgr sInstance
class Z2SeqMgr;
extern Z2SeqMgr* lbl_80450B84; //Z2SeqMgr sInstance
class Z2StatusMgr;
extern Z2StatusMgr* lbl_80450B7C; //Z2StatusMgr sInstance
class Z2SeMgr;
extern Z2SeMgr* lbl_80450B88; //Z2SeMgr sInstance
class Z2SoundObjMgr;
extern Z2SoundObjMgr* lbl_80450B48; //Z2SoundObjMgr sInstance