Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
94 changes: 47 additions & 47 deletions config/RSPE01_01/symbols.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7718,11 +7718,11 @@ fn_801A6D54 = .text:0x801A6D54; // type:function size:0xC8
fn_801A6E1C = .text:0x801A6E1C; // type:function size:0x64
fn_801A6E80 = .text:0x801A6E80; // type:function size:0x28
fn_801A6EA8 = .text:0x801A6EA8; // type:function size:0x58
fn_801A6F00 = .text:0x801A6F00; // type:function size:0x68
fn_801A6F68 = .text:0x801A6F68; // type:function size:0x5C8
fn_801A7530 = .text:0x801A7530; // type:function size:0x40
fn_801A7570 = .text:0x801A7570; // type:function size:0x68
fn_801A75D8 = .text:0x801A75D8; // type:function size:0x60
openLib__17RPSysNWC24ManagerFv = .text:0x801A6F00; // type:function size:0x68
commitMail__17RPSysNWC24ManagerFPCwPCwUsPC11RPSysAvatariP16__va_list_struct = .text:0x801A6F68; // type:function size:0x5C8
__dt__17RPSysNWC24ManagerFv = .text:0x801A7530; // type:function size:0x40
__ct__17RPSysNWC24ManagerFPQ23EGG4Heap = .text:0x801A7570; // type:function size:0x68
initialize__17RPSysNWC24ManagerFv = .text:0x801A75D8; // type:function size:0x60
fn_801A7638 = .text:0x801A7638; // type:function size:0x2C
fn_801A7664 = .text:0x801A7664; // type:function size:0x28
fn_801A768C = .text:0x801A768C; // type:function size:0x20
Expand Down Expand Up @@ -8073,45 +8073,45 @@ fn_801B4F98 = .text:0x801B4F98; // type:function size:0x9C
fn_801B5034 = .text:0x801B5034; // type:function size:0x70
fn_801B50A4 = .text:0x801B50A4; // type:function size:0x7C
fn_801B5120 = .text:0x801B5120; // type:function size:0x40
fn_801B5160 = .text:0x801B5160; // type:function size:0x8
fn_801B5168 = .text:0x801B5168; // type:function size:0x8
fn_801B5170 = .text:0x801B5170; // type:function size:0x8
fn_801B5178 = .text:0x801B5178; // type:function size:0x8FC
fn_801B5A74 = .text:0x801B5A74; // type:function size:0x10
fn_801B5A84 = .text:0x801B5A84; // type:function size:0x50
fn_801B5AD4 = .text:0x801B5AD4; // type:function size:0x6C
fn_801B5B40 = .text:0x801B5B40; // type:function size:0x1A4
fn_801B5CE4 = .text:0x801B5CE4; // type:function size:0x124
fn_801B5E08 = .text:0x801B5E08; // type:function size:0x4
fn_801B5E0C = .text:0x801B5E0C; // type:function size:0x14C
fn_801B5F58 = .text:0x801B5F58; // type:function size:0x1E8
fn_801B6140 = .text:0x801B6140; // type:function size:0x8
fn_801B6148 = .text:0x801B6148; // type:function size:0x4
fn_801B614C = .text:0x801B614C; // type:function size:0x8
fn_801B6154 = .text:0x801B6154; // type:function size:0x14
fn_801B6168 = .text:0x801B6168; // type:function size:0x8
fn_801B6170 = .text:0x801B6170; // type:function size:0x10
fn_801B6180 = .text:0x801B6180; // type:function size:0x14
fn_801B6194 = .text:0x801B6194; // type:function size:0x14
fn_801B61A8 = .text:0x801B61A8; // type:function size:0x8
fn_801B61B0 = .text:0x801B61B0; // type:function size:0x8
fn_801B61B8 = .text:0x801B61B8; // type:function size:0x8
fn_801B61C0 = .text:0x801B61C0; // type:function size:0x4
fn_801B61C4 = .text:0x801B61C4; // type:function size:0x4
fn_801B61C8 = .text:0x801B61C8; // type:function size:0x4
fn_801B61CC = .text:0x801B61CC; // type:function size:0x4
fn_801B61D0 = .text:0x801B61D0; // type:function size:0x4
fn_801B61D4 = .text:0x801B61D4; // type:function size:0x4
fn_801B61D8 = .text:0x801B61D8; // type:function size:0x4
fn_801B61DC = .text:0x801B61DC; // type:function size:0x4
fn_801B61E0 = .text:0x801B61E0; // type:function size:0x58
fn_801B6238 = .text:0x801B6238; // type:function size:0x44
fn_801B627C = .text:0x801B627C; // type:function size:0x8
fn_801B6284 = .text:0x801B6284; // type:function size:0x8
fn_801B628C = .text:0x801B628C; // type:function size:0x8
fn_801B6294 = .text:0x801B6294; // type:function size:0x8
fn_801B629C = .text:0x801B629C; // type:function size:0x8
fn_801B62A4 = .text:0x801B62A4; // type:function size:0x8
GetShapeName__13RPGrpModelRflCFUs = .text:0x801B5160; // type:function size:0x8
GetMaterialName__13RPGrpModelRflCFUs = .text:0x801B5168; // type:function size:0x8
GetJointName__13RPGrpModelRflCFUs = .text:0x801B5170; // type:function size:0x8
DrawGX__13RPGrpModelRflFPC12RFLCharModelUlUl8_GXColorbb = .text:0x801B5178; // type:function size:0x8FC
GetCharModelDrawProc__13RPGrpModelRflFPQ34nw4r3g3d6ScnRflPC12RFLCharModelUlUl8_GXColorb = .text:0x801B5A74; // type:function size:0x10
DrawProc__13RPGrpModelRflFPQ34nw4r3g3d6ScnRflPC12RFLCharModelUlUl8_GXColorb = .text:0x801B5A84; // type:function size:0x50
CalcBeforeDraw__13RPGrpModelRflFv = .text:0x801B5AD4; // type:function size:0x6C
InternalCalc__13RPGrpModelRflFv = .text:0x801B5B40; // type:function size:0x1A4
ReplaceTexture__13RPGrpModelRflFPCcRC12RPGrpTextureb = .text:0x801B5CE4; // type:function size:0x124
CreateAnm__13RPGrpModelRflFv = .text:0x801B5E08; // type:function size:0x4
Configure__13RPGrpModelRflFv = .text:0x801B5E0C; // type:function size:0x14C
Construct__13RPGrpModelRflF13RFLDataSourceUsP11RFLMiddleDB13RFLResolutionUlUc = .text:0x801B5F58; // type:function size:0x1E8
GetKind__13RPGrpModelRflFv = .text:0x801B6140; // type:function size:0x8
SetCallbackJointIndex__13RPGrpModelRflFUs = .text:0x801B6148; // type:function size:0x4
GetCallbackJointIndex__13RPGrpModelRflCFv = .text:0x801B614C; // type:function size:0x8
GetWorldMtx__13RPGrpModelRflCFUsPQ34nw4r4math5MTX34 = .text:0x801B6154; // type:function size:0x14
ReferWorldMtx__13RPGrpModelRflCFUs = .text:0x801B6168; // type:function size:0x8
GetWorldMtx__13RPGrpModelRflCFUs = .text:0x801B6170; // type:function size:0x10
GetViewMtx__13RPGrpModelRflCFUsPQ34nw4r4math5MTX34 = .text:0x801B6180; // type:function size:0x14
GetViewMtx__13RPGrpModelRflCFPQ34nw4r4math5MTX34 = .text:0x801B6194; // type:function size:0x14
GetJointIndex__13RPGrpModelRflCFPCc = .text:0x801B61A8; // type:function size:0x8
GetMaterialIndex__13RPGrpModelRflCFPCc = .text:0x801B61B0; // type:function size:0x8
GetShapeIndex__13RPGrpModelRflCFPCc = .text:0x801B61B8; // type:function size:0x8
VF_0x8__13RPGrpModelRflFv = .text:0x801B61C0; // type:function size:0x4
VF_0x10__13RPGrpModelRflFv = .text:0x801B61C4; // type:function size:0x4
VF_0xC__13RPGrpModelRflFv = .text:0x801B61C8; // type:function size:0x4
ExecCallback_DRAW_XLU__13RPGrpModelRflFQ44nw4r3g3d6ScnObj6TimingPQ34nw4r3g3d6ScnObjUlPv = .text:0x801B61CC; // type:function size:0x4
ExecCallback_DRAW_OPA__13RPGrpModelRflFQ44nw4r3g3d6ScnObj6TimingPQ34nw4r3g3d6ScnObjUlPv = .text:0x801B61D0; // type:function size:0x4
ExecCallback_CALC_VIEW__13RPGrpModelRflFQ44nw4r3g3d6ScnObj6TimingPQ34nw4r3g3d6ScnObjUlPv = .text:0x801B61D4; // type:function size:0x4
ExecCallback_CALC_MAT__13RPGrpModelRflFQ44nw4r3g3d6ScnObj6TimingPQ34nw4r3g3d6ScnObjUlPv = .text:0x801B61D8; // type:function size:0x4
ExecCallback_CALC_WORLD__13RPGrpModelRflFQ44nw4r3g3d6ScnObj6TimingPQ34nw4r3g3d6ScnObjUlPv = .text:0x801B61DC; // type:function size:0x4
__dt__13RPGrpModelRflFv = .text:0x801B61E0; // type:function size:0x58
__sinit_\RPGrpModelRfl_cpp = .text:0x801B6238; // type:function size:0x44
@72@ExecCallback_DRAW_XLU__13RPGrpModelRflFQ44nw4r3g3d6ScnObj6TimingPQ34nw4r3g3d6ScnObjUlPv = .text:0x801B627C; // type:function size:0x8
@72@ExecCallback_DRAW_OPA__13RPGrpModelRflFQ44nw4r3g3d6ScnObj6TimingPQ34nw4r3g3d6ScnObjUlPv = .text:0x801B6284; // type:function size:0x8
@72@ExecCallback_CALC_VIEW__13RPGrpModelRflFQ44nw4r3g3d6ScnObj6TimingPQ34nw4r3g3d6ScnObjUlPv = .text:0x801B628C; // type:function size:0x8
@72@ExecCallback_CALC_MAT__13RPGrpModelRflFQ44nw4r3g3d6ScnObj6TimingPQ34nw4r3g3d6ScnObjUlPv = .text:0x801B6294; // type:function size:0x8
@72@ExecCallback_CALC_WORLD__13RPGrpModelRflFQ44nw4r3g3d6ScnObj6TimingPQ34nw4r3g3d6ScnObjUlPv = .text:0x801B629C; // type:function size:0x8
@72@__dt__13RPGrpModelRflFv = .text:0x801B62A4; // type:function size:0x8
fn_801B62AC = .text:0x801B62AC; // type:function size:0xC4
fn_801B6370 = .text:0x801B6370; // type:function size:0xC
fn_801B637C = .text:0x801B637C; // type:function size:0x2BC
Expand Down Expand Up @@ -18584,8 +18584,8 @@ __vt__19RPSysKokeshiCtrlMgr = .data:0x803B9E78; // type:object size:0xC
__vt__Q219RPSysKokeshiCtrlMgr8Disposer = .data:0x803B9E84; // type:object size:0xC scope:weak
lbl_803B9E90 = .data:0x803B9E90; // type:object size:0x10
lbl_803B9EA0 = .data:0x803B9EA0; // type:object size:0x10
jumptable_803B9EB0 = .data:0x803B9EB0; // type:object size:0x9C scope:local
lbl_803B9F4C = .data:0x803B9F4C; // type:object size:0xC
@19267 = .data:0x803B9EB0; // type:object size:0x9C scope:local
__vt__17RPSysNWC24Manager = .data:0x803B9F4C; // type:object size:0xC
lbl_803B9F58 = .data:0x803B9F58; // type:object size:0x38
__vt__Q34nw4r3g3d6ScnRfl = .data:0x803B9F90; // type:object size:0x34 scope:global
lbl_803B9FC8 = .data:0x803B9FC8; // type:object size:0x10
Expand Down Expand Up @@ -20407,7 +20407,7 @@ lbl_804BDBE0 = .sdata:0x804BDBE0; // type:object size:0x8
lbl_804BDBE8 = .sdata:0x804BDBE8; // type:object size:0x8
lbl_804BDBF0 = .sdata:0x804BDBF0; // type:object size:0x8
lbl_804BDBF8 = .sdata:0x804BDBF8; // type:object size:0x8 data:4byte
lbl_804BDC00 = .sdata:0x804BDC00; // type:object size:0x8 data:4byte
sSuccess__17RPSysNWC24Manager = .sdata:0x804BDC00; // type:object size:0x4 data:4byte
lbl_804BDC08 = .sdata:0x804BDC08; // type:object size:0x4 data:4byte
lbl_804BDC0C = .sdata:0x804BDC0C; // type:object size:0x4 data:4byte
lbl_804BDC10 = .sdata:0x804BDC10; // type:object size:0x8 align:4 data:float
Expand Down
4 changes: 4 additions & 0 deletions include/Pack/RPGraphics.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,15 @@
#define RP_PUBLIC_GRAPHICS_H

#include <Pack/RPGraphics/IRPGrpModelCallback.h>
#include <Pack/RPGraphics/RPGrpDrawPath.h>
#include <Pack/RPGraphics/RPGrpDrawPathLightMap.h>
#include <Pack/RPGraphics/RPGrpDrawPathManager.h>
#include <Pack/RPGraphics/RPGrpModel.h>
#include <Pack/RPGraphics/RPGrpModelAnm.h>
#include <Pack/RPGraphics/RPGrpModelAnmImplement.h>
#include <Pack/RPGraphics/RPGrpModelBoundingInfo.h>
#include <Pack/RPGraphics/RPGrpModelG3D.h>
#include <Pack/RPGraphics/RPGrpModelManager.h>
#include <Pack/RPGraphics/RPGrpModelMaterial.h>
#include <Pack/RPGraphics/RPGrpModelRecord.h>
#include <Pack/RPGraphics/RPGrpModelResManager.h>
Expand Down
38 changes: 38 additions & 0 deletions include/Pack/RPGraphics/RPGrpDrawPath.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
#ifndef RP_GRAPHICS_DRAW_PATH_H
#define RP_GRAPHICS_DRAW_PATH_H
#include <Pack/types_pack.h>

#include <egg/gfxe.h>

//! @addtogroup rp_graphics
//! @{

/**
* @brief Base class for draw paths
*/
class RPGrpDrawPath {
protected:
EGG::ScnRenderer* mpRenderer; // at 0x0
EGG::DrawPathBase* mpPathImpl; // at 0x4

public:
template <typename T> T* Construct(EGG::ScnRenderer* pRenderer);

virtual ~RPGrpDrawPath() {} // at 0x8

virtual void On() { // at 0xC
mpPathImpl->setEnable(true);
}

virtual void Off() { // at 0x10
mpPathImpl->setEnable(false);
}

virtual bool IsEnable() const { // at 0x10
return mpPathImpl->isEnable();
}
};

//! @}

#endif
32 changes: 32 additions & 0 deletions include/Pack/RPGraphics/RPGrpDrawPathLightMap.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#ifndef RP_GRAPHICS_DRAW_PATH_LIGHT_MAP_H
#define RP_GRAPHICS_DRAW_PATH_LIGHT_MAP_H
#include <Pack/types_pack.h>

#include <Pack/RPGraphics/RPGrpDrawPath.h>

#include <egg/gfxe.h>

//! @addtogroup rp_graphics
//! @{

// Forward declarations
class RPGrpModel;

/**
* @brief Light map draw path
*/
class RPGrpDrawPathLightMap : public RPGrpDrawPath {
public:
void ReplaceModelTexture(u16 index, RPGrpModel* pModel);

EGG::LightTextureManager* GetLightTextureManager() const {
return mpLightTextureManager;
}

private:
EGG::LightTextureManager* mpLightTextureManager;
};

//! @}

#endif
29 changes: 29 additions & 0 deletions include/Pack/RPGraphics/RPGrpDrawPathManager.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#ifndef RP_GRAPHICS_DRAW_PATH_MANAGER_H
#define RP_GRAPHICS_DRAW_PATH_MANAGER_H
#include <Pack/types_pack.h>

#include <egg/gfxe.h>

//! @addtogroup rp_graphics
//! @{

// Forward declarations
class RPGrpDrawPathLightMap;

/**
* @brief Draw path manager
*/
class RPGrpDrawPathManager : public EGG::IScnProc {
public:
RPGrpDrawPathLightMap* GetDrawPathLightMap() const {
return mpDrawPathLightMap;
}

private:
char unkC[0x18 - 0xC];
RPGrpDrawPathLightMap* mpDrawPathLightMap; // at 0x18
};

//! @}

#endif
15 changes: 10 additions & 5 deletions include/Pack/RPGraphics/RPGrpModel.h
Original file line number Diff line number Diff line change
Expand Up @@ -176,10 +176,9 @@ class RPGrpModel {
return;
}

nw4r::g3d::ScnObj* pScnObj = GetScnObj();
if (pScnObj != NULL) {
pScnObj->G3dProc(nw4r::g3d::G3dObj::G3DPROC_CALC_VIEW, 0,
const_cast<nw4r::math::MTX34*>(&rViewMtx));
if (GetScnObj() != NULL) {
GetScnObj()->G3dProc(nw4r::g3d::G3dObj::G3DPROC_CALC_VIEW, 0,
const_cast<nw4r::math::MTX34*>(&rViewMtx));
}
}

Expand Down Expand Up @@ -211,6 +210,10 @@ class RPGrpModel {
return mpModelEx->getScnRfl();
}

bool IsVisible() const {
return (mFlags & EFlag_Visible) ? true : false;
}

/**
* @brief Gets the allocator used for model-related allocations
*/
Expand All @@ -227,7 +230,7 @@ class RPGrpModel {
}

protected:
RPGrpModel(u8 viewNo);
explicit RPGrpModel(u8 viewNo);
virtual ~RPGrpModel(); // at 0x88

virtual void Configure(); // at 0x8C
Expand All @@ -247,6 +250,8 @@ class RPGrpModel {
};

protected:
static const nw4r::math::_VEC3 GEOMETRY_MAGNIFY[1 /* ??? */];

//! Allocator used for model-related allocations
static EGG::Allocator* spAllocator;

Expand Down
32 changes: 32 additions & 0 deletions include/Pack/RPGraphics/RPGrpModelManager.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#ifndef RP_GRAPHICS_MODEL_MANAGER_H
#define RP_GRAPHICS_MODEL_MANAGER_H
#include <Pack/types_pack.h>

//! @addtogroup rp_graphics
//! @{

// Forward declarations
class RPGrpDrawPathManager;

/**
* @brief Model manager
*/
class RPGrpModelManager {
public:
/**
* @brief Gets the currently active manager instance
*/
static RPGrpModelManager* GetCurrent() {
return spCurrent;
}

RPGrpDrawPathManager* GetDrawPathManager();

private:
//! Allocator used for model-related allocations
static RPGrpModelManager* spCurrent;
};

//! @}

#endif
Loading
Loading