d_a_obj_utajima_island OK (#73)

* d_a_obj_utajima_island OK

* Name one field

* mAngle constants
This commit is contained in:
robojumper
2024-10-20 15:59:15 +02:00
committed by GitHub
parent e6dd20ada1
commit 2577b3a537
12 changed files with 238 additions and 38 deletions
+1 -1
View File
@@ -206,7 +206,7 @@ public:
/* 8002d600 */ void FUN_8002d600();
/* 8002d630 */ void FUN_8002d630();
/* 8002d6d0 */ void FUN_8002d6d0();
/* 8002d710 */ void playSoundEffect1();
/* 8002d710 */ void playSoundEffect1(u16 effect);
/* 8002d740 */ void FUN_8002d740();
/* 8002d770 */ void FUN_8002d770();
/* 8002d7a0 */ void FUN_8002d7a0();
+40 -1
View File
@@ -1,7 +1,14 @@
#ifndef D_A_OBJ_UTAJIMA_ISLAND_H
#define D_A_OBJ_UTAJIMA_ISLAND_H
#include "d/a/d_a_base.h"
#include "d/a/obj/d_a_obj_base.h"
#include "d/a/obj/d_a_obj_utajima_main_mecha.h"
#include "d/col/bg/d_bg_w.h"
#include "m/m3d/m_smdl.h"
#include "m/m_angle.h"
#include "m/m_vec.h"
#include "nw4r/g3d/g3d_resfile.h"
#include "s/s_State.hpp"
#include "s/s_StateMgr.hpp"
@@ -10,10 +17,42 @@ public:
dAcOutajimaIsland_c() : mStateMgr(*this, sStateID::null) {}
virtual ~dAcOutajimaIsland_c() {}
virtual bool createHeap() override;
virtual int actorCreate() override;
virtual int actorPostCreate() override;
virtual int actorExecute() override;
virtual int doDelete() override;
virtual int draw() override;
STATE_FUNC_DECLARE(dAcOutajimaIsland_c, Wait);
private:
/* 0x??? */ STATE_MGR_DECLARE(dAcOutajimaIsland_c);
static const f32 floats[5];
static bool sPlatformsSettled;
void movePlatforms();
s32 getParm2() {
return ((params >> 4) & 0xF);
}
s32 getRingLayer() {
return params & 0xF;
}
/* 0x330 */ m3d::smdl_c mMdl;
/* 0x34C */ nw4r::g3d::ResFile mRes;
/* 0x350 */ dBgW mBgW;
/* 0x560 */ STATE_MGR_DECLARE(dAcOutajimaIsland_c);
/* 0x59C */ dAcRef_c<dAcOutajimaMainMecha_c> mMainMechaRef;
/* 0x5A8 */ mVec3_c mInitialPos;
/* 0x5B4 */ mAng3_c mInitialRot;
/* 0x5BA */ u8 mRingLayer;
/* 0x5BB */ u8 mParam2;
/* 0x5BC */ mAng field_0x5BC;
/* 0x5BE */ mAng3_c field_0x5BE;
/* 0x5C4 */ bool mIsMoving;
/* 0x5C5 */ bool mPlaySound;
};
#endif
+14
View File
@@ -37,6 +37,20 @@ struct mAng {
}
s16 mVal;
static mAng fromDeg(f32 deg) {
return deg * sDegToAng;
}
private:
static const f32 sHalfCircleDeg;
static const f32 sAngToDeg;
static const f32 sAngToRad;
static const f32 NotSure;
static const f32 sDegToRad;
static const f32 sDegToAng;
static const f32 sRadToAng;
static const f32 sRadToDeg;
};
class mAng3_c {
+1
View File
@@ -12,6 +12,7 @@ BOOL chase(short *value, short target, short stepSize);
BOOL chase(int *value, int target, int stepSize);
BOOL chase(float *value, float target, float stepSize);
BOOL chaseAngle(short *value, short target, short stepSize);
BOOL chaseAngle2(short *value, short target, short stepSize);
// Inofficial names
float extrapolate(float start, float end, float scale);