PR Feedback: link docs in index and cleanup

This commit is contained in:
Fexty12573 2024-06-29 13:23:45 +02:00
parent f3aee91155
commit 19354698de
12 changed files with 27 additions and 25 deletions

View File

@ -6,3 +6,7 @@ For more detailed information about the project as a whole, please refer to its
## Issues with the source code ## Issues with the source code
- [Fixes for Various Bugs and Glitches](bugs_and_glitches.md) - [Fixes for Various Bugs and Glitches](bugs_and_glitches.md)
## Subsystems
- [3D Graphics](3d_rendering.md)

View File

@ -5,14 +5,15 @@
#include <nnsys.h> #include <nnsys.h>
void Easy3D_LoadModelFromPath(const u8 heapID, const char *path, NNSG3dResMdl **outModel, NNSG3dResFileHeader **outResource); void Easy3D_LoadModelFromPath(const u8 heapID, const char *path, NNSG3dResMdl **outModel, NNSG3dResFileHeader **outResource);
void Easy3D_LoadModelFromResource(NNSG3dResMdl **outModel, NNSG3dResFileHeader **resource);
void Easy3D_InitRenderObjFromPath(const u8 heapID, const char *path, NNSG3dRenderObj *obj, NNSG3dResMdl **outModel, NNSG3dResFileHeader **outResource); void Easy3D_InitRenderObjFromPath(const u8 heapID, const char *path, NNSG3dRenderObj *obj, NNSG3dResMdl **outModel, NNSG3dResFileHeader **outResource);
void Easy3D_InitRenderObjFromResource(NNSG3dRenderObj *renderObj, NNSG3dResMdl **model, NNSG3dResFileHeader **resource); void Easy3D_InitRenderObjFromResource(NNSG3dRenderObj *renderObj, NNSG3dResMdl **model, NNSG3dResFileHeader **resource);
BOOL Easy3D_IsTextureUploadedToVRam(NNSG3dResTex *texture); BOOL Easy3D_IsTextureUploadedToVRAM(NNSG3dResTex *texture);
void Easy3D_DrawRenderObj(NNSG3dRenderObj *renderObj, const VecFx32 *pos, const MtxFx33 *rot, const VecFx32 *scale); void Easy3D_DrawRenderObj(NNSG3dRenderObj *renderObj, const VecFx32 *pos, const MtxFx33 *rot, const VecFx32 *scale);
void Easy3D_DrawRenderObjSimple(NNSG3dRenderObj *renderObj, const VecFx32 *pos, const MtxFx33 *rot, const VecFx32 *scale); void Easy3D_DrawRenderObjSimple(NNSG3dRenderObj *renderObj, const VecFx32 *pos, const MtxFx33 *rot, const VecFx32 *scale);
void Easy3D_Init(const u8 heapID); void Easy3D_Init(const u8 heapID);
void Easy3D_Shutdown(void); void Easy3D_Shutdown(void);
BOOL Easy3D_BindTextureToResource(void *resource, NNSG3dResTex *texture); BOOL Easy3D_BindTextureToResource(void *resource, NNSG3dResTex *texture);
BOOL Easy3D_UploadTextureToVRam(NNSG3dResTex *texture); BOOL Easy3D_UploadTextureToVRAM(NNSG3dResTex *texture);
#endif // POKEPLATINUM_EASY3D_H #endif // POKEPLATINUM_EASY3D_H

View File

@ -812,7 +812,7 @@ static void ov78_021D1630 (ChooseStarter3DGraphics * param0, int param1, int par
param0->unk_5C = NNS_G3dGetMdlByIdx(param0->unk_58, 0); param0->unk_5C = NNS_G3dGetMdlByIdx(param0->unk_58, 0);
param0->unk_60 = NNS_G3dGetTex(param0->unk_54); param0->unk_60 = NNS_G3dGetTex(param0->unk_54);
Easy3D_UploadTextureToVRam(param0->unk_60); Easy3D_UploadTextureToVRAM(param0->unk_60);
Easy3D_BindTextureToResource(param0->unk_54, param0->unk_60); Easy3D_BindTextureToResource(param0->unk_54, param0->unk_60);
NNS_G3dRenderObjInit(&param0->unk_00, param0->unk_5C); NNS_G3dRenderObjInit(&param0->unk_00, param0->unk_5C);

View File

@ -9,8 +9,7 @@
#include "gx_layers.h" #include "gx_layers.h"
#include "unk_02024220.h" #include "unk_02024220.h"
void Easy3D_LoadModelFromResource(NNSG3dResMdl **outModel, NNSG3dResFileHeader **resource); static void Easy3D_SetupEngine(void);
static void Easy3D_EngineSetup(void);
void Easy3D_LoadModelFromPath(const u8 heapID, const char *path, NNSG3dResMdl **outModel, NNSG3dResFileHeader **outResource) void Easy3D_LoadModelFromPath(const u8 heapID, const char *path, NNSG3dResMdl **outModel, NNSG3dResFileHeader **outResource)
{ {
@ -18,7 +17,7 @@ void Easy3D_LoadModelFromPath(const u8 heapID, const char *path, NNSG3dResMdl **
NNS_G3D_NULL_ASSERT(*outResource); NNS_G3D_NULL_ASSERT(*outResource);
NNSG3dResTex *texture = NNS_G3dGetTex(*outResource); NNSG3dResTex *texture = NNS_G3dGetTex(*outResource);
if (texture != NULL && Easy3D_IsTextureUploadedToVRam(texture) == FALSE) { if (texture != NULL && Easy3D_IsTextureUploadedToVRAM(texture) == FALSE) {
DC_FlushRange(*outResource, (*outResource)->fileSize); DC_FlushRange(*outResource, (*outResource)->fileSize);
NNS_G3dResDefaultSetup(*outResource); NNS_G3dResDefaultSetup(*outResource);
} }
@ -30,7 +29,7 @@ void Easy3D_LoadModelFromResource(NNSG3dResMdl **outModel, NNSG3dResFileHeader *
{ {
NNSG3dResTex *texture = NNS_G3dGetTex(*resource); NNSG3dResTex *texture = NNS_G3dGetTex(*resource);
if (texture != NULL && Easy3D_IsTextureUploadedToVRam(texture) == FALSE) { if (texture != NULL && Easy3D_IsTextureUploadedToVRAM(texture) == FALSE) {
DC_FlushRange(*resource, (*resource)->fileSize); DC_FlushRange(*resource, (*resource)->fileSize);
NNS_G3dResDefaultSetup(*resource); NNS_G3dResDefaultSetup(*resource);
} }
@ -51,7 +50,7 @@ void Easy3D_InitRenderObjFromResource(NNSG3dRenderObj *renderObj, NNSG3dResMdl *
NNS_G3dRenderObjInit(renderObj, *model); NNS_G3dRenderObjInit(renderObj, *model);
} }
BOOL Easy3D_IsTextureUploadedToVRam(NNSG3dResTex *texture) BOOL Easy3D_IsTextureUploadedToVRAM(NNSG3dResTex *texture)
{ {
return (texture->texInfo.flag & NNS_G3D_RESTEX_LOADED) return (texture->texInfo.flag & NNS_G3D_RESTEX_LOADED)
|| (texture->tex4x4Info.flag & NNS_G3D_RESTEX4x4_LOADED); || (texture->tex4x4Info.flag & NNS_G3D_RESTEX4x4_LOADED);
@ -80,10 +79,10 @@ static GenericPointerData *Unk_021BFB0C = NULL;
void Easy3D_Init(const u8 heapID) void Easy3D_Init(const u8 heapID)
{ {
Unk_021BFB0C = sub_02024220(heapID, 0, 2, 0, 4, Easy3D_EngineSetup); Unk_021BFB0C = sub_02024220(heapID, 0, 2, 0, 4, Easy3D_SetupEngine);
} }
static void Easy3D_EngineSetup(void) static void Easy3D_SetupEngine(void)
{ {
GXLayers_EngineAToggleLayers(GX_PLANEMASK_BG0, TRUE); GXLayers_EngineAToggleLayers(GX_PLANEMASK_BG0, TRUE);
@ -116,7 +115,7 @@ BOOL Easy3D_BindTextureToResource(void *resource, NNSG3dResTex *texture)
return FALSE; return FALSE;
} }
BOOL Easy3D_UploadTextureToVRam(NNSG3dResTex *texture) BOOL Easy3D_UploadTextureToVRAM(NNSG3dResTex *texture)
{ {
if (texture == NULL) { if (texture == NULL) {
return FALSE; return FALSE;
@ -124,9 +123,7 @@ BOOL Easy3D_UploadTextureToVRam(NNSG3dResTex *texture)
texture->texInfo.vramKey = 0; texture->texInfo.vramKey = 0;
u32 texRequiredSize, u32 texRequiredSize, tex4x4RequiredSize, paletteRequiredSize;
tex4x4RequiredSize,
paletteRequiredSize;
BOOL texOk = TRUE; BOOL texOk = TRUE;
BOOL tex4x4Ok = TRUE; BOOL tex4x4Ok = TRUE;
BOOL paletteOk = TRUE; BOOL paletteOk = TRUE;

View File

@ -30,7 +30,7 @@ static void Easy3DModel_BindTexture(SysTask *task, void *param)
{ {
Easy3DModel *model = param; Easy3DModel *model = param;
Easy3D_UploadTextureToVRam(model->texture); Easy3D_UploadTextureToVRAM(model->texture);
Easy3D_BindTextureToResource(model->data, model->texture); Easy3D_BindTextureToResource(model->data, model->texture);
SysTask_Done(task); SysTask_Done(task);
} }

View File

@ -1894,7 +1894,7 @@ static void ov5_021E964C (SysTask * param0, void * param1)
break; break;
case 2: case 2:
if (v1->unk_10 != NULL) { if (v1->unk_10 != NULL) {
if (Easy3D_IsTextureUploadedToVRam(v1->unk_10) == 1) { if (Easy3D_IsTextureUploadedToVRAM(v1->unk_10) == 1) {
v2 = Easy3D_BindTextureToResource(*v1->unk_0C, v1->unk_10); v2 = Easy3D_BindTextureToResource(*v1->unk_0C, v1->unk_10);
} else { } else {
(void)0; (void)0;
@ -1956,7 +1956,7 @@ NNSG3dResMdl * ov5_021E97AC (NARC * param0, const int param1, NNSG3dRenderObj *
NARC_ReadFile(param0, param1, *(param3)); NARC_ReadFile(param0, param1, *(param3));
if (param4 != NULL) { if (param4 != NULL) {
if (Easy3D_IsTextureUploadedToVRam(param4) == 1) { if (Easy3D_IsTextureUploadedToVRAM(param4) == 1) {
v0 = Easy3D_BindTextureToResource(*param3, param4); v0 = Easy3D_BindTextureToResource(*param3, param4);
GF_ASSERT(v0); GF_ASSERT(v0);
} else { } else {

View File

@ -112,7 +112,7 @@ void ov5_021EF7A0 (UnkStruct_ov5_021EF76C * param0)
{ {
BOOL v2; BOOL v2;
v2 = Easy3D_UploadTextureToVRam(param0->unk_C0C); v2 = Easy3D_UploadTextureToVRAM(param0->unk_C0C);
GF_ASSERT(v2); GF_ASSERT(v2);
} }
@ -121,7 +121,7 @@ void ov5_021EF7A0 (UnkStruct_ov5_021EF76C * param0)
if (param0->unk_C10 != NULL) { if (param0->unk_C10 != NULL) {
BOOL v3; BOOL v3;
v3 = Easy3D_UploadTextureToVRam(param0->unk_C10); v3 = Easy3D_UploadTextureToVRAM(param0->unk_C10);
GF_ASSERT(v3); GF_ASSERT(v3);
ov5_021EF75C(param0->unk_C08, param0->unk_C10); ov5_021EF75C(param0->unk_C08, param0->unk_C10);
@ -180,7 +180,7 @@ void ov5_021EF7A0 (UnkStruct_ov5_021EF76C * param0)
(NNSG3dResFileHeader *)param0->unk_04[0]); (NNSG3dResFileHeader *)param0->unk_04[0]);
if (v11 != NULL) { if (v11 != NULL) {
v10 = Easy3D_UploadTextureToVRam(v11); v10 = Easy3D_UploadTextureToVRAM(v11);
GF_ASSERT(v10); GF_ASSERT(v10);
v10 = Easy3D_BindTextureToResource(param0->unk_04[0], v11); v10 = Easy3D_BindTextureToResource(param0->unk_04[0], v11);

View File

@ -39,7 +39,7 @@ void ov70_0225C730 (void ** param0, NARC * param1, u32 param2, u32 param3)
{ {
v5 = NNS_G3dGetTex(v1); v5 = NNS_G3dGetTex(v1);
Easy3D_UploadTextureToVRam(v5); Easy3D_UploadTextureToVRAM(v5);
} }
{ {

View File

@ -1677,7 +1677,7 @@ static void ov77_021D3EDC (UnkStruct_ov77_021D37C0 * param0, int param1)
{ {
BOOL v0; BOOL v0;
v0 = Easy3D_UploadTextureToVRam(param0->unk_20.unk_04); v0 = Easy3D_UploadTextureToVRAM(param0->unk_20.unk_04);
GF_ASSERT(v0); GF_ASSERT(v0);
} }

View File

@ -151,7 +151,7 @@ UnkStruct_ov95_02247958 * ov95_022478B4 (UnkStruct_ov95_0224773C * param0, int p
v0->unk_5C = NNS_G3dGetMdlByIdx(v0->unk_58, 0); v0->unk_5C = NNS_G3dGetMdlByIdx(v0->unk_58, 0);
v0->unk_60 = NNS_G3dGetTex(v0->unk_00); v0->unk_60 = NNS_G3dGetTex(v0->unk_00);
Easy3D_UploadTextureToVRam(v0->unk_60); Easy3D_UploadTextureToVRAM(v0->unk_60);
Easy3D_BindTextureToResource(v0->unk_00, v0->unk_60); Easy3D_BindTextureToResource(v0->unk_00, v0->unk_60);
NNS_G3dRenderObjInit(&v0->unk_04, v0->unk_5C); NNS_G3dRenderObjInit(&v0->unk_04, v0->unk_5C);

View File

@ -409,7 +409,7 @@ static void ov117_02262B98 (UnkStruct_ov117_022626B0 * param0)
param0->unk_00 = NARC_AllocAndReadWholeMemberByIndexPair(NARC_INDEX_APPLICATION__BALLOON__GRAPHIC__BALLOON_GRA, 29, 110); param0->unk_00 = NARC_AllocAndReadWholeMemberByIndexPair(NARC_INDEX_APPLICATION__BALLOON__GRAPHIC__BALLOON_GRA, 29, 110);
param0->unk_04 = NNS_G3dGetTex(param0->unk_00); param0->unk_04 = NNS_G3dGetTex(param0->unk_00);
Easy3D_UploadTextureToVRam(param0->unk_04); Easy3D_UploadTextureToVRAM(param0->unk_04);
{ {
u32 v0; u32 v0;

View File

@ -60,7 +60,7 @@ void sub_0207389C (UnkStruct_02073838 * param0, u32 param1, NARC * param2, u32 p
void sub_020738C0 (UnkStruct_02073838 * param0) void sub_020738C0 (UnkStruct_02073838 * param0)
{ {
Easy3D_UploadTextureToVRam(param0->unk_10); Easy3D_UploadTextureToVRAM(param0->unk_10);
NNS_G3dBindMdlSet(param0->unk_08, param0->unk_10); NNS_G3dBindMdlSet(param0->unk_08, param0->unk_10);
param0->unk_00 = 1; param0->unk_00 = 1;
} }