Skip to content
Closed
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
3 changes: 2 additions & 1 deletion include/Shiraiwa/Coord3D.h
Original file line number Diff line number Diff line change
Expand Up @@ -60,13 +60,14 @@ class TPathMove {
void checkReachTarget();

// Inline/Unused
u16 get_8() const { return _8; }
void setTargetNode(f32, f32);
void setTargetNode(u16);
void getNodeDir(u16, JGeometry::TVec3f *);

protected:
const CrsData::SObject *mpObj; // 04
s16 _8; //
u16 _8; //
JGeometry::TVec3f *mpPos; // 0c
JGeometry::TVec3f *mpVel; // 10
f32 _14;
Expand Down
43 changes: 43 additions & 0 deletions include/Shiraiwa/Objects/MapObjWall.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
#ifndef MAPOBJWALL_H
#define MAPOBJWALL_H

#include <JSystem/J3D.h>
#include <JSystem/JKernel/JKRHeap.h>

#include "Kaneshige/Course/CrsData.h"
#include "Sato/StateObserver.h"
#include "Shiraiwa/Coord3D.h"
#include "Shiraiwa/Objects/MapObjHioNode.h"

#include "types.h"

class TMapObjWall : public TMapObjHioNode, public StateObserver
{
public:
// Global
TMapObjWall(const CrsData::SObject &); // 0x802a5284
virtual ~TMapObjWall(); // 0x802a534c
virtual void reset(); // 0x802a53f4
virtual const char *getBmdFileName(); // 0x802a5508
virtual void loadAnimation(); // 0x802a5530
virtual void createModel(JKRSolidHeap *, u32); // 0x802a5598
virtual void calc(); // 0x802a56dc
virtual void InitExec(); // 0x802a5758
virtual void MoveExec(); // 0x802a57c4
void initFunc_Move(); // 0x802a5830
void doFunc_Move(); // 0x802a58bc
void initFunc_Rest(); // 0x802a5908
void doFunc_Rest(); // 0x802a590c
virtual void createColModel(J3DModelData *); // 0x802a5964

static StateFuncSet<TMapObjWall> sTable[2]; // 0x803a5978
static bool sUseBca; // 0x80415238
static J3DAnmTransform *sWlWallBckAnmTrans; // 0x80416ec8
static J3DMtxCalc *sWlWallBckMtxCalc; // 0x80416ecc

private:
TPathMove *mPathMove; // 158
u16 mRestFrame; // 15C
}; // Size: 0x160

#endif // MAPOBJWALL_H
53 changes: 53 additions & 0 deletions src/Shiraiwa/MapObjWall.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#include "Shiraiwa/Objects/MapObjWall.h"

J3DAnmTransform *TMapObjWall::sWlWallBckAnmTrans;
J3DMtxCalc *TMapObjWall::sWlWallBckMtxCalc;

bool TMapObjWall::sUseBca = true;

StateObserver::StateFuncSet<TMapObjWall> TMapObjWall::sTable[2] = {
{0, &TMapObjWall::initFunc_Move, &TMapObjWall::doFunc_Move},
{1, &TMapObjWall::initFunc_Rest, &TMapObjWall::doFunc_Rest},
};

TMapObjWall::TMapObjWall(const CrsData::SObject &obj) : TMapObjHioNode(obj) {
NewAnmCtrl();
createSoundMgr();
mPathMove = new TPathMove(&obj);
reset();
}

TMapObjWall::~TMapObjWall() {}

void TMapObjWall::reset() {}

const char *TMapObjWall::getBmdFileName() {
static const char *cBmdName = "/Objects/wl_wall1.bmd";
return cBmdName;
}

void TMapObjWall::loadAnimation() {}

void TMapObjWall::createModel(JKRSolidHeap *, u32) {}

void TMapObjWall::calc() {}

void TMapObjWall::InitExec() {}

void TMapObjWall::MoveExec() {}

void TMapObjWall::initFunc_Move() {}

void TMapObjWall::doFunc_Move() {}

void TMapObjWall::initFunc_Rest() {}

void TMapObjWall::doFunc_Rest() {
if (IsPathMove()) {
if (mPathMove->get_8() == 0 || getStateCount() > mRestFrame) {
setState(0);
}
}
}

void TMapObjWall::createColModel(J3DModelData *) {}
Loading