summaryrefslogtreecommitdiff
path: root/src/DynamicLink.cpp
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2022-01-25 12:24:14 -0800
committerGitHub <noreply@github.com>2022-01-25 21:24:14 +0100
commit612f26c132280da43ecfa5fa8c8cc32966f06eb6 (patch)
treeac20d071712cf830ec526222c98d340d90721f77 /src/DynamicLink.cpp
parent6f4d068f1d7c5a9f25f1920e64e5b10dc29aea07 (diff)
d_kankyo_wether / d_eye_hl (#178)
* d_eye_hl / d_kankyo_wether wip * more d_kankyo_wether + format * remove asm * some d_kankyo wip * fix dccs vtable * some m_Do_graphic / d_meter2_draw work
Diffstat (limited to 'src/DynamicLink.cpp')
-rw-r--r--src/DynamicLink.cpp335
1 files changed, 182 insertions, 153 deletions
diff --git a/src/DynamicLink.cpp b/src/DynamicLink.cpp
index 8c505b9a12..e86cd9ad3d 100644
--- a/src/DynamicLink.cpp
+++ b/src/DynamicLink.cpp
@@ -4,13 +4,13 @@
//
#include "DynamicLink.h"
+#include "JSystem/JKernel/JKRDvdRipper.h"
+#include "JSystem/JUtility/JUTConsole.h"
+#include "MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf.h"
#include "dol2asm.h"
-#include "dolphin/types.h"
#include "dolphin/os/OS.h"
-#include "JSystem/JUtility/JUTConsole.h"
+#include "dolphin/types.h"
#include "m_Do/m_Do_ext.h"
-#include "MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf.h"
-#include "JSystem/JKernel/JKRDvdRipper.h"
//
// Forward References:
@@ -39,8 +39,8 @@ extern "C" void getModuleTypeString__20DynamicModuleControlCFv();
extern "C" void ModuleProlog();
extern "C" void ModuleEpilog();
extern "C" void ModuleUnresolved();
-extern "C" void ModuleConstructorsX(void(**ctors)());
-extern "C" void ModuleDestructorsX(void(**dtors)());
+extern "C" void ModuleConstructorsX(void (**ctors)());
+extern "C" void ModuleDestructorsX(void (**dtors)());
extern "C" bool do_link__24DynamicModuleControlBaseFv();
extern "C" bool do_load__24DynamicModuleControlBaseFv();
extern "C" bool do_unload__24DynamicModuleControlBaseFv();
@@ -103,16 +103,16 @@ DynamicModuleControlBase* DynamicModuleControlBase::mLast;
*/
DynamicModuleControlBase::~DynamicModuleControlBase() {
force_unlink();
- if (mPrev!=NULL) {
+ if (mPrev != NULL) {
mPrev->mNext = mNext;
}
- if (mNext!=NULL) {
+ if (mNext != NULL) {
mNext->mPrev = mPrev;
}
- if (mFirst==this) {
+ if (mFirst == this) {
mFirst = mNext;
}
- if (mLast==this) {
+ if (mLast == this) {
mLast = mPrev;
}
mNext = NULL;
@@ -125,11 +125,11 @@ DynamicModuleControlBase::DynamicModuleControlBase() {
mLinkCount = 0;
mDoLinkCount = 0;
mNext = NULL;
- if (mFirst==NULL) {
+ if (mFirst == NULL) {
mFirst = this;
}
mPrev = mLast;
- if (mPrev!=NULL) {
+ if (mPrev != NULL) {
mPrev->mNext = this;
}
mLast = this;
@@ -138,16 +138,16 @@ DynamicModuleControlBase::DynamicModuleControlBase() {
/* 802622D0-80262364 25CC10 0094+00 0/0 2/2 0/0 .text link__24DynamicModuleControlBaseFv
*/
bool DynamicModuleControlBase::link() {
- if (mLinkCount==0) {
+ if (mLinkCount == 0) {
do_load();
- if (do_link()==false) {
+ if (do_link() == false) {
return false;
}
- if (mDoLinkCount<0xFFFF) {
+ if (mDoLinkCount < 0xFFFF) {
mDoLinkCount++;
}
}
- if(mLinkCount<0xFFFF) {
+ if (mLinkCount < 0xFFFF) {
mLinkCount++;
}
return true;
@@ -155,21 +155,22 @@ bool DynamicModuleControlBase::link() {
/* 80262364-802623EC 25CCA4 0088+00 0/0 1/1 0/0 .text unlink__24DynamicModuleControlBaseFv */
bool DynamicModuleControlBase::unlink() {
- if(mLinkCount!=0) {
+ if (mLinkCount != 0) {
mLinkCount--;
- if(mLinkCount==0) {
+ if (mLinkCount == 0) {
do_unlink();
do_unload();
}
- }else{
- OSReport_Warning("%08x DynamicModuleControlBase::unlink() mLinkCount id already zero.\n",this);
+ } else {
+ OSReport_Warning("%08x DynamicModuleControlBase::unlink() mLinkCount id already zero.\n",
+ this);
}
return true;
}
/* 802623EC-8026242C 25CD2C 0040+00 0/0 1/1 0/0 .text load_async__24DynamicModuleControlBaseFv */
bool DynamicModuleControlBase::load_async() {
- if (mLinkCount==0) {
+ if (mLinkCount == 0) {
return do_load_async();
}
return true;
@@ -178,7 +179,7 @@ bool DynamicModuleControlBase::load_async() {
/* 8026242C-80262470 25CD6C 0044+00 1/1 0/0 0/0 .text force_unlink__24DynamicModuleControlBaseFv
*/
bool DynamicModuleControlBase::force_unlink() {
- if (mLinkCount!=0) {
+ if (mLinkCount != 0) {
mLinkCount = 0;
do_unlink();
}
@@ -191,43 +192,45 @@ void DynamicModuleControlBase::dump() {
int totalSize = 0;
JUTReportConsole_f("\nDynamicModuleControlBase::dump()\n");
JUTReportConsole_f("Do Lnk Size Name\n");
- //lbl_80262608
- while (current!=NULL) {
- //lbl_802624B8
+ // lbl_80262608
+ while (current != NULL) {
+ // lbl_802624B8
u16 doLinkCount = current->mDoLinkCount;
u16 linkCount = current->mLinkCount;
- if (doLinkCount!=0||linkCount!=0) {
- //lbl_802624D0
+ if (doLinkCount != 0 || linkCount != 0) {
+ // lbl_802624D0
u32 size = current->getModuleSize();
const char* name = current->getModuleName();
- if(size<0xFFFFFFFF) {
- name = (name!=NULL) ? name : "(Null)";
- //lbl_80262524
+ if (size < 0xFFFFFFFF) {
+ name = (name != NULL) ? name : "(Null)";
+ // lbl_80262524
const char* type = current->getModuleTypeString();
- JUTReportConsole_f("%3d%3d%5.1f %05x %-4s %-24s ",doLinkCount,linkCount,size*(1.0f/1024.0f),size,type,name);
- totalSize=totalSize+size;
- }else{
- //lbl_80262588
- name = (name!=NULL) ? name : "(Null)";
- //lbl_802625A4
+ JUTReportConsole_f("%3d%3d%5.1f %05x %-4s %-24s ", doLinkCount, linkCount,
+ size * (1.0f / 1024.0f), size, type, name);
+ totalSize = totalSize + size;
+ } else {
+ // lbl_80262588
+ name = (name != NULL) ? name : "(Null)";
+ // lbl_802625A4
const char* type = current->getModuleTypeString();
- JUTReportConsole_f("%3d%3d ???? ????? %-4s %-24s ",doLinkCount,linkCount,type,name);
+ JUTReportConsole_f("%3d%3d ???? ????? %-4s %-24s ", doLinkCount, linkCount, type,
+ name);
}
- //lbl_802625DC
+ // lbl_802625DC
current->dump2();
JUTReportConsole_f("\n");
}
- //lbl_80262604
+ // lbl_80262604
current = getNextClass();
}
- //lbl_80262608
- JUTReportConsole_f("TotalSize %6.2f %06x\n\n",(1.0f/1024.0f)*totalSize,totalSize);
+ // lbl_80262608
+ JUTReportConsole_f("TotalSize %6.2f %06x\n\n", (1.0f / 1024.0f) * totalSize, totalSize);
}
#else
/* ############################################################################################## */
/* 80455008-80455010 003608 0004+04 1/1 0/0 0/0 .sdata2 @3772 */
SECTION_SDATA2 static f32 lit_3772[1 + 1 /* padding */] = {
- 0.0009765625f, // 1/1024
+ 0.0009765625f, // 1/1024
/* padding */
0.0f,
};
@@ -291,10 +294,13 @@ SECTION_DEAD static char const* const stringBase_8039A57B = "Base";
/* 802626D0-8026275C 25D010 008C+00 1/1 0/0 0/0 .text mountCallback__20DynamicModuleControlFPv */
JKRArchive* DynamicModuleControl::mountCallback(void* param_0) {
JKRExpHeap* heap = mDoExt_getArchiveHeap();
- sFileCache = JKRFileCache::mount("/rel/Final/Release",heap,NULL);
- sArchive = JKRArchive::mount("RELS.arc",JKRArchive::MOUNT_COMP,heap,JKRArchive::MOUNT_DIRECTION_HEAD);
+ sFileCache = JKRFileCache::mount("/rel/Final/Release", heap, NULL);
+ sArchive = JKRArchive::mount("RELS.arc", JKRArchive::MOUNT_COMP, heap,
+ JKRArchive::MOUNT_DIRECTION_HEAD);
if (sArchive == NULL) {
- OSReport_Warning("マウント失敗ですが単にアーカイブを作ってないだけなら遅いだけです %s\n","RELS.arc");
+ // "Mount failure, but if the archive isn't created, it was too slow %s\n"
+ OSReport_Warning("マウント失敗ですが単にアーカイブを作ってないだけなら遅いだけです %s\n",
+ "RELS.arc");
}
return sArchive;
}
@@ -318,9 +324,9 @@ void* DynamicModuleControl::callback(void* moduleControlPtr) {
/* 802627C0-802627E8 25D100 0028+00 1/1 0/0 0/0 .text calcSum2__FPCUsUl */
static u32 calcSum2(u16 const* data, u32 size) {
u32 sum = 0;
- while (size>0) {
+ while (size > 0) {
sum = sum + *data;
- size=size-2;
+ size = size - 2;
data++;
}
return sum;
@@ -328,83 +334,93 @@ static u32 calcSum2(u16 const* data, u32 size) {
#ifdef NONMATCHING
bool DynamicModuleControl::do_load() {
- if (mModule!=NULL) {
+ if (mModule != NULL) {
return true;
}
JKRExpHeap* heap = mDoExt_getArchiveHeap();
s32 i = 0;
- while(true) {
- if(mModule != NULL) {
- JKRHeap::free(mModule,NULL);
+ while (true) {
+ if (mModule != NULL) {
+ JKRHeap::free(mModule, NULL);
mModule = NULL;
}
char buffer[64];
- snprintf(buffer,64,"%s.rel",mName);
- if(mModule==NULL&&sArchive!=NULL) {
- if(mModule==NULL) {
- mModule = (OSModuleInfo*)JKRArchive::getGlbResource(0x4D4D454D/*MMEM*/,buffer,sArchive);
- if(mModule!=NULL) {
+ snprintf(buffer, 64, "%s.rel", mName);
+ if (mModule == NULL && sArchive != NULL) {
+ if (mModule == NULL) {
+ mModule = (OSModuleInfo*)JKRArchive::getGlbResource('MMEM', buffer, sArchive);
+ if (mModule != NULL) {
mResourceType = 1;
}
}
- if(mModule==NULL) {
- mModule = (OSModuleInfo*)JKRArchive::getGlbResource(0x414D454D/*AMEM*/,buffer,sArchive);
- if(mModule!=NULL) {
+ if (mModule == NULL) {
+ mModule = (OSModuleInfo*)JKRArchive::getGlbResource('AMEM', buffer, sArchive);
+ if (mModule != NULL) {
mResourceType = 2;
}
}
- if(mModule==NULL) {
- mModule = (OSModuleInfo*)JKRArchive::getGlbResource(0x444D454D/*DMEM*/,buffer,sArchive);
- if(mModule!=NULL) {
+ if (mModule == NULL) {
+ mModule = (OSModuleInfo*)JKRArchive::getGlbResource('DMEM', buffer, sArchive);
+ if (mModule != NULL) {
mResourceType = 3;
}
}
}
- if(mModule!=NULL) {
+ if (mModule != NULL) {
mSize = sArchive->getExpandedResSize(mModule);
- JKRFileLoader::detachResource(mModule,NULL);
- }else if(mModule==NULL){
- snprintf(buffer,64,"/rel/Final/Release/%s.rel",mName);
- mModule = (OSModuleInfo*)JKRDvdRipper::loadToMainRAM(buffer,NULL,EXPAND_SWITCH_UNKNOWN1,0,heap,JKRDvdRipper::ALLOC_DIRECTION_FORWARD,0,NULL,NULL);
- if(mModule!=NULL) {
+ JKRFileLoader::detachResource(mModule, NULL);
+ } else if (mModule == NULL) {
+ snprintf(buffer, 64, "/rel/Final/Release/%s.rel", mName);
+ mModule = (OSModuleInfo*)JKRDvdRipper::loadToMainRAM(
+ buffer, NULL, EXPAND_SWITCH_UNKNOWN1, 0, heap,
+ JKRDvdRipper::ALLOC_DIRECTION_FORWARD, 0, NULL, NULL);
+ if (mModule != NULL) {
mSize = 0;
mResourceType = 7;
}
}
- if(mModule==NULL&&sFileCache!=NULL) {
- mModule = (OSModuleInfo*)sFileCache->getResource(0x72656C73/*rels*/,buffer);
- if(mModule!=NULL) {
+ if (mModule == NULL && sFileCache != NULL) {
+ mModule = (OSModuleInfo*)sFileCache->getResource('rels', buffer);
+ if (mModule != NULL) {
mSize = 0;
mResourceType = 11;
- JKRFileLoader::detachResource(mModule,NULL);
+ JKRFileLoader::detachResource(mModule, NULL);
}
}
- if(mModule==NULL) {
- OSReport_Error("\x44\x79\x6E\x61\x6D\x69\x63\x4D\x6F\x64\x75\x6C\x65\x43\x6F\x6E\x74\x72\x6F\x6C\x3A\x3A\x64\x6F\x5F\x6C\x6F\x61\x64\x28\x29\x20\x83\x8A\x83\x5C\x81\x5B\x83\x58\x93\xC7\x82\xDD\x8D\x9E\x82\xDD\x8E\xB8\x94\x73\x20\x5B\x25\x73\x5D\x0A",mName);
+ if (mModule == NULL) {
+ // "DynamicModuleControl::do_load() Resource load failure [%s]\n"
+ OSReport_Error(
+ "\x44\x79\x6E\x61\x6D\x69\x63\x4D\x6F\x64\x75\x6C\x65\x43\x6F\x6E\x74\x72\x6F\x6C"
+ "\x3A\x3A\x64\x6F\x5F\x6C\x6F\x61\x64\x28\x29\x20\x83\x8A\x83\x5C\x81\x5B\x83\x58"
+ "\x93\xC7\x82\xDD\x8D\x9E\x82\xDD\x8E\xB8\x94\x73\x20\x5B\x25\x73\x5D\x0A",
+ mName);
return false;
}
- if(mSize>0) {
- u32 sum = calcSum2((u16*)mModule,mSize);
- if(unk_33==0) {
- mChecksum=sum;
+ if (mSize > 0) {
+ u32 sum = calcSum2((u16*)mModule, mSize);
+ if (unk_33 == 0) {
+ mChecksum = sum;
unk_33++;
- }else{
- u32 newsum = sum&0xFFFF;
- if(newsum!=mChecksum) {
- OSReport_Error("DynamicModuleControl::do_load() チェックサムエラー %04x %04x[%s]\n",newsum,mChecksum,mName);
+ } else {
+ u32 newsum = sum & 0xFFFF;
+ if (newsum != mChecksum) {
+ OSReport_Error(
+ // "DynamicModuleControl::do_load() Checksum Error %04x %04x[%s]\n"
+ "DynamicModuleControl::do_load() チェックサムエラー %04x %04x[%s]\n",
+ newsum, mChecksum, mName);
unk_33 = 0;
i++;
- if(i>=3) {
+ if (i >= 3) {
return false;
}
}
}
- if(unk_33<0xFF) {
+ if (unk_33 < 0xFF) {
unk_33++;
return true;
}
}
- if(unk_33<0xFF) {
+ if (unk_33 < 0xFF) {
unk_33++;
return true;
}
@@ -443,20 +459,23 @@ asm bool DynamicModuleControl::do_load() {
/* 80262AFC-80262BC4 25D43C 00C8+00 1/0 0/0 0/0 .text do_load_async__20DynamicModuleControlFv */
bool DynamicModuleControl::do_load_async() {
- if (mAsyncLoadCallback==NULL) {
- if(mModule!=NULL) {
+ if (mAsyncLoadCallback == NULL) {
+ if (mModule != NULL) {
return true;
}
- mAsyncLoadCallback = mDoDvdThd_callback_c::create(DynamicModuleControl::callback,this);
- if(mAsyncLoadCallback==NULL) {
- OSReport_Error("DynamicModuleControl::do_load_async() 非同期読み込みコールバック登録失敗 [%s]\n",mName);
+ mAsyncLoadCallback = mDoDvdThd_callback_c::create(DynamicModuleControl::callback, this);
+ if (mAsyncLoadCallback == NULL) {
+ OSReport_Error(
+ // "DynamicModuleControl::do_load_async() async load callback entry failure [%s]\n"
+ "DynamicModuleControl::do_load_async() 非同期読み込みコールバック登録失敗 [%s]\n",
+ mName);
}
}
- if (mAsyncLoadCallback!=NULL&&mAsyncLoadCallback->sync()) {
+ if (mAsyncLoadCallback != NULL && mAsyncLoadCallback->sync()) {
mAsyncLoadCallback->destroy();
mAsyncLoadCallback = NULL;
return true;
- }else{
+ } else {
return false;
}
}
@@ -464,7 +483,7 @@ bool DynamicModuleControl::do_load_async() {
/* 80262BC4-80262C0C 25D504 0048+00 1/0 0/0 0/0 .text do_unload__20DynamicModuleControlFv
*/
bool DynamicModuleControl::do_unload() {
- if (mModule!=NULL){
+ if (mModule != NULL) {
JKRFree(mModule);
mModule = NULL;
}
@@ -473,79 +492,87 @@ bool DynamicModuleControl::do_unload() {
/* 80262C0C-80262C5C 25D54C 0050+00 1/0 0/0 0/0 .text dump2__20DynamicModuleControlFv */
void DynamicModuleControl::dump2() {
- if (mModule!=NULL) {
+ if (mModule != NULL) {
OSSectionInfo* section = (OSSectionInfo*)mModule->info.sectionInfoOffset;
- OSSectionInfo* section2 = section+1;
+ OSSectionInfo* section2 = section + 1;
u32 offset = section2->mOffset & ~(1);
- OSReport("%08x-%08x %08x %08x",mModule,offset,offset+section2->mSize);
+ OSReport("%08x-%08x %08x %08x", mModule, offset, offset + section2->mSize);
}
}
#ifdef NONMATCHING
BOOL DynamicModuleControl::do_link() {
OSGetTime();
- if(mModule==NULL) {
+ if (mModule == NULL) {
do_load();
}
- if(mModule!=NULL) {
+ if (mModule != NULL) {
ASSERT(mModule->info.sectionInfoOffset < 0x80000000);
ASSERT((u32)mModule + mModule->fixSize < 0x82000000);
OSGetTime();
OSGetTime();
- if(mModule->mModuleVersion>=3) {
+ if (mModule->mModuleVersion >= 3) {
u32 unk = mModule->fixSize;
- u32 unk3 = (unk+0x1f) & ~0x1f;
- u32 unk2 = (u32)mModule+unk3;
- s32 size = JKRHeap::getSize(mModule,NULL);
- if(size<0) {
- void* bss = JKRHeap::alloc(mModule->mBssSize,0x20,NULL);
- if (bss==NULL) {
+ u32 unk3 = (unk + 0x1f) & ~0x1f;
+ u32 unk2 = (u32)mModule + unk3;
+ s32 size = JKRHeap::getSize(mModule, NULL);
+ if (size < 0) {
+ void* bss = JKRHeap::alloc(mModule->mBssSize, 0x20, NULL);
+ if (bss == NULL) {
+ // "BSS Memory allocation failed\n"
OSReport_Error("BSSメモリ確保失敗\n");
goto end;
- }else{
+ } else {
mBss = bss;
BOOL linkResult = OSLink(mModule);
- if(linkResult==FALSE) {
+ if (linkResult == FALSE) {
+ // "link failed\n"
OSReport_Error("リンク失敗\n");
goto end;
}
}
- }else{
- if(mModule->mBssSize+unk<size) {
- BOOL linkResult = OSLinkFixed(mModule,unk2);
- if(linkResult==FALSE) {
+ } else {
+ if (mModule->mBssSize + unk < size) {
+ BOOL linkResult = OSLinkFixed(mModule, unk2);
+ if (linkResult == FALSE) {
+ // "link failed\n"
OSReport_Error("リンク失敗\n");
goto end;
- }else{
- s32 result = JKRHeap::resize(mModule,mModule->mBssSize+unk,NULL);
- if (result<0) {
+ } else {
+ s32 result = JKRHeap::resize(mModule, mModule->mBssSize + unk, NULL);
+ if (result < 0) {
+ // "Module size (resize) failed\n"
OSReport_Error("モジュールリサイズ(縮小)失敗\n");
}
}
- }else{ //lbl_80262DB0
- s32 result = JKRHeap::resize(mModule,mModule->mBssSize+unk,NULL);
- if (result>0) {
- BOOL linkResult = OSLinkFixed(mModule,unk2);
- if(linkResult==FALSE) {
+ } else { // lbl_80262DB0
+ s32 result = JKRHeap::resize(mModule, mModule->mBssSize + unk, NULL);
+ if (result > 0) {
+ BOOL linkResult = OSLinkFixed(mModule, unk2);
+ if (linkResult == FALSE) {
+ // "link failed\n"
OSReport_Error("リンク失敗\n");
goto end;
}
- }else{ //lbl_80262DF0
- void* bss = JKRHeap::alloc(mModule->mBssSize,0x20,NULL);
- if (bss==NULL) {
- OSReport_Error("BSSメモリ確保失敗 [%x]\n",mModule->mBssSize);
+ } else { // lbl_80262DF0
+ void* bss = JKRHeap::alloc(mModule->mBssSize, 0x20, NULL);
+ if (bss == NULL) {
+ // "BSS Memory allocation failure [%x]\n"
+ OSReport_Error("BSSメモリ確保失敗 [%x]\n", mModule->mBssSize);
goto end;
- }else{ //lbl_80262E2C
+ } else { // lbl_80262E2C
mBss = bss;
- BOOL linkResult = OSLinkFixed(mModule,(u32)bss);
- if (linkResult==FALSE) {
+ BOOL linkResult = OSLinkFixed(mModule, (u32)bss);
+ if (linkResult == FALSE) {
+ // "link failed\n"
OSReport_Error("リンク失敗\n");
goto end;
}
- //lbl_80262E58
- s32 result = JKRHeap::resize(mModule,unk3,NULL);
- if (result<0) {
+ // lbl_80262E58
+ s32 result = JKRHeap::resize(mModule, unk3, NULL);
+ if (result < 0) {
+ // "Module size (resize) failed\n"
OSReport_Error("モジュールリサイズ(縮小)失敗\n");
}
}
@@ -553,7 +580,7 @@ BOOL DynamicModuleControl::do_link() {
}
}
}
- //lbl_80262E84
+ // lbl_80262E84
OSGetTime();
sAllocBytes = sAllocBytes + getModuleSize();
OSGetTime();
@@ -562,14 +589,14 @@ BOOL DynamicModuleControl::do_link() {
return TRUE;
}
-end: //lbl_80262ECC
+end: // lbl_80262ECC
unk_33 = 0;
- if(mBss!=NULL) {
- JKRHeap::free(mBss,NULL);
+ if (mBss != NULL) {
+ JKRHeap::free(mBss, NULL);
mBss = NULL;
}
- if(mModule!=NULL) {
- JKRHeap::free(mModule,NULL);
+ if (mModule != NULL) {
+ JKRHeap::free(mModule, NULL);
mModule = NULL;
}
return FALSE;
@@ -603,28 +630,29 @@ bool DynamicModuleControl::do_unlink() {
OSTime time2 = OSGetTime();
BOOL unklink = OSUnlink(mModule);
OSTime time3 = OSGetTime();
- if (unklink==FALSE) {
- OSReport_Error("アンリンク失敗 mModule=%08x mBss=%08x\n",mModule,mBss);
+ if (unklink == FALSE) {
+ // "Unlink failed mModule=%08x mBss=%08x\n"
+ OSReport_Error("アンリンク失敗 mModule=%08x mBss=%08x\n", mModule, mBss);
return false;
}
sAllocBytes = sAllocBytes - getModuleSize();
- if (mBss!=NULL) {
+ if (mBss != NULL) {
JKRFree(mBss);
mBss = NULL;
}
do_unload();
return true;
-}
+}
/* 80263000-80263070 25D940 0070+00 1/0 0/0 0/0 .text getModuleSize__20DynamicModuleControlCFv */
int DynamicModuleControl::getModuleSize() const {
- if (mModule!=NULL){
- u32 size = JKRGetMemBlockSize(NULL,mModule);
- if (mBss!=NULL) {
- JKRGetMemBlockSize(NULL,mBss);
+ if (mModule != NULL) {
+ u32 size = JKRGetMemBlockSize(NULL, mModule);
+ if (mBss != NULL) {
+ JKRGetMemBlockSize(NULL, mBss);
}
- return size+mModule->mBssSize;
- }else{
+ return size + mModule->mBssSize;
+ } else {
return 0;
}
}
@@ -632,8 +660,8 @@ int DynamicModuleControl::getModuleSize() const {
/* 80263070-80263088 25D9B0 0018+00 1/0 0/0 0/0 .text
* getModuleTypeString__20DynamicModuleControlCFv */
const char* DynamicModuleControl::getModuleTypeString() const {
- static const char* strings[4] = {"????","MEM","ARAM","DVD"};
- return strings[mResourceType&3];
+ static const char* strings[4] = {"????", "MEM", "ARAM", "DVD"};
+ return strings[mResourceType & 3];
}
/* 803C34C0-803C34F4 0205E0 0034+00 1/1 2/2 0/0 .data __vt__20DynamicModuleControl */
@@ -665,28 +693,29 @@ extern "C" void ModuleEpilog() {
/* 80263090-8026314C 25D9D0 00BC+00 0/0 0/0 757/757 .text ModuleUnresolved */
extern "C" void ModuleUnresolved() {
+ // "\nError: Unlinked function was called.\n"
OSReport_Error("\nError: リンクされていない関数が呼び出されました.\n");
OSReport_Error("Address: Back Chain LR Save\n");
u32 i = 0;
u32* stackPtr = (u32*)OSGetStackPointer();
- while((stackPtr != NULL) && ((u32)stackPtr != 0xFFFFFFFF) && (i++ < 0x10)) {
- OSReport_Error("0x%08x: 0x%08x 0x%08x\n",stackPtr,*stackPtr,*(stackPtr+1));
+ while ((stackPtr != NULL) && ((u32)stackPtr != 0xFFFFFFFF) && (i++ < 0x10)) {
+ OSReport_Error("0x%08x: 0x%08x 0x%08x\n", stackPtr, *stackPtr, *(stackPtr + 1));
stackPtr = (u32*)*stackPtr;
}
OSReport_Error("\n");
}
/* 8026314C-80263190 25DA8C 0044+00 0/0 0/0 757/757 .text ModuleConstructorsX */
-extern "C" void ModuleConstructorsX(void(**ctors)()) {
- while (*ctors!=0) {
+extern "C" void ModuleConstructorsX(void (**ctors)()) {
+ while (*ctors != 0) {
(**ctors)();
ctors++;
}
}
/* 80263190-802631D4 25DAD0 0044+00 0/0 0/0 757/757 .text ModuleDestructorsX */
-extern "C" void ModuleDestructorsX(void(**dtors)()) {
- while (*dtors!=0) {
+extern "C" void ModuleDestructorsX(void (**dtors)()) {
+ while (*dtors != 0) {
(**dtors)();
dtors++;
}