Merge origin/wip/linkfix2 into msvc-linkfix-dev (local dev branch)

This commit is contained in:
Lurs
2026-02-15 20:36:46 +01:00
34 changed files with 115 additions and 643 deletions
+1
View File
@@ -1355,6 +1355,7 @@ set(DUSK_FILES
src/dusk/J3DTransforms_C.cpp
src/dusk/m_Do_ext_dusk.cpp
src/dusk/jsystem_stubs.cpp
src/m_Do/m_Do_main.cpp # TODO: move this to a more appropriate location, it's not really dusk-specific
)
source_group("dolzel" FILES ${DOLZEL_FILES} ${Z2AUDIOLIB_FILES} ${SSYSTEM_FILES} ${JSYSTEM_FILES} ${REL_FILES})
+6 -8
View File
@@ -1,17 +1,15 @@
#ifndef _DOLPHIN_OS_H_
#define _DOLPHIN_OS_H_
#ifdef __MWERKS__
#include <cstdio>
#else
#include <stdio.h>
#endif
#ifdef __REVOLUTION_SDK__
#include <revolution/os.h>
#else
#include <dolphin/types.h>
#include <dolphin/gx/GXStruct.h>
void OSReportInit(void);
void OSSwitchFiberEx(u32, u32, u32, u32, u32, u32);
void OSVAttention(const char* fmt, va_list args);
@@ -246,7 +244,7 @@ extern u8 __OSReport_enable;
#define OSRoundUp32B(x) (((u32)(x) + 32 - 1) & ~(32 - 1))
#define OSRoundDown32B(x) (((u32)(x)) & ~(32 - 1))
#ifndef __MWERKS__
#ifdef TARGET_PC
static inline void* OSPhysicalToCached(u32 paddr) {
return reinterpret_cast<void*>(static_cast<uintptr_t>(paddr));
@@ -267,7 +265,7 @@ static inline void* OSUncachedToCached(void* ucaddr) {
return ucaddr;
}
#else
#else // non-TARGET_PC
void* OSPhysicalToCached(u32 paddr);
void* OSPhysicalToUncached(u32 paddr);
@@ -276,9 +274,9 @@ u32 OSUncachedToPhysical(void* ucaddr);
void* OSCachedToUncached(void* caddr);
void* OSUncachedToCached(void* ucaddr);
#endif
#endif // TARGET_PC
#if !DEBUG && defined(__MWERKS__)
#if !DEBUG && !defined(TARGET_PC)
#define OSPhysicalToCached(paddr) ((void*) ((u32)(OS_BASE_CACHED + (u32)(paddr))))
#define OSPhysicalToUncached(paddr) ((void*) ((u32)(OS_BASE_UNCACHED + (u32)(paddr))))
#define OSCachedToPhysical(caddr) ((u32) ((u32)(caddr) - OS_BASE_CACHED))
-8
View File
@@ -453,14 +453,6 @@ const char* DynamicModuleControl::getModuleTypeString() const {
return strings[mResourceType & 3];
}
extern "C" void ModuleProlog() {
/* empty function */
}
extern "C" void ModuleEpilog() {
/* empty function */
}
extern "C" void ModuleUnresolved() {
// "\nError: Unlinked function was called.\n"
OSReport_Error("\nError: リンクされていない関数が呼び出されました.\n");
+2
View File
@@ -5703,7 +5703,9 @@ actor_process_profile_definition g_profile_B_DS = {
fopAc_CULLBOX_CUSTOM_e,
};
#ifndef __MWERKS__
cXyz daB_DS_c::getHandPosR() { return mHandPos[1]; }
cXyz daB_DS_c::getHandPosL() { return mHandPos[0]; }
#endif
AUDIO_INSTANCES;
+1 -1
View File
@@ -57,7 +57,7 @@ void daNpcAsh_HIO_c::genMessage(JORMContext* ctext) {
}
#endif
NPC_ASH_HIO_CLASS l_HIO;
static NPC_ASH_HIO_CLASS l_HIO;
void daNpcAsh_c::setLookMode(int i_lookMode, fopAc_ac_c* i_talkPartner) {
if (i_lookMode != mLookMode || i_talkPartner != mTalkPartner) {
+1 -1
View File
@@ -46,7 +46,7 @@ const daNpcAshB_HIOParam daNpcAshB_Param_c::m = {
400.0f, // field_0x6c
};
NPC_ASHB_HIO_CLASS l_HIO;
static NPC_ASHB_HIO_CLASS l_HIO;
static daNpc_GetParam2 l_bckGetParamList[21] = {
{-1, 2, 0}, {13, 0, 0}, {14, 0, 0}, {11, 0, 0}, {10, 0, 0}, {9, 0, 0}, {12, 0, 0},
+1 -1
View File
@@ -780,7 +780,7 @@ static int daNpc_clerkA_IsDelete(void* i_this) {
return 1;
}
NPC_CLERKA_HIO_CLASS l_HIO;
static NPC_CLERKA_HIO_CLASS l_HIO;
static actor_method_class daNpc_clerkA_MethodTable = {
(process_method_func)daNpc_clerkA_Create, (process_method_func)daNpc_clerkA_Delete,
+1 -1
View File
@@ -932,7 +932,7 @@ static int daNpc_clerkB_IsDelete(void* i_this) {
return 1;
}
NPC_CLERKB_HIO_CLASS l_HIO;
static NPC_CLERKB_HIO_CLASS l_HIO;
static actor_method_class daNpc_clerkB_MethodTable = {
(process_method_func)daNpc_clerkB_Create, (process_method_func)daNpc_clerkB_Delete,
+1 -1
View File
@@ -693,7 +693,7 @@ void daNpcClerkT_c::setCollision() {
mCyl.ClrTgHit();
}
NPC_CLERKT_HIO_CLASS l_HIO;
static NPC_CLERKT_HIO_CLASS l_HIO;
static actor_method_class daNpcClerkt_MethodTable = {
(process_method_func)daNpcClerkt_Create, (process_method_func)daNpcClerkt_Delete,
+1 -1
View File
@@ -96,7 +96,7 @@ const daNpc_Gnd_HIOParam daNpc_Gnd_Param_c::m = {
0.0f,
};
NPC_GND_HIO_CLASS l_HIO;
static NPC_GND_HIO_CLASS l_HIO;
daNpc_Gnd_c::~daNpc_Gnd_c() {
OS_REPORT("|%06d:%x|daNpc_Gnd_c -> デストラクト\n", g_Counter.mCounter0, this);
+1 -1
View File
@@ -129,7 +129,7 @@ daNpc_grA_HIO_c::daNpc_grA_HIO_c() {
}
#endif
NPC_GRA_HIO_CLASS l_HIO;
static NPC_GRA_HIO_CLASS l_HIO;
static char* l_evtNames[11] = {
NULL,
+1 -1
View File
@@ -45,7 +45,7 @@ daNpcImpal_HIOParam const daNpcImpal_Param_c::m = {
300.0f, // demo_start_dist
};
NPC_IMPAL_HIO_CLASS l_HIO;
static NPC_IMPAL_HIO_CLASS l_HIO;
static daNpc_GetParam2 l_bckGetParamList[18] = {
{-1, 2, 0}, {14, 0, 0}, {8, 0, 0}, {7, 2, 0}, {11, 0, 0}, {13, 0, 0},
+1 -1
View File
@@ -130,7 +130,7 @@ daNpc_Knj_c::cutFunc daNpc_Knj_c::mCutList[1] = {
NULL,
};
NPC_KNJ_HIO_CLASS l_HIO;
static NPC_KNJ_HIO_CLASS l_HIO;
daNpc_Knj_c::~daNpc_Knj_c() {
if (heap != NULL) {
+1 -1
View File
@@ -136,7 +136,7 @@ daNpc_Kyury_c::cutFunc daNpc_Kyury_c::mCutList[2] = {
&daNpc_Kyury_c::cutConversation,
};
NPC_KYURY_HIO_CLASS l_HIO;
static NPC_KYURY_HIO_CLASS l_HIO;
#if DEBUG
daNpc_Kyury_HIO_c::daNpc_Kyury_HIO_c() {
+1 -1
View File
@@ -652,7 +652,7 @@ void daNpc_Len_c::beforeMove() {
}
}
NPC_LEN_HIO_CLASS l_HIO;
static NPC_LEN_HIO_CLASS l_HIO;
void daNpc_Len_c::setAttnPos() {
cXyz acStack_40(-30.0f, 15.0f, 0.0f);
+1 -1
View File
@@ -693,7 +693,7 @@ void daNpc_Lud_c::beforeMove() {
}
}
NPC_LUD_HIO_CLASS l_HIO;
static NPC_LUD_HIO_CLASS l_HIO;
void daNpc_Lud_c::setAttnPos() {
cXyz cStack_70(5.0f, 30.0f, 0.0f);
+1 -1
View File
@@ -244,7 +244,7 @@ enum Motion {
/* 0x2F */ MOT_UNK_47 = 47,
};
NPC_MOI_HIO_CLASS l_HIO;
static NPC_MOI_HIO_CLASS l_HIO;
daNpc_Moi_c::~daNpc_Moi_c() {
if (mpMorf[0] != 0) {
+1 -1
View File
@@ -1189,7 +1189,7 @@ static bool daNpc_Pouya_IsDelete(void* i_this) {
return 1;
}
NPC_POUYA_HIO_CLASS l_HIO;
static NPC_POUYA_HIO_CLASS l_HIO;
static actor_method_class daNpc_Pouya_MethodTable = {
(process_method_func)daNpc_Pouya_Create, (process_method_func)daNpc_Pouya_Delete,
+1 -1
View File
@@ -307,7 +307,7 @@ static char* l_evtArcs[14] = {
static char* l_myName = "Shad";
NPC_SHAD_HIO_CLASS l_HIO;
static NPC_SHAD_HIO_CLASS l_HIO;
daNpcShad_c::EventFn daNpcShad_c::mEvtSeqList[14] = {
NULL,
+1 -1
View File
@@ -54,7 +54,7 @@ void daNpcShoe_HIO_c::genMessage(JORMContext* ctext) {
}
#endif
NPC_SHOE_HIO_CLASS l_HIO;
static NPC_SHOE_HIO_CLASS l_HIO;
void daNpcShoe_c::setLookMode(int i_lookMode) {
if (mLookMode != i_lookMode) {
+1 -1
View File
@@ -61,7 +61,7 @@ void daNpcThe_HIO_c::genMessage(JORMContext* ctext) {
}
#endif
NPC_THE_HIO_CLASS l_HIO;
static NPC_THE_HIO_CLASS l_HIO;
static daNpc_GetParam1 l_bmdGetParamList[2] = {
{23, 0}, // the
+1 -1
View File
@@ -265,7 +265,7 @@ daNpc_Toby_c::cutFunc daNpc_Toby_c::mCutList[7] = {
&daNpc_Toby_c::cutConversationAboutZra,
};
NPC_TOBY_HIO_CLASS l_HIO;
static NPC_TOBY_HIO_CLASS l_HIO;
daNpc_Toby_c::~daNpc_Toby_c() {
OS_REPORT("|%06d:%x|daNpc_Toby_c -> デストラクト\n", g_Counter.mCounter0, this);
+1 -1
View File
@@ -209,7 +209,7 @@ daNpc_Uri_c::cutFunc daNpc_Uri_c::mCutList[7] = {
&daNpc_Uri_c::cutMeetingAgain,
};
NPC_URI_HIO_CLASS l_HIO;
static NPC_URI_HIO_CLASS l_HIO;
daNpc_Uri_c::~daNpc_Uri_c() {
if (mpMorf[0] != 0) {
+1 -1
View File
@@ -81,7 +81,7 @@ int daObjBurnBox_c::Create() {
return 1;
}
const char* l_arcName[3] = {
static const char* l_arcName[3] = {
"Kkiba_00", // crate
"Kkiba_00",
"J_taru00", // barrel
+2 -2
View File
@@ -157,11 +157,11 @@ static f32 dummy1() {
return 0.4f;
}
f32 dummy2() {
static f32 dummy2() {
return 10.0f;
}
f32 dummy3() {
static f32 dummy3() {
return 0.02f;
}
+1 -1
View File
@@ -176,7 +176,7 @@ static int useHeapInit(fopAc_ac_c* i_this) {
return 1;
}
daObj_Maki_HIO_c l_HIO;
static daObj_Maki_HIO_c l_HIO;
cPhs_Step daObj_Maki_Create(fopAc_ac_c* i_this) {
fopAcM_ct(i_this, obj_maki_class);
-4
View File
@@ -15,7 +15,3 @@ daObj_SSBase_c::~daObj_SSBase_c() {}
u32 daObj_SSBase_c::getProcessID() {
return fopAcM_GetID(this);
}
void daObj_SSBase_c::setSoldOut() {
/* empty function */
}
+1 -1
View File
@@ -9,7 +9,7 @@
#include "d/d_cc_d.h"
#include "d/d_s_play.h"
char* l_arcName = "S_thashi";
static const char* l_arcName = "S_thashi";
static void dataStripping() {
const static u32 ccCylSrc[] = {0, 0x100000, 0, 0x13, 0x100000, 0x1f, 0x75, 0,
+1 -1
View File
@@ -110,7 +110,7 @@ const dCcD_SrcGObjInf daWtPillar_c::mCcDObjCoInfo = {
{}, // mGObjCo
};
daWtPillar_HIO_c l_HIO;
static daWtPillar_HIO_c l_HIO;
dCcD_SrcCps daWtPillar_c::mCcDCps = {
daWtPillar_c::mCcDObjInfo,
+1 -1
View File
@@ -10,7 +10,7 @@
#include "d/d_debug_viewer.h"
#include "d/d_procname.h"
daTagCstaSw_HIO_c l_HIO;
static daTagCstaSw_HIO_c l_HIO;
daTagCstaSw_HIO_c::daTagCstaSw_HIO_c() {
show_range = 0;
-565
View File
@@ -1,565 +0,0 @@
// XXX Ripped these from a DEBUG block, rather than changing defines.
/**
* m_Do_ext.cpp
* Model, Animation, and Heap Functions
*/
#include "d/dolzel.h" // IWYU pragma: keep
#include <dolphin/gf/GFPixel.h>
#include <dolphin/gx.h>
#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h"
#include "JSystem/J3DGraphBase/J3DDrawBuffer.h"
#include "JSystem/J3DGraphBase/J3DMaterial.h"
#include "JSystem/J3DGraphLoader/J3DMaterialFactory.h"
#include "JSystem/JKernel/JKRAssertHeap.h"
#include "JSystem/JKernel/JKRExpHeap.h"
#include "JSystem/JKernel/JKRSolidHeap.h"
#include "JSystem/JUtility/JUTCacheFont.h"
#include "JSystem/JUtility/JUTResFont.h"
#include "Z2AudioLib/Z2Creature.h"
#include "d/d_com_inf_game.h"
#include "global.h"
#include "m_Do/m_Do_ext.h"
#include "m_Do/m_Do_main.h"
#include "m_Do/m_Do_mtx.h"
#include <cstdio>
mDoExt_cube8pPacket::mDoExt_cube8pPacket(cXyz* i_points, const GXColor& i_color) {
cXyz* pnt_array = mPoints;
for (int i = 0; i < 8; i++) {
*(pnt_array)++ = *(i_points)++;
}
DCStoreRangeNoSync(mPoints, sizeof(cXyz) * 8);
mColor = i_color;
}
void drawCube(MtxP mtx, cXyz* pos, const GXColor& color) {
GXSetArray(GX_VA_POS, pos, sizeof(cXyz));
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
GXClearVtxDesc();
GXSetVtxDesc(GX_VA_POS, GX_INDEX8);
GXSetNumChans(1);
GXSetChanCtrl(GX_COLOR0, GX_DISABLE, GX_SRC_REG, GX_SRC_REG, GX_LIGHT_NULL, GX_DF_CLAMP,
GX_AF_NONE);
GXSetNumTexGens(0);
GXSetNumTevStages(1);
GXSetTevColor(GX_TEVREG0, color);
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0);
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0);
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0);
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
GXSetZMode(GX_ENABLE, GX_LEQUAL, GX_ENABLE);
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_CLEAR);
GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0);
GXSetCullMode(GX_CULL_BACK);
GXSetClipMode(GX_CLIP_ENABLE);
GXLoadPosMtxImm(mtx, 0);
GXSetCurrentMtx(0);
GXBegin(GX_TRIANGLESTRIP, GX_VTXFMT0, 14);
GXPosition1x8(4);
GXPosition1x8(6);
GXPosition1x8(5);
GXPosition1x8(7);
GXPosition1x8(3);
GXPosition1x8(6);
GXPosition1x8(2);
GXPosition1x8(4);
GXPosition1x8(0);
GXPosition1x8(5);
GXPosition1x8(1);
GXPosition1x8(3);
GXPosition1x8(0);
GXPosition1x8(2);
GXEnd();
}
void mDoExt_cube8pPacket::draw() {
drawCube(j3dSys.getViewMtx(), mPoints, mColor);
}
mDoExt_cubePacket::mDoExt_cubePacket(cXyz& i_position, cXyz& i_size, csXyz& i_angle, const GXColor& i_color) {
mPosition = i_position;
mSize = i_size;
mAngle = i_angle;
mColor = i_color;
}
void mDoExt_cubePacket::draw() {
static cXyz l_pos[8] = {
cXyz(-1.0f, 1.0f, -1.0f), cXyz(1.0f, 1.0f, -1.0f), cXyz(-1.0f, 1.0f, 1.0f),
cXyz(1.0f, 1.0f, 1.0f), cXyz(-1.0f, -1.0f, -1.0f), cXyz(1.0f, -1.0f, -1.0f),
cXyz(-1.0f, -1.0f, 1.0f), cXyz(1.0f, -1.0f, 1.0f),
};
mDoMtx_stack_c::transS(mPosition.x, mPosition.y, mPosition.z);
mDoMtx_stack_c::XYZrotM(mAngle.x, mAngle.y, mAngle.z);
mDoMtx_stack_c::scaleM(mSize.x, mSize.y, mSize.z);
mDoMtx_stack_c::revConcat(j3dSys.getViewMtx());
drawCube(mDoMtx_stack_c::get(), l_pos, mColor);
}
mDoExt_quadPacket::mDoExt_quadPacket(cXyz* i_points, const GXColor& i_color, u8 i_clipZ) {
cXyz* pnt_array = mPoints;
for (int i = 0; i < 4; i++) {
*(pnt_array)++ = *(i_points)++;
}
DCStoreRangeNoSync(mPoints, sizeof(cXyz) * 4);
mColor = i_color;
mClipZ = i_clipZ;
}
void mDoExt_quadPacket::draw() {
GXSetArray(GX_VA_POS, mPoints, sizeof(cXyz));
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
GXClearVtxDesc();
GXSetVtxDesc(GX_VA_POS, GX_INDEX8);
GXSetNumChans(1);
GXSetChanCtrl(GX_COLOR0, GX_DISABLE, GX_SRC_REG, GX_SRC_REG, GX_LIGHT_NULL, GX_DF_CLAMP,
GX_AF_NONE);
GXSetNumTexGens(0);
GXSetNumTevStages(1);
GXSetTevColor(GX_TEVREG0, mColor);
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0);
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0);
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0);
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
if (mClipZ) {
GXSetZMode(GX_ENABLE, GX_LEQUAL, GX_ENABLE);
} else {
GXSetZMode(GX_DISABLE, GX_LEQUAL, GX_DISABLE);
}
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_CLEAR);
GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0);
GXSetCullMode(GX_CULL_BACK);
GXSetClipMode(GX_CLIP_ENABLE);
GXLoadPosMtxImm(j3dSys.getViewMtx(), 0);
GXSetCurrentMtx(0);
GXBegin(GX_QUADS, GX_VTXFMT0, 4);
GXPosition1x8(0);
GXPosition1x8(1);
GXPosition1x8(2);
GXPosition1x8(3);
GXEnd();
}
mDoExt_trianglePacket::mDoExt_trianglePacket(cXyz* i_points, const GXColor& i_color, u8 i_clipZ) {
cXyz* pnt_array = mPoints;
for (int i = 0; i < 3; i++) {
*(pnt_array)++ = *(i_points)++;
}
DCStoreRangeNoSync(mPoints, sizeof(cXyz) * 3);
mColor = i_color;
mClipZ = i_clipZ;
}
void mDoExt_trianglePacket::draw() {
j3dSys.reinitGX();
GXSetArray(GX_VA_POS, mPoints, sizeof(cXyz));
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
GXClearVtxDesc();
GXSetVtxDesc(GX_VA_POS, GX_INDEX8);
GXLoadPosMtxImm(j3dSys.getViewMtx(), 0);
GXSetCurrentMtx(0);
GXSetNumChans(1);
GXSetChanCtrl(GX_COLOR0, GX_DISABLE, GX_SRC_REG, GX_SRC_REG, GX_LIGHT_NULL, GX_DF_CLAMP, GX_AF_NONE);
GXSetNumTexGens(0);
GXSetNumTevStages(1);
GXSetTevColor(GX_TEVREG0, mColor);
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0);
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0);
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0);
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
GXSetZCompLoc(GX_ENABLE);
if (mClipZ) {
GXSetZMode(GX_ENABLE, GX_LEQUAL, GX_ENABLE);
} else {
GXSetZMode(GX_DISABLE, GX_LEQUAL, GX_DISABLE);
}
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_CLEAR);
GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0);
GXSetFog(GX_FOG_NONE, 0.0f, 0.0f, 0.0f, 0.0f, g_clearColor);
GXSetFogRangeAdj(GX_DISABLE, 0, NULL);
GXSetCullMode(GX_CULL_NONE);
GXSetDither(GX_ENABLE);
GXSetClipMode(GX_CLIP_ENABLE);
GXSetNumIndStages(0);
GXBegin(GX_TRIANGLES, GX_VTXFMT0, 3);
GXPosition1x8(0);
GXPosition1x8(1);
GXPosition1x8(2);
GXEnd();
J3DShape::resetVcdVatCache();
}
mDoExt_linePacket::mDoExt_linePacket(cXyz& i_start, cXyz& i_end, const GXColor& i_color, u8 i_clipZ, u8 i_width) {
mStart = i_start;
mEnd = i_end;
mColor = i_color;
mClipZ = i_clipZ;
mWidth = i_width;
}
void mDoExt_linePacket::draw() {
j3dSys.reinitGX();
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
GXClearVtxDesc();
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
GXLoadPosMtxImm(j3dSys.getViewMtx(), 0);
GXSetCurrentMtx(0);
GXSetNumChans(1);
GXSetChanCtrl(GX_COLOR0, GX_DISABLE, GX_SRC_REG, GX_SRC_REG, GX_LIGHT_NULL, GX_DF_CLAMP, GX_AF_NONE);
GXSetNumTexGens(0);
GXSetNumTevStages(1);
GXSetTevColor(GX_TEVREG0, mColor);
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0);
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0);
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0);
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
GXSetZCompLoc(GX_ENABLE);
if (mClipZ) {
GXSetZMode(GX_ENABLE, GX_LEQUAL, GX_ENABLE);
} else {
GXSetZMode(GX_DISABLE, GX_LEQUAL, GX_DISABLE);
}
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_CLEAR);
GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0);
GXSetFog(GX_FOG_NONE, 0.0f, 0.0f, 0.0f, 0.0f, g_clearColor);
GXSetFogRangeAdj(GX_DISABLE, 0, NULL);
GXSetCullMode(GX_CULL_NONE);
GXSetDither(GX_ENABLE);
GXSetClipMode(GX_CLIP_ENABLE);
GXSetNumIndStages(0);
GXSetLineWidth(mWidth, GX_TO_ZERO);
GXBegin(GX_LINES, GX_VTXFMT0, 2);
GXPosition3f32(mStart.x, mStart.y, mStart.z);
GXPosition3f32(mEnd.x, mEnd.y, mEnd.z);
GXEnd();
J3DShape::resetVcdVatCache();
}
mDoExt_ArrowPacket::mDoExt_ArrowPacket(cXyz& i_position, cXyz& param_1, const GXColor& i_color, u8 i_clipZ, u8 i_lineWidth) {
mStart = i_position;
mEnd = param_1;
mColor = i_color;
mClipZ = i_clipZ;
mLineWidth = i_lineWidth;
}
void mDoExt_ArrowPacket::draw() {
Mtx sp28;
cXyz sp18;
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
GXClearVtxDesc();
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
GXSetNumChans(1);
GXSetChanCtrl(GX_COLOR0, GX_DISABLE, GX_SRC_REG, GX_SRC_REG, GX_LIGHT_NULL, GX_DF_CLAMP, GX_AF_NONE);
GXSetNumTexGens(0);
GXSetNumTevStages(1);
GXSetTevColor(GX_TEVREG0, mColor);
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0);
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0);
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0);
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
if (mClipZ) {
GXSetZMode(GX_ENABLE, GX_LEQUAL, GX_ENABLE);
} else {
GXSetZMode(GX_DISABLE, GX_LEQUAL, GX_DISABLE);
}
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_CLEAR);
GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0);
GXSetCullMode(GX_CULL_NONE);
GXSetClipMode(GX_CLIP_ENABLE);
GXSetLineWidth(mLineWidth, GX_TO_ZERO);
sp18 = mEnd - mStart;
MtxTrans(mStart.x, mStart.y, mStart.z, 0);
cMtx_YrotM(*calc_mtx, sp18.atan2sX_Z());
cMtx_XrotM(*calc_mtx, cM_atan2s(JMAFastSqrt(SQUARE(sp18.x) + SQUARE(sp18.z)), sp18.y));
cMtx_concat(j3dSys.getViewMtx(), *calc_mtx, sp28);
GXLoadPosMtxImm(sp28, 0);
GXSetCurrentMtx(0);
GXBegin(GX_LINES, GX_VTXFMT0, 2);
GXPosition3f32(0.0f, 0.0f, 0.0f);
GXPosition3f32(0.0f, sp18.abs(), 0.0f);
GXEnd();
f32 var_f29 = sp18.abs();
f32 var_f31 = var_f29 * 0.1f;
f32 var_f30 = var_f29 * 0.8f;
GXBegin(GX_TRIANGLEFAN, GX_VTXFMT0, 6);
GXPosition3f32(0.0f, var_f29, 0.0f);
GXPosition3f32(0.0f, var_f30, var_f31);
GXPosition3f32(var_f31, var_f30, 0.0f);
GXPosition3f32(0.0f, var_f30, -var_f31);
GXPosition3f32(-var_f31, var_f30, 0.0f);
GXPosition3f32(0.0f, var_f30, var_f31);
GXEnd();
}
mDoExt_pointPacket::mDoExt_pointPacket(cXyz& i_position, const GXColor& i_color, u8 i_clipZ, u8 i_lineWidth) {
mPosition = i_position;
mColor = i_color;
mClipZ = i_clipZ;
mLineWidth = i_lineWidth;
}
void mDoExt_pointPacket::draw() {
j3dSys.reinitGX();
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
GXClearVtxDesc();
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
GXSetNumChans(1);
GXSetChanCtrl(GX_COLOR0, GX_DISABLE, GX_SRC_REG, GX_SRC_REG, GX_LIGHT_NULL, GX_DF_CLAMP, GX_AF_NONE);
GXSetNumTexGens(0);
GXSetNumTevStages(1);
GXSetTevColor(GX_TEVREG0, mColor);
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0);
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0);
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0);
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
if (mClipZ) {
GXSetZMode(GX_ENABLE, GX_LEQUAL, GX_ENABLE);
} else {
GXSetZMode(GX_DISABLE, GX_LEQUAL, GX_DISABLE);
}
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_CLEAR);
GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0);
GXSetCullMode(GX_CULL_NONE);
GXSetClipMode(GX_CLIP_ENABLE);
GXSetPointSize(mLineWidth, GX_TO_ZERO);
GXLoadPosMtxImm(j3dSys.getViewMtx(), 0);
GXSetCurrentMtx(0);
GXBegin(GX_POINTS, GX_VTXFMT0, 1);
GXPosition3f32(mPosition.x, mPosition.y, mPosition.z);
GXEnd();
j3dSys.reinitGX();
J3DShape::resetVcdVatCache();
}
mDoExt_circlePacket::mDoExt_circlePacket(cXyz& i_position, f32 i_radius, const GXColor& i_color, u8 i_clipZ, u8 i_lineWidth) {
mPosition = i_position;
mRadius = i_radius;
mColor = i_color;
mClipZ = i_clipZ;
mLineWidth = i_lineWidth;
}
void mDoExt_circlePacket::draw() {
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
GXClearVtxDesc();
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
GXSetNumChans(1);
GXSetChanCtrl(GX_COLOR0, GX_DISABLE, GX_SRC_REG, GX_SRC_REG, GX_LIGHT_NULL, GX_DF_CLAMP, GX_AF_NONE);
GXSetNumTexGens(0);
GXSetNumTevStages(1);
GXSetTevColor(GX_TEVREG0, mColor);
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0);
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0);
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0);
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
if (mClipZ) {
GXSetZMode(GX_ENABLE, GX_LEQUAL, GX_ENABLE);
} else {
GXSetZMode(GX_DISABLE, GX_LEQUAL, GX_DISABLE);
}
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_CLEAR);
GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0);
GXSetCullMode(GX_CULL_NONE);
GXSetClipMode(GX_CLIP_ENABLE);
GXSetLineWidth(mLineWidth, GX_TO_ZERO);
GXLoadPosMtxImm(j3dSys.getViewMtx(), 0);
GXSetCurrentMtx(0);
cXyz sp38;
cXyz sp44;
int numEdges = 36;
sp38.y = sp44.y = mPosition.y;
GXBegin(GX_LINES, GX_VTXFMT0, numEdges * 2);
for (int i = 0; i < numEdges; i++) {
sp38.x = cM_fcos((i * 6.2831855f) / numEdges) * mRadius;
sp38.z = cM_fsin((i * 6.2831855f) / numEdges) * mRadius;
sp44.x = cM_fcos(((i + 1) * 6.2831855f) / numEdges) * mRadius;
sp44.z = cM_fsin(((i + 1) * 6.2831855f) / numEdges) * mRadius;
sp38.x += mPosition.x;
sp38.z += mPosition.z;
sp44.x += mPosition.x;
sp44.z += mPosition.z;
GXPosition3f32(sp38.x, sp38.y, sp38.z);
GXPosition3f32(sp44.x, sp44.y, sp44.z);
}
GXEnd();
}
mDoExt_spherePacket::mDoExt_spherePacket(cXyz& i_position, f32 i_size, const GXColor& i_color, u8 i_clipZ) {
mPosition = i_position;
mSize = i_size;
mColor = i_color;
mClipZ = i_clipZ;
}
void mDoExt_spherePacket::draw() {
GXSetNumChans(1);
GXSetChanCtrl(GX_COLOR0, GX_ENABLE, GX_SRC_REG, GX_SRC_REG, GX_LIGHT0, GX_DF_CLAMP, GX_AF_NONE);
GXSetNumTexGens(0);
GXSetNumTevStages(1);
GXSetTevColor(GX_TEVREG0, mColor);
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0);
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_RASC, GX_CC_C0, GX_CC_ZERO);
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0);
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
if (mClipZ) {
GXSetZMode(GX_ENABLE, GX_LEQUAL, GX_ENABLE);
} else {
GXSetZMode(GX_DISABLE, GX_LEQUAL, GX_DISABLE);
}
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_CLEAR);
GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0);
GXSetCullMode(GX_CULL_BACK);
GXSetClipMode(GX_CLIP_ENABLE);
mDoMtx_stack_c::copy(j3dSys.getViewMtx());
mDoMtx_stack_c::transM(mPosition.x, mPosition.y, mPosition.z);
mDoMtx_stack_c::scaleM(mSize, mSize, mSize);
GXLoadPosMtxImm(mDoMtx_stack_c::get(), 0);
mDoMtx_stack_c::inverseTranspose();
GXLoadNrmMtxImm(mDoMtx_stack_c::get(), 0);
GXSetCurrentMtx(0);
GXDrawSphere(8, 8);
}
mDoExt_cylinderPacket::mDoExt_cylinderPacket(cXyz& i_position, f32 i_radius, f32 i_height, const GXColor& i_color, u8 i_clipZ) {
mPosition = i_position;
mRadius = i_radius;
mHeight = i_height;
mColor = i_color;
mClipZ = i_clipZ;
}
void mDoExt_cylinderPacket::draw() {
GXSetNumChans(1);
GXSetChanCtrl(GX_COLOR0, GX_ENABLE, GX_SRC_REG, GX_SRC_REG, 1, GX_DF_CLAMP, GX_AF_NONE);
GXSetNumTexGens(0);
GXSetNumTevStages(1);
GXSetTevColor(GX_TEVREG0, mColor);
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0);
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_RASC, GX_CC_C0, GX_CC_ZERO);
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0);
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
if (mClipZ) {
GXSetZMode(GX_ENABLE, GX_LEQUAL, GX_ENABLE);
} else {
GXSetZMode(GX_DISABLE, GX_LEQUAL, GX_DISABLE);
}
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_CLEAR);
GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0);
GXSetCullMode(GX_CULL_BACK);
GXSetClipMode(GX_CLIP_ENABLE);
f32 var_f31 = mHeight * 0.5f;
mDoMtx_stack_c::copy(j3dSys.getViewMtx());
mDoMtx_stack_c::transM(mPosition.x, mPosition.y + var_f31, mPosition.z);
mDoMtx_stack_c::scaleM(mRadius, var_f31, mRadius);
mDoMtx_stack_c::XrotM(0x4000);
GXLoadPosMtxImm(mDoMtx_stack_c::get(), 0);
mDoMtx_stack_c::inverseTranspose();
GXLoadNrmMtxImm(mDoMtx_stack_c::get(), 0);
GXSetCurrentMtx(0);
GXDrawCylinder(8);
}
mDoExt_cylinderMPacket::mDoExt_cylinderMPacket(Mtx i_mtx, const GXColor& i_color, u8 i_clipZ) {
cMtx_copy(i_mtx, mMatrix);
mColor = i_color;
mClipZ = i_clipZ;
}
void mDoExt_cylinderMPacket::draw() {
GXSetNumChans(1);
GXSetChanCtrl(GX_COLOR0, GX_ENABLE, GX_SRC_REG, GX_SRC_REG, GX_LIGHT0, GX_DF_CLAMP, GX_AF_NONE);
GXSetNumTexGens(0);
GXSetNumTevStages(1);
GXSetTevColor(GX_TEVREG0, mColor);
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0);
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_RASC, GX_CC_C0, GX_CC_ZERO);
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0);
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
if (mClipZ) {
GXSetZMode(GX_ENABLE, GX_LEQUAL, GX_ENABLE);
} else {
GXSetZMode(GX_DISABLE, GX_LEQUAL, GX_DISABLE);
}
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_CLEAR);
GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0);
GXSetCullMode(GX_CULL_BACK);
GXSetClipMode(GX_CLIP_ENABLE);
cMtx_concat(j3dSys.getViewMtx(), mMatrix, mMatrix);
GXLoadPosMtxImm(mMatrix, 0);
cMtx_inverseTranspose(mMatrix, mMatrix);
GXLoadNrmMtxImm(mMatrix, 0);
GXSetCurrentMtx(0);
GXDrawCylinder(8);
}
+78 -30
View File
@@ -631,42 +631,100 @@ u32 VIGetRetraceCount() {
}
u32 VIGetNextField() {
puts("VIGetNextField is a stub");
return 0;
puts("VIGetNextField is a stub");
return 0;
}
void VISetBlack(BOOL black) {
puts("VISetBlack is a stub");
}
void VISetBlack(BOOL black) { puts("VISetBlack is a stub"); }
void VISetNextFrameBuffer(void* fb) {
// puts("VISetNextFrameBuffer is a stub");
void VISetNextFrameBuffer(void *fb) {
// puts("VISetNextFrameBuffer is a stub");
}
void VIWaitForRetrace() {
if (sVIRetraceCallback) {
sVIRetraceCallback(0);
}
if (sVIRetraceCallback) {
sVIRetraceCallback(0);
}
}
void* VIGetCurrentFrameBuffer(void) {
puts("VIGetCurrentFrameBuffer is a stub");
return NULL;
puts("VIGetCurrentFrameBuffer is a stub");
return NULL;
}
u32 VIGetDTVStatus(void) {
puts("VIGetDTVStatus is a stub");
return 0;
puts("VIGetDTVStatus is a stub");
return 0;
}
void* VIGetNextFrameBuffer(void) {
puts("VIGetNextFrameBuffer is a stub");
return NULL;
puts("VIGetNextFrameBuffer is a stub");
return NULL;
}
VIRetraceCallback VISetPostRetraceCallback(VIRetraceCallback callback) {
sVIRetraceCallback = callback;
return callback;
sVIRetraceCallback = callback;
return callback;
}
VIRetraceCallback VISetPreRetraceCallback(VIRetraceCallback cb) {
puts("VISetPreRetraceCallback is a stub");
return cb;
}
} // extern "C"
# pragma mark DSP
#include <dolphin/dsp.h>
extern "C" void __DSP_insert_task(DSPTaskInfo* task) {
puts("__DSP_insert_task is a stub");
}
extern "C" void __DSP_boot_task(DSPTaskInfo*) {
puts("__DSP_boot_task is a stub");
}
extern "C" void __DSP_exec_task(DSPTaskInfo*, DSPTaskInfo*) {
puts("__DSP_exec_task is a stub");
}
extern "C" void __DSP_remove_task(DSPTaskInfo* task) {
puts("__DSP_remove_task is a stub");
}
void DSPAssertInt(void) {
puts("DSPAssertInt is a stub");
}
u32 DSPCheckMailFromDSP(void) {
puts("DSPCheckMailFromDSP is a stub");
return 0;
}
u32 DSPCheckMailToDSP(void) {
puts("DSPCheckMailToDSP is a stub");
return 0;
}
void DSPInit(void) {
puts("DSPInit is a stub");
}
u32 DSPReadMailFromDSP(void) {
puts("DSPReadMailFromDSP is a stub");
return 0;
}
void DSPSendMailToDSP(u32 mail) {
puts("DSPSendMailToDSP is a stub");
}
# pragma mark Z2Audio
#include <Z2AudioLib/Z2AudioCS.h>
void Z2AudioCS::extensionProcess(s32, s32) {
puts("Z2AudioMgr::play is a stub");
}
# pragma mark JORServer
#include <JSystem/JHostIO/JORServer.h>
int JOREventCallbackListNode::JORAct(u32, const char*) {
return 0;
}
VIRetraceCallback VISetPreRetraceCallback(VIRetraceCallback cb) {
@@ -776,14 +834,7 @@ mDoExt_onCupOffAupPacket::~mDoExt_onCupOffAupPacket() {
puts("mDoExt_onCupOffAupPacket_c destructor is a stub");
}
// #pragma mark mDoExt
// namespace mDoExt {
// u8 CurrentHeapAdjustVerbose;
// u8 HeapAdjustVerbose;
// u8 HeapAdjustQuiet;
// }; // namespace mDoExt
#pragma mark dKankyo_vrboxHIO_c
# pragma mark dKankyo_vrboxHIO_c
#include <d/d_kankyo.h>
void dKankyo_vrboxHIO_c::dKankyo_vrboxHIOInfoUpDateF() {
puts("dKankyo_vrboxHIO_c::dKankyo_vrboxHIOInfoUpDateF is a stub");
@@ -1567,7 +1618,7 @@ void GXInitTexCacheRegion(GXTexRegion* region, u8 is_32b_mipmap, u32 tmem_even,
puts("GXInitTexCacheRegion is a stub");
}
// XXX, this should be some struct?
//GXRenderModeObj GXNtsc480IntDf;
// GXRenderModeObj GXNtsc480IntDf;
GXRenderModeObj GXNtsc480Int;
void GXPeekZ(u16 x, u16 y, u32* z) {
puts("GXPeekZ is a stub");
@@ -1697,9 +1748,6 @@ u8 fapGm_HIO_c::mCaptureScreenDivH = 1;
#pragma mark dMsgObject
#include <d/d_msg_object.h>
// void dMsgObject_c::setSelectWordFlag(u8 flag) {
// puts("dMsgObject_c::setSelectWordFlag is a stub");
// }
void dMsgObject_c::setWord(const char* i_word) {
puts("dMsgObject_c::setWord is a stub");
}
+1 -1
View File
@@ -3006,7 +3006,7 @@ void mDoExt_3DlineMatSortPacket::draw() {
J3DShape::resetVcdVatCache();
}
#if DEBUG
#if DEBUG || !__MWERKS__
mDoExt_cube8pPacket::mDoExt_cube8pPacket(cXyz* i_points, const GXColor& i_color) {
cXyz* pnt_array = mPoints;
+1 -1
View File
@@ -872,7 +872,7 @@ static u8 mainThreadStack[32768];
OSThread mainThread;
void game_main(int argc, const char* argv[]) {
extern "C" void game_main(int argc, const char* argv[]) {
OSThread* current_thread = OSGetCurrentThread();
u8* stack = mainThreadStack;
mDoMain::sPowerOnTime = OSGetTime();