-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
d_a_obj_appear_bridge mostly matching (#36)
* d_a_obj_appear_bridge - weak function order issue * Mark as nonmatching for now * Name unk IScnObjCallback funcs --------- Co-authored-by: elijah-thomas774 <[email protected]>
- Loading branch information
1 parent
1039b3b
commit 392145b
Showing
12 changed files
with
286 additions
and
72 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
#ifndef D_A_OBJ_APPEAR_BRIDGE_H | ||
#define D_A_OBJ_APPEAR_BRIDGE_H | ||
|
||
#include <d/a/obj/d_a_obj_base.h> | ||
#include <m/m3d/m_anmmatclr.h> | ||
#include <m/m3d/m_anmtexsrt.h> | ||
#include <m/m3d/m_smdl.h> | ||
#include <s/s_State.hpp> | ||
#include <s/s_StateMgr.hpp> | ||
#include <toBeSorted/actor_collision.h> | ||
#include <toBeSorted/actor_event.h> | ||
#include <toBeSorted/stage_render_stuff.h> | ||
|
||
class dAcOappearBridge_c : public dAcObjBase_c { | ||
public: | ||
dAcOappearBridge_c() : mStateMgr(*this, sStateID::null), mActorEvent(*this, nullptr), mSceneCallback(this) {} | ||
virtual ~dAcOappearBridge_c() {} | ||
virtual bool createHeap() override; | ||
virtual int create() override; | ||
virtual int actorExecute() override; | ||
virtual int draw() override; | ||
virtual int doDelete() override; | ||
|
||
STATE_FUNC_DECLARE(dAcOappearBridge_c, Wait); | ||
STATE_FUNC_DECLARE(dAcOappearBridge_c, Appear); | ||
STATE_FUNC_DECLARE(dAcOappearBridge_c, Disappear); | ||
|
||
private: | ||
static const f32 sMovementRate; | ||
|
||
nw4r::g3d::ResFile mResFile; | ||
m3d::smdl_c mModel; | ||
m3d::anmTexSrt_c mSrtAnm; | ||
m3d::anmMatClr_c mClrAnm; | ||
ActorCollision mCollision; | ||
STATE_MGR_DECLARE(dAcOappearBridge_c); | ||
ActorEventRelated mActorEvent; | ||
|
||
// TODO the weak IScnObjCallback functions are in the wrong order. | ||
// The vtable order is dtor, World, Mat, View, Opa, Xlu | ||
// and the emitted order is dtor, Xlu, Opa, View, Mat, World | ||
// but the order in the binary is dtor, Xlu, Opa, Mat, World, View | ||
dScnCallback_c mSceneCallback; | ||
/* 0x650 */ mVec3_c mSoundPosition; | ||
/* 0x65C */ f32 field_0x65C; | ||
/* 0x660 */ u8 mAreaIdx; | ||
/* 0x661 */ u8 mEventId; | ||
}; | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
#ifndef AREA_UTILS_H | ||
#define AREA_UTILS_H | ||
|
||
#include <m/m_vec.h> | ||
|
||
/* 800a9b00 */ bool checkPosInArea(void **AREA, const mVec3_c& pos); | ||
/* 800a9bd0 */ void *getAreaForIndexInRoom(s32 areaIndex, s32 roomId); | ||
/* 800a9c50 */ bool *checkPosInArea(s32 areaIndex, s32 roomId, const mVec3_c& pos, void **AREA); | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
#ifndef D_STAGE_RENDER_STUFF_H | ||
#define D_STAGE_RENDER_STUFF_H | ||
|
||
#include <d/a/obj/d_a_obj_base.h> | ||
#include <nw4r/g3d/g3d_scnobj.h> | ||
#include <m/m3d/m_scnleaf.h> | ||
|
||
class dScnCallback_c : public nw4r::g3d::IScnObjCallback { | ||
public: | ||
dScnCallback_c(dAcObjBase_c *arg): mpActor(arg) {} | ||
/* vt 0x10 */ virtual void ExecCallback_CALC_MAT(nw4r::g3d::ScnObj::Timing, nw4r::g3d::ScnObj *, u32, void *) override; | ||
|
||
/* 0x04 */ dAcObjBase_c *mpActor; | ||
/* 0x08 */ UNKWORD field_0x08; | ||
|
||
/* 8001a230 */ void attach(m3d::scnLeaf_c&); | ||
}; | ||
|
||
#endif |
Oops, something went wrong.