mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-07-09 20:41:29 -04:00
k_wmark / k_wpillar OK, fop actor enums / debug building (#1946)
* d_k_wmark / d_k_wpillar OK * make debug buildable / add assert functionality * add more fop actor enums * remove asm
This commit is contained in:
@@ -175,8 +175,6 @@ extern "C" void __dt__Q27JGadget13TNodeLinkListFv();
|
||||
extern "C" void
|
||||
Insert__Q27JGadget13TNodeLinkListFQ37JGadget13TNodeLinkList8iteratorPQ27JGadget13TLinkListNode();
|
||||
extern "C" void Remove__Q27JGadget13TNodeLinkListFPQ27JGadget13TLinkListNode();
|
||||
extern "C" void OSDisableInterrupts();
|
||||
extern "C" void OSRestoreInterrupts();
|
||||
extern "C" void __register_global_object();
|
||||
extern "C" void __construct_array();
|
||||
extern "C" void __cvt_fp2unsigned();
|
||||
|
||||
@@ -346,8 +346,8 @@ void JAUSection::finishBuild() {
|
||||
|
||||
/* 802A5160-802A51E4 29FAA0 0084+00 2/0 0/0 0/0 .text dispose__10JAUSectionFv */
|
||||
void JAUSection::dispose() {
|
||||
JUT_ASSERT(267, ! data_.registeredBankTables.any());
|
||||
JUT_ASSERT(268, ! data_.registeredWaveBankTables.any());
|
||||
/* JUT_ASSERT(267, ! data_.registeredBankTables.any());
|
||||
JUT_ASSERT(268, ! data_.registeredWaveBankTables.any()); */
|
||||
if (data_.mBstDst) {
|
||||
sectionHeap_->sectionHeapData_.soundTable->~JAUSoundTable();
|
||||
sectionHeap_->sectionHeapData_.soundTable = NULL;
|
||||
@@ -469,7 +469,7 @@ asm JAIStreamDataMgr* JAUSection::newStreamFileTable(void const* param_0, bool p
|
||||
|
||||
/* 802A5500-802A5598 29FE40 0098+00 0/0 1/1 0/0 .text newSeSeqCollection__10JAUSectionFPCvUl */
|
||||
JAISeqDataMgr* JAUSection::newSeSeqCollection(void const* bsc, u32 param_1) {
|
||||
JUT_ASSERT(398, asSectionHeap() == this);
|
||||
// JUT_ASSERT(398, asSectionHeap() == this);
|
||||
JUT_ASSERT(399, sectionHeap_->sectionHeapData_.seSeqDataMgr_ == 0);
|
||||
if (param_1) {
|
||||
bsc = newCopy(bsc, param_1, 4);
|
||||
@@ -791,6 +791,11 @@ void JAUSectionHeap::releaseIdleDynamicSeqDataBlock() {
|
||||
sectionHeapData_.field_0x408.releaseIdleDynamicSeqDataBlock(sectionHeapData_.seqDataUser);
|
||||
}
|
||||
|
||||
namespace {
|
||||
// TODO
|
||||
bool JKRSolidHeap_isEmpty(JKRSolidHeap*) { return 1; }
|
||||
}
|
||||
|
||||
/* 802A5F24-802A5F9C 2A0864 0078+00 1/1 0/0 0/0 .text JAUNewSectionHeap__FP12JKRSolidHeapb */
|
||||
static JAUSectionHeap* JAUNewSectionHeap(JKRSolidHeap* heap, bool param_1) {
|
||||
JUT_ASSERT(809, JKRSolidHeap_isEmpty( heap ));
|
||||
@@ -840,9 +845,9 @@ bool JAUSectionHeap::setSeqDataUser(JAISeqDataUser* param_0) {
|
||||
|
||||
/* 802A60AC-802A61D0 2A09EC 0124+00 0/0 2/2 0/0 .text newDynamicSeqBlock__14JAUSectionHeapFUl */
|
||||
bool JAUSectionHeap::newDynamicSeqBlock(u32 param_0) {
|
||||
JUT_ASSERT(937, isOpen());
|
||||
/* JUT_ASSERT(937, isOpen());
|
||||
JUT_ASSERT(938, isBuilding());
|
||||
JUT_ASSERT(939, sectionHeap_ == this);
|
||||
JUT_ASSERT(939, sectionHeap_ == this); */
|
||||
TPushCurrentHeap push(base1.getHeap_());
|
||||
JAUSeqDataBlock * seqDataBlock = new JAUSeqDataBlock();
|
||||
if (!seqDataBlock) {
|
||||
@@ -871,7 +876,7 @@ bool JAUSectionHeap::newDynamicSeqBlock(u32 param_0) {
|
||||
s32 JAUSectionHeap::getSeqData(JAISoundID param_0, JAISeqData* param_1) {
|
||||
for (JSULink<JAUSection> * link = mSectionList.getFirst(); link; link = link->getNext()) {
|
||||
s32 result = link->getObject()->data_.field_0x00.getSeqData(param_0, sectionHeapData_.seqDataUser, param_1, false);
|
||||
JUT_ASSERT(994, result != JAI_ASYNC_RESULT_RETRY);
|
||||
// JUT_ASSERT(994, result != JAI_ASYNC_RESULT_RETRY);
|
||||
if (result == 2) {
|
||||
return 2;
|
||||
}
|
||||
|
||||
@@ -241,7 +241,7 @@ cleanup:
|
||||
}
|
||||
if (mMountMode == 0)
|
||||
{
|
||||
#if DEBUG
|
||||
#ifdef DEBUG
|
||||
OSReport(":::[%s: %d] Cannot alloc memory\n", __FILE__, 415);
|
||||
#endif
|
||||
if (mDvdFile != NULL)
|
||||
|
||||
@@ -226,7 +226,7 @@ bool JKRCompArchive::open(s32 entryNum) {
|
||||
JKRFreeToSysHeap(arcHeader);
|
||||
}
|
||||
if(mMountMode == 0) {
|
||||
#if DEBUG
|
||||
#ifdef DEBUG
|
||||
OSReport(":::[%s: %d] Cannot alloc memory in mounting CompArchive\n", __FILE__, 567);
|
||||
#endif
|
||||
if(mDvdFile != NULL) {
|
||||
|
||||
@@ -196,7 +196,7 @@ cleanup:
|
||||
}
|
||||
|
||||
if (mMountMode == UNKNOWN_MOUNT_MODE) {
|
||||
#if DEBUG
|
||||
#ifdef DEBUG
|
||||
OSReport(":::Cannot alloc memory [%s][%d]\n", __FILE__, 397);
|
||||
#endif
|
||||
if (mDvdFile) {
|
||||
|
||||
@@ -124,7 +124,7 @@ s32 JKRDvdFile::readData(void* param_1, s32 length, s32 param_3) {
|
||||
}
|
||||
|
||||
/* 802D9A68-802D9A70 2D43A8 0008+00 1/0 0/0 0/0 .text writeData__10JKRDvdFileFPCvll */
|
||||
s32 JKRDvdFile::writeData(void const* param_0, s32 param_1, s32 param_2) {
|
||||
s32 JKRDvdFile::writeData(void const* param_0, s32 length, s32 param_2) {
|
||||
/* clang-format off */
|
||||
JUT_ASSERT(344, ( length & 0x1f ) == 0);
|
||||
/* clang-format on */
|
||||
|
||||
@@ -21,6 +21,10 @@ JKRHeap* JKRHeap::sCurrentHeap;
|
||||
/* 80451378-8045137C 000878 0004+00 3/3 10/10 0/0 .sbss sRootHeap__7JKRHeap */
|
||||
JKRHeap* JKRHeap::sRootHeap;
|
||||
|
||||
#ifdef DEBUG
|
||||
JKRHeap* JKRHeap::sRootHeap2;
|
||||
#endif
|
||||
|
||||
/* 8045137C-80451380 00087C 0004+00 2/2 3/3 0/0 .sbss mErrorHandler__7JKRHeap */
|
||||
JKRErrorHandler JKRHeap::mErrorHandler;
|
||||
|
||||
@@ -389,7 +393,7 @@ void JKRHeap::copyMemory(void* dst, void* src, u32 size) {
|
||||
|
||||
/* 802CEB40-802CEB78 2C9480 0038+00 2/2 0/0 0/0 .text JKRDefaultMemoryErrorRoutine__FPvUli */
|
||||
void JKRDefaultMemoryErrorRoutine(void* heap, u32 size, int alignment) {
|
||||
#if DEBUG
|
||||
#ifdef DEBUG
|
||||
OSReport("Error: Cannot allocate memory %d(0x%x)byte in %d byte alignment from %08x\n", size,
|
||||
size, alignment, heap);
|
||||
#endif
|
||||
|
||||
@@ -116,9 +116,9 @@ bool JKRMemArchive::open(s32 entryNum, JKRArchive::EMountDirection mountDirectio
|
||||
mIsOpen = true;
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
#ifdef DEBUG
|
||||
if (mMountMode == 0) {
|
||||
OSReport(":::Cannot alloc memory [%s][%d]\n", __FILE__, 460)
|
||||
OSReport(":::Cannot alloc memory [%s][%d]\n", __FILE__, 460);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
@@ -95,13 +95,13 @@ s32 JKRSolidHeap::adjustSize(void) {
|
||||
|
||||
/* 802D0CB0-802D0D58 2CB5F0 00A8+00 1/0 0/0 0/0 .text do_alloc__12JKRSolidHeapFUli */
|
||||
void* JKRSolidHeap::do_alloc(u32 size, int alignment) {
|
||||
#if DEBUG
|
||||
#ifdef DEBUG
|
||||
// TODO(Julgodis): JUTAssertion::setConfirmMessage
|
||||
if (alignment != 0) {
|
||||
/* if (alignment != 0) {
|
||||
int u = abs(alignment);
|
||||
JUT_ASSERT(219, u < 0x80);
|
||||
JUT_ASSERT(220, JGadget::binary::isPower2(u));
|
||||
}
|
||||
} */
|
||||
#endif
|
||||
|
||||
lock();
|
||||
@@ -210,8 +210,8 @@ void JKRSolidHeap::do_freeTail(void) {
|
||||
/* 802D1000-802D1004 2CB940 0004+00 1/0 0/0 0/0 .text do_fillFreeArea__12JKRSolidHeapFv
|
||||
*/
|
||||
void JKRSolidHeap::do_fillFreeArea() {
|
||||
#if DEBUG
|
||||
fillMemory(mSolidHead, mEnd - mSolidHead, (uint)DAT_8074a8ba);
|
||||
#ifdef DEBUG
|
||||
// fillMemory(mSolidHead, mEnd - mSolidHead, (uint)DAT_8074a8ba);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -217,7 +217,7 @@ void JKRThreadSwitch::callback(OSThread* current, OSThread* next) {
|
||||
next_heap = JKRHeap::getCurrentHeap();
|
||||
} else if (JKRHeap::getRootHeap()->isSubHeap(next_heap)) {
|
||||
continue;
|
||||
#if DEBUG
|
||||
#ifdef DEBUG
|
||||
} else if (!JKRHeap::getRootHeap2()->isSubHeap(next_heap)) {
|
||||
continue;
|
||||
#endif
|
||||
@@ -258,7 +258,7 @@ void JKRThreadSwitch::draw(JKRThreadName_* thread_name_list, JUTConsole* console
|
||||
const char* print_1 = " -------------------------------------\n";
|
||||
|
||||
if (!console) {
|
||||
#if DEBUG
|
||||
#ifdef DEBUG
|
||||
OSReport(print_0, getTotalCount(), (int)this->field_0x18, this->field_0x10);
|
||||
OSReport(print_1);
|
||||
#endif
|
||||
@@ -298,7 +298,7 @@ void JKRThreadSwitch::draw(JKRThreadName_* thread_name_list, JUTConsole* console
|
||||
u32 cost_int = (u32)(cost_per_0x18 * 100.0f);
|
||||
u32 cost_float = (u32)(cost_per_0x18 * 1000.0f) % 10;
|
||||
if (!console) {
|
||||
#if DEBUG
|
||||
#ifdef DEBUG
|
||||
OSReport(" [%10s] switch:%5d cost:%2d.%d%%\n", thread_print_name, switch_count,
|
||||
cost_int, cost_float);
|
||||
#endif
|
||||
|
||||
@@ -4,8 +4,10 @@
|
||||
//
|
||||
|
||||
#include "JSystem/JUtility/JUTAssert.h"
|
||||
#include "JSystem/JUtility/JUTConsole.h"
|
||||
#include "JSystem/JUtility/JUTDbPrint.h"
|
||||
#include "JSystem/JUtility/JUTDirectPrint.h"
|
||||
#include "MSL_C/stdio.h"
|
||||
#include "dolphin/vi/vi.h"
|
||||
|
||||
namespace JUTAssertion {
|
||||
@@ -25,6 +27,12 @@ static char sMessageFileLine[64];
|
||||
/* 804348B0-804349B0 0615D0 0100+00 2/2 0/0 0/0 .bss
|
||||
* sMessageString__Q212JUTAssertion23@unnamed@JUTAssert_cpp@ */
|
||||
static char sMessageString[256];
|
||||
|
||||
static s32 sDisplayTime = -1;
|
||||
static s32 sDevice = 3;
|
||||
static bool mVisible = true;
|
||||
static s32 sMessageOwner;
|
||||
static u8 mSynchro;
|
||||
}; // namespace
|
||||
|
||||
/* 802E4960-802E499C 2DF2A0 003C+00 2/2 0/0 0/0 .text flush_subroutine__12JUTAssertionFv
|
||||
@@ -71,6 +79,139 @@ void flushMessage_dbPrint() {
|
||||
}
|
||||
}
|
||||
|
||||
u32 getSDevice() {
|
||||
return sDevice;
|
||||
}
|
||||
|
||||
/* 802C7698-802C7788 .text setConfirmMessage__12JUTAssertionFUlPcibPCc */
|
||||
void setConfirmMessage(u32 param_1, char* file, int line, bool param_4, const char* msg) {
|
||||
if (param_4 == 1) {
|
||||
return;
|
||||
}
|
||||
u32 r28 = sMessageLife;
|
||||
if (r28 == 0 && (param_1 & 1) != 0) {
|
||||
sMessageLife = sDisplayTime;
|
||||
sMessageOwner = 2;
|
||||
snprintf(sMessageFileLine, sizeof(sMessageFileLine) - 1, "FAILED [%s:%d]", file, line);
|
||||
snprintf(sMessageString, sizeof(sMessageString) - 1, "%s", msg);
|
||||
}
|
||||
if ((r28 == 0 || mSynchro == 0) && (param_1 & 2) != 0) {
|
||||
JUTWarningConsole_f("FAILED [%s:%d] %s\n", file, line, msg);
|
||||
}
|
||||
}
|
||||
|
||||
void showAssert_f_va(u32 device, const char* file, int line, const char* msg, va_list args) {
|
||||
sMessageLife = -1;
|
||||
vsnprintf(sMessageString, 255, msg, args);
|
||||
|
||||
if (device & 2) {
|
||||
OSReport("Failed assertion: %s:%d\n", file, line);
|
||||
OSReport("%s\n", sMessageString);
|
||||
}
|
||||
|
||||
if ((device & 1) && JUTDirectPrint::getManager()) {
|
||||
JUtility::TColor old_color(JUTDirectPrint::getManager()->getCharColor());
|
||||
JUTDirectPrint::getManager()->setCharColor(JUtility::TColor(255, 255, 255, 255));
|
||||
JUTDirectPrint::getManager()->erase(10, 16, 306, 24);
|
||||
|
||||
snprintf(sMessageFileLine, 63, "Failed assertion: %s:%d", file, line);
|
||||
JUTDirectPrint::getManager()->drawString(16, 16, sMessageFileLine);
|
||||
JUTDirectPrint::getManager()->drawString(16, 24, sMessageString);
|
||||
|
||||
JUTDirectPrint::getManager()->setCharColor(old_color);
|
||||
VISetNextFrameBuffer(JUTDirectPrint::getManager()->getFrameBuffer());
|
||||
VIFlush();
|
||||
OSEnableInterrupts();
|
||||
|
||||
u32 retrace_count = VIGetRetraceCount();
|
||||
u32 new_count;
|
||||
do {
|
||||
new_count = VIGetRetraceCount();
|
||||
} while (retrace_count == new_count);
|
||||
|
||||
// busy loop for 2 seconds
|
||||
OSTime var1 = OSGetTime();
|
||||
while (OSTicksToMilliseconds(OSGetTime() - var1) < 2000) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void showAssert_f(u32 device, const char* file, int line, const char* msg, ...) {
|
||||
va_list args;
|
||||
va_start(args, msg);
|
||||
showAssert_f_va(device, file, line, msg, args);
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
/* 802C7788-802C78E4 .text showAssert__12JUTAssertionFUlPCciPCc */
|
||||
void showAssert(u32 device, const char* file, int line, const char* msg) {
|
||||
showAssert_f(device, file, line, "%s", msg);
|
||||
}
|
||||
|
||||
/* 802C78E4-802C79FC .text setWarningMessage_f_va */
|
||||
void setWarningMessage_f_va(u32 device, const char* file, int line, const char* msg, va_list args) {
|
||||
u32 messageLife = sMessageLife;
|
||||
bool r26 = false;
|
||||
if (messageLife == 0) {
|
||||
if (device & 1) {
|
||||
sMessageLife = sDisplayTime;
|
||||
sMessageOwner = 3;
|
||||
snprintf(sMessageFileLine, sizeof(sMessageFileLine) - 1, "WARNING [%s:%d]", file, line);
|
||||
}
|
||||
vsnprintf(sMessageString, sizeof(sMessageString) - 1, msg, args);
|
||||
r26 = true;
|
||||
}
|
||||
if ((messageLife == 0 || mSynchro == 0) && (device & 2)) {
|
||||
JUTWarningConsole_f("WARNING [%s:%d] ", file, line);
|
||||
if (!r26) {
|
||||
JUTWarningConsole_f_va(msg, args);
|
||||
} else {
|
||||
JUTWarningConsole(sMessageString);
|
||||
}
|
||||
JUTWarningConsole("\n");
|
||||
}
|
||||
}
|
||||
|
||||
/* 802C79FC-802C7A7C .text setWarningMessage_f__12JUTAssertionFUlPciPCce */
|
||||
void setWarningMessage_f(u32 device, char* file, int line, const char* msg, ...) {
|
||||
va_list args;
|
||||
va_start(args, msg);
|
||||
setWarningMessage_f_va(device, file, line, msg, args);
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
/* 802C7A7C-802C7B94 .text setLogMessage_f_va */
|
||||
void setLogMessage_f_va(u32 device, const char* file, int line, const char* msg, va_list args) {
|
||||
u32 messageLife = sMessageLife;
|
||||
bool r26 = false;
|
||||
if (messageLife == 0) {
|
||||
if (device & 1) {
|
||||
sMessageLife = sDisplayTime;
|
||||
sMessageOwner = 4;
|
||||
snprintf(sMessageFileLine, sizeof(sMessageFileLine) - 1, "[%s:%d]", file, line);
|
||||
}
|
||||
vsnprintf(sMessageString, sizeof(sMessageString) - 1, msg, args);
|
||||
r26 = true;
|
||||
}
|
||||
if ((messageLife == 0 || mSynchro == 0) && (device & 2)) {
|
||||
JUTReportConsole_f("[%s:%d] ", file, line);
|
||||
if (!r26) {
|
||||
JUTReportConsole_f_va(msg, args);
|
||||
} else {
|
||||
JUTReportConsole(sMessageString);
|
||||
}
|
||||
JUTReportConsole("\n");
|
||||
}
|
||||
}
|
||||
|
||||
/* 802C7B94-802C7C14 .text setLogMessage_f__12JUTAssertionFUlPciPCce */
|
||||
void setLogMessage_f(u32 device, char* file, int line, const char* msg, ...) {
|
||||
va_list args;
|
||||
va_start(args, msg);
|
||||
setLogMessage_f_va(device, file, line, msg, args);
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
/* 802E4C34-802E4C3C 2DF574 0008+00 0/0 2/2 0/0 .text setVisible__12JUTAssertionFb */
|
||||
void setVisible(bool visible) {
|
||||
sAssertVisible = visible;
|
||||
|
||||
@@ -266,7 +266,7 @@ void JUTConsole::print_f(char const* fmt, ...) {
|
||||
#ifdef NONMATCHING
|
||||
void JUTConsole::print(char const* param_0) {
|
||||
if (mOutput & 2) {
|
||||
#if DEBUG
|
||||
#ifdef DEBUG
|
||||
OSReport("%s", param_0);
|
||||
#endif
|
||||
}
|
||||
@@ -378,7 +378,7 @@ void JUTConsole::dumpToTerminal(unsigned int param_0) {
|
||||
}
|
||||
|
||||
int r27 = 0;
|
||||
#if DEBUG
|
||||
#ifdef DEBUG
|
||||
OSReport("\n:::dump of console[%x]--------------------------------\n",this);
|
||||
#endif
|
||||
do {
|
||||
@@ -395,7 +395,7 @@ void JUTConsole::dumpToTerminal(unsigned int param_0) {
|
||||
r29 = nextIndex(r29);
|
||||
r27++;
|
||||
} while (r27 != field_0x34);
|
||||
#if DEBUG
|
||||
#ifdef DEBUG
|
||||
OSReport(":::dump of console[%x] END----------------------------\n",this);
|
||||
#endif
|
||||
}
|
||||
@@ -609,6 +609,18 @@ void JUTReportConsole(const char* message) {
|
||||
JUTReportConsole_f("%s", message);
|
||||
}
|
||||
|
||||
void JUTWarningConsole_f_va(const char* fmt, va_list args) {
|
||||
char buf[256];
|
||||
|
||||
if (JUTGetWarningConsole() == NULL) {
|
||||
vsnprintf(buf, sizeof(buf), fmt, args);
|
||||
OSReport("%s", buf);
|
||||
} else if (JUTGetWarningConsole()->getOutput() & (JUTConsole::OUTPUT_CONSOLE | JUTConsole::OUTPUT_OSREPORT)) {
|
||||
vsnprintf(buf, sizeof(buf), fmt, args);
|
||||
JUTGetWarningConsole()->print(buf);
|
||||
}
|
||||
}
|
||||
|
||||
/* 802E867C-802E86FC 2E2FBC 0080+00 0/0 9/9 0/0 .text JUTWarningConsole_f */
|
||||
void JUTWarningConsole_f(const char* fmt, ...) {
|
||||
va_list args;
|
||||
|
||||
@@ -724,7 +724,7 @@ void Z2SeqMgr::setFieldBgmPlay(bool param_1) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JAIStreamMgr::isActive() const {
|
||||
asm bool JAIStreamMgr::isActive() const {
|
||||
nofralloc
|
||||
#include "asm/Z2AudioLib/Z2SceneMgr/isActive__12JAIStreamMgrCFv.s"
|
||||
}
|
||||
|
||||
@@ -333,7 +333,7 @@ void GXGetVtxAttrFmtv(GXVtxFmt param_0, GXVtxAttrFmtList* param_1) {
|
||||
|
||||
#ifdef DEBUG
|
||||
// not fully matching
|
||||
tmp = 1;
|
||||
/* tmp = 1;
|
||||
if (data_8074d3c8 != 0) {
|
||||
OSPanic("GXAttr.c", 941, "\'GXGetVtxAttrFmtv\' is not allowed between GXBegin/GXEnd");
|
||||
tmp = 0;
|
||||
@@ -349,7 +349,7 @@ void GXGetVtxAttrFmtv(GXVtxFmt param_0, GXVtxAttrFmtList* param_1) {
|
||||
if (param_0 >= 8) {
|
||||
OSPanic("GXAttr.c", 943, "GXSetVtxAttrFmt: Format Index is out of range");
|
||||
tmp3 = 0;
|
||||
}
|
||||
} */
|
||||
#endif
|
||||
|
||||
for (i = 9; i <= 0x14; i++) {
|
||||
@@ -371,7 +371,7 @@ void GXGetVtxAttrFmt(GXVtxFmt param_0, int param_1, GXCompCnt* param_2, GXCompTy
|
||||
|
||||
#ifdef DEBUG
|
||||
// not fully matching
|
||||
tmp = 1;
|
||||
/* tmp = 1;
|
||||
if (data_8074d3c8) {
|
||||
OSPanic("GXAttr.c", 844, "\'GXGetVtxAttrFmt\' is not allowed between GXBegin/GXEnd");
|
||||
tmp = 0;
|
||||
@@ -381,7 +381,7 @@ void GXGetVtxAttrFmt(GXVtxFmt param_0, int param_1, GXCompCnt* param_2, GXCompTy
|
||||
if (param_0 >= 8) {
|
||||
OSPanic("GXAttr.c", 845, "GXSetVtxAttrFmt: Format Index is out of range");
|
||||
tmp2 = 0;
|
||||
}
|
||||
} */
|
||||
#endif
|
||||
|
||||
tmp_1 = &__GXData->field_0x1c[param_0];
|
||||
|
||||
Reference in New Issue
Block a user