mirror of
https://github.com/zeldaret/ss
synced 2026-06-09 04:29:58 -04:00
d_a_obj_utajima_island OK (#73)
* d_a_obj_utajima_island OK * Name one field * mAngle constants
This commit is contained in:
@@ -17,3 +17,6 @@ REL/global_destructor_chain.c:
|
||||
REL/d/a/obj/d_a_obj_utajima_island.cpp:
|
||||
.text start:0x000000F0 end:0x00000F28
|
||||
.ctors start:0x00000000 end:0x00000004
|
||||
.rodata start:0x00000000 end:0x00000034
|
||||
.data start:0x00000000 end:0x00000204
|
||||
.bss start:0x00000008 end:0x00000048
|
||||
|
||||
@@ -8,18 +8,18 @@ __dt__32sFState_c<19dAcOutajimaIsland_c>Fv = .text:0x000001D0; // type:function
|
||||
__dt__35sFStateFct_c<19dAcOutajimaIsland_c>Fv = .text:0x00000230; // type:function size:0x6C
|
||||
__dt__88sStateMgr_c<19dAcOutajimaIsland_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x000002A0; // type:function size:0xA0
|
||||
__dt__58sFStateMgr_c<19dAcOutajimaIsland_c,20sStateMethodUsr_FI_c>Fv = .text:0x00000340; // type:function size:0xA4
|
||||
AcOutajimaIsland__initModels = .text:0x000003F0; // type:function size:0xEC
|
||||
AcOutajimaIsland__init = .text:0x000004E0; // type:function size:0x180
|
||||
createHeap__19dAcOutajimaIsland_cFv = .text:0x000003F0; // type:function size:0xEC
|
||||
actorCreate__19dAcOutajimaIsland_cFv = .text:0x000004E0; // type:function size:0x180
|
||||
changeState__88sStateMgr_c<19dAcOutajimaIsland_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x00000660; // type:function size:0x10
|
||||
AcOutajimaIsland__init2 = .text:0x00000670; // type:function size:0x64
|
||||
fn_366_6E0 = .text:0x000006E0; // type:function size:0x8
|
||||
AcOutajimaIsland__update = .text:0x000006F0; // type:function size:0x5C
|
||||
actorPostCreate__19dAcOutajimaIsland_cFv = .text:0x00000670; // type:function size:0x64
|
||||
doDelete__19dAcOutajimaIsland_cFv = .text:0x000006E0; // type:function size:0x8
|
||||
actorExecute__19dAcOutajimaIsland_cFv = .text:0x000006F0; // type:function size:0x5C
|
||||
executeState__88sStateMgr_c<19dAcOutajimaIsland_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x00000750; // type:function size:0x10
|
||||
AcOutajimaIsland__draw = .text:0x00000760; // type:function size:0x28
|
||||
draw__19dAcOutajimaIsland_cFv = .text:0x00000760; // type:function size:0x28
|
||||
initializeState_Wait__19dAcOutajimaIsland_cFv = .text:0x00000790; // type:function size:0x4
|
||||
executeState_Wait__19dAcOutajimaIsland_cFv = .text:0x000007A0; // type:function size:0x134
|
||||
finalizeState_Wait__19dAcOutajimaIsland_cFv = .text:0x000008E0; // type:function size:0x4
|
||||
AcOutajimaIsland__movePlatforms = .text:0x000008F0; // type:function size:0x174
|
||||
movePlatforms__19dAcOutajimaIsland_cFv = .text:0x000008F0; // type:function size:0x174
|
||||
__dt__19dAcOutajimaIsland_cFv = .text:0x00000A70; // type:function size:0xE8
|
||||
getStateID__88sStateMgr_c<19dAcOutajimaIsland_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x00000B60; // type:function size:0x10
|
||||
build__35sFStateFct_c<19dAcOutajimaIsland_c>FRC12sStateIDIf_c = .text:0x00000B70; // type:function size:0x60
|
||||
@@ -42,19 +42,19 @@ isSameName__34sFStateID_c<19dAcOutajimaIsland_c>CFPCc = .text:0x00000EA0; // typ
|
||||
_ctors = .ctors:0x00000000; // type:label scope:global
|
||||
_dtors = .dtors:0x00000000; // type:label scope:global
|
||||
__destroy_global_chain_reference = .dtors:0x00000000; // type:object size:0x4 scope:global
|
||||
lbl_366_rodata_0 = .rodata:0x00000000; // type:object size:0x14 data:float
|
||||
lbl_366_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float
|
||||
lbl_366_rodata_18 = .rodata:0x00000018; // type:object size:0x8 data:double
|
||||
lbl_366_rodata_20 = .rodata:0x00000020; // type:object size:0x14 data:float
|
||||
g_profile_OBJ_UTAJIMA_ISLAND = .data:0x00000000; // type:object size:0x50 data:4byte
|
||||
lbl_366_data_50 = .data:0x00000050; // type:object size:0x28
|
||||
lbl_366_data_78 = .data:0x00000078; // type:object size:0x80
|
||||
lbl_366_data_F8 = .data:0x000000F8; // type:object size:0x30
|
||||
lbl_366_data_128 = .data:0x00000128; // type:object size:0x30
|
||||
lbl_366_data_158 = .data:0x00000158; // type:object size:0x18
|
||||
lbl_366_data_170 = .data:0x00000170; // type:object size:0x60
|
||||
lbl_366_data_1D0 = .data:0x000001D0; // type:object size:0x34
|
||||
floats__19dAcOutajimaIsland_c = .rodata:0x00000000; // type:object size:0x14 data:float
|
||||
lbl_366_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float
|
||||
lbl_366_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double
|
||||
lbl_366_rodata_20 = .rodata:0x00000020; // type:object size:0x14 scope:local data:float
|
||||
g_profile_OBJ_UTAJIMA_ISLAND = .data:0x00000000; // type:object size:0x10 data:4byte
|
||||
lbl_366_data_50 = .data:0x00000050; // type:object size:0x28 scope:local
|
||||
__vt__19dAcOutajimaIsland_c = .data:0x00000078; // type:object size:0x80
|
||||
__vt__58sFStateMgr_c<19dAcOutajimaIsland_c,20sStateMethodUsr_FI_c> = .data:0x000000F8; // type:object size:0x30
|
||||
__vt__88sStateMgr_c<19dAcOutajimaIsland_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x00000128; // type:object size:0x30
|
||||
__vt__35sFStateFct_c<19dAcOutajimaIsland_c> = .data:0x00000158; // type:object size:0x14
|
||||
__vt__32sFState_c<19dAcOutajimaIsland_c> = .data:0x00000170; // type:object size:0x18
|
||||
__vt__34sFStateID_c<19dAcOutajimaIsland_c> = .data:0x000001D0; // type:object size:0x34
|
||||
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
|
||||
lbl_366_bss_8 = .bss:0x00000008; // type:object size:0x1 data:byte
|
||||
lbl_366_bss_C = .bss:0x0000000C; // type:object size:0xC
|
||||
lbl_366_bss_18 = .bss:0x00000018; // type:object size:0x30 data:4byte
|
||||
sPlatformsSettled__19dAcOutajimaIsland_c = .bss:0x00000008; // type:object size:0x1 data:byte
|
||||
lbl_366_bss_C = .bss:0x0000000C; // type:object size:0xC scope:local
|
||||
StateID_Wait__19dAcOutajimaIsland_c = .bss:0x00000018; // type:object size:0x30 data:4byte
|
||||
|
||||
@@ -883,6 +883,7 @@ m/m_angle.cpp:
|
||||
.text start:0x802EE5F0 end:0x802EE6B8
|
||||
.ctors start:0x804DB8CC end:0x804DB8D0
|
||||
.sbss start:0x80575C08 end:0x80575C10
|
||||
.sdata2 start:0x8057CD90 end:0x8057CDB0
|
||||
|
||||
m/m_color_fader.cpp:
|
||||
.text start:0x802EE7E0 end:0x802EEB94
|
||||
|
||||
+10
-10
@@ -1075,7 +1075,7 @@ playSound__9dAcBase_cFUs = .text:0x8002D5D0; // type:function size:0x28
|
||||
FUN_8002d600__9dAcBase_cFv = .text:0x8002D600; // type:function size:0x28
|
||||
FUN_8002d630__9dAcBase_cFv = .text:0x8002D630; // type:function size:0x9C
|
||||
FUN_8002d6d0__9dAcBase_cFv = .text:0x8002D6D0; // type:function size:0x40
|
||||
playSoundEffect1__9dAcBase_cFv = .text:0x8002D710; // type:function size:0x28
|
||||
playSoundEffect1__9dAcBase_cFUs = .text:0x8002D710; // type:function size:0x28
|
||||
FUN_8002d740__9dAcBase_cFv = .text:0x8002D740; // type:function size:0x28
|
||||
FUN_8002d770__9dAcBase_cFv = .text:0x8002D770; // type:function size:0x28
|
||||
FUN_8002d7a0__9dAcBase_cFv = .text:0x8002D7A0; // type:function size:0x28
|
||||
@@ -17222,7 +17222,7 @@ chaseT<f>__4sLibFPfff_i = .text:0x802DECD0; // type:function size:0x64
|
||||
isInRange__4sLibFfff = .text:0x802DED40; // type:function size:0x4
|
||||
isInRangeT<f>__4sLibFfff_i = .text:0x802DED50; // type:function size:0x50
|
||||
chaseAngle__4sLibFPsss = .text:0x802DEDA0; // type:function size:0x64
|
||||
sLib__chaseAngle = .text:0x802DEE10; // type:function size:0x98
|
||||
chaseAngle2__4sLibFPsss = .text:0x802DEE10; // type:function size:0x98
|
||||
__ct__8sPhase_cFPPFPv_Q28sPhase_c15METHOD_RESULT_ei = .text:0x802DEEB0; // type:function size:0x14
|
||||
callMethod__8sPhase_cFPv = .text:0x802DEED0; // type:function size:0xA4
|
||||
vprintf_wrap = .text:0x802DEF80; // type:function size:0x8
|
||||
@@ -45914,14 +45914,14 @@ lbl_8057CD80 = .sdata2:0x8057CD80; // type:object size:0x4 data:float
|
||||
lbl_8057CD84 = .sdata2:0x8057CD84; // type:object size:0x4 data:float
|
||||
lbl_8057CD88 = .sdata2:0x8057CD88; // type:object size:0x4 data:float
|
||||
lbl_8057CD8C = .sdata2:0x8057CD8C; // type:object size:0x4 data:float
|
||||
lbl_8057CD90 = .sdata2:0x8057CD90; // type:object size:0x4 data:float
|
||||
lbl_8057CD94 = .sdata2:0x8057CD94; // type:object size:0x4 data:float
|
||||
lbl_8057CD98 = .sdata2:0x8057CD98; // type:object size:0x4 data:float
|
||||
lbl_8057CD9C = .sdata2:0x8057CD9C; // type:object size:0x4 data:float
|
||||
lbl_8057CDA0 = .sdata2:0x8057CDA0; // type:object size:0x4 data:float
|
||||
lbl_8057CDA4 = .sdata2:0x8057CDA4; // type:object size:0x4 data:float
|
||||
lbl_8057CDA8 = .sdata2:0x8057CDA8; // type:object size:0x4 data:float
|
||||
lbl_8057CDAC = .sdata2:0x8057CDAC; // type:object size:0x4 data:float
|
||||
sHalfCircleDeg__4mAng = .sdata2:0x8057CD90; // type:object size:0x4 data:float
|
||||
sAngToDeg__4mAng = .sdata2:0x8057CD94; // type:object size:0x4 data:float
|
||||
sAngToRad__4mAng = .sdata2:0x8057CD98; // type:object size:0x4 data:float
|
||||
NotSure__4mAng = .sdata2:0x8057CD9C; // type:object size:0x4 data:float
|
||||
sDegToRad__4mAng = .sdata2:0x8057CDA0; // type:object size:0x4 data:float
|
||||
sDegToAng__4mAng = .sdata2:0x8057CDA4; // type:object size:0x4 data:float
|
||||
sRadToAng__4mAng = .sdata2:0x8057CDA8; // type:object size:0x4 data:float
|
||||
sRadToDeg__4mAng = .sdata2:0x8057CDAC; // type:object size:0x4 data:float
|
||||
lbl_8057CDB0 = .sdata2:0x8057CDB0; // type:object size:0x4 data:float
|
||||
lbl_8057CDB8 = .sdata2:0x8057CDB8; // type:object size:0x8 data:double
|
||||
lbl_8057CDC0 = .sdata2:0x8057CDC0; // type:object size:0x4 data:float
|
||||
|
||||
+1
-1
@@ -1707,7 +1707,7 @@ config.libs = [
|
||||
Rel(NonMatching, "d_a_obj_updown_lava", "REL/d/a/obj/d_a_obj_updown_lava.cpp"),
|
||||
Rel(Matching, "d_a_obj_utajima", "REL/d/a/obj/d_a_obj_utajima.cpp"),
|
||||
Rel(
|
||||
NonMatching, "d_a_obj_utajima_island", "REL/d/a/obj/d_a_obj_utajima_island.cpp"
|
||||
Matching, "d_a_obj_utajima_island", "REL/d/a/obj/d_a_obj_utajima_island.cpp"
|
||||
),
|
||||
Rel(Matching, "d_a_obj_utajima_lv2", "REL/d/a/obj/d_a_obj_utajima_lv2.cpp"),
|
||||
Rel(
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -1,9 +1,141 @@
|
||||
#include "d/a/obj/d_a_obj_utajima_island.h"
|
||||
|
||||
#include "common.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_s.h"
|
||||
#include "f/f_base.h"
|
||||
#include "f/f_manager.h"
|
||||
#include "f/f_profile_name.h"
|
||||
#include "m/m_angle.h"
|
||||
#include "nw4r/g3d/g3d_resmdl.h"
|
||||
#include "s/s_Math.h"
|
||||
#include "toBeSorted/room_manager.h"
|
||||
|
||||
SPECIAL_ACTOR_PROFILE(OBJ_UTAJIMA_ISLAND, dAcOutajimaIsland_c, fProfile::OBJ_UTAJIMA_ISLAND, 0x1D2, 0, 6);
|
||||
|
||||
bool dAcOutajimaIsland_c::sPlatformsSettled;
|
||||
|
||||
STATE_DEFINE(dAcOutajimaIsland_c, Wait);
|
||||
|
||||
// ?????
|
||||
const f32 dAcOutajimaIsland_c::floats[] = {
|
||||
2500.0f, 1400.0f, 100000.0f, 3.67342e-39f, 9.0072003E15f,
|
||||
};
|
||||
|
||||
bool dAcOutajimaIsland_c::createHeap() {
|
||||
mRes = getOarcResFile("IslPuzIslet00");
|
||||
RoomManager::bindStageResToFile(&mRes);
|
||||
RoomManager::bindSkyCmnToResFile(&mRes);
|
||||
nw4r::g3d::ResMdl m = mRes.GetResMdl("IslPuzIslet00");
|
||||
|
||||
TRY_CREATE(mMdl.create(m, &heap_allocator, 0x120));
|
||||
|
||||
void *dzb = getOarcFile("IslPuzIslet00", "dzb/IslPuzIslet00.dzb");
|
||||
void *plc = getOarcFile("IslPuzIslet00", "dat/IslPuzIslet00.plc");
|
||||
updateMatrix();
|
||||
TRY_CREATE(!mBgW.Set((cBgD_t *)dzb, (PLC *)plc, cBgW::MOVE_BG_e, &mWorldMtx, &mScale));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
int dAcOutajimaIsland_c::actorCreate() {
|
||||
mInitialPos = position;
|
||||
mInitialRot = rotation;
|
||||
|
||||
mRingLayer = getRingLayer();
|
||||
mParam2 = getParm2();
|
||||
s32 v = getParm2() * 30;
|
||||
field_0x5BC = mAng::fromDeg(v);
|
||||
field_0x5BE.x = field_0x5BC;
|
||||
field_0x5BE.z = 0x88;
|
||||
field_0x5BE.y = 0x88;
|
||||
|
||||
movePlatforms();
|
||||
CREATE_ALLOCATOR(dAcOutajimaIsland_c);
|
||||
mBgW.SetCrrFunc(dBgS_MoveBGProc_Typical);
|
||||
dBgS::GetInstance()->Regist(&mBgW, this);
|
||||
mStateMgr.changeState(StateID_Wait);
|
||||
mMdl.setPriorityDraw(0x1C, 9);
|
||||
|
||||
mVec3_c min;
|
||||
mVec3_c max;
|
||||
mMdl.getBounds(&min, &max);
|
||||
boundingBox.Set(min, max);
|
||||
mCullingDistance = 500000.0f;
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
int dAcOutajimaIsland_c::actorPostCreate() {
|
||||
fBase_c *p = nullptr;
|
||||
do {
|
||||
p = fManager_c::searchBaseByProfName(fProfile::OBJ_UTAJIMA_MAIN_MECHA, p);
|
||||
if (p != nullptr) {
|
||||
mMainMechaRef.link(static_cast<dAcOutajimaMainMecha_c *>(p));
|
||||
}
|
||||
} while (p != nullptr);
|
||||
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
int dAcOutajimaIsland_c::doDelete() {
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
int dAcOutajimaIsland_c::actorExecute() {
|
||||
mStateMgr.executeState();
|
||||
updateMatrix();
|
||||
mMdl.setLocalMtx(mWorldMtx);
|
||||
mBgW.Move();
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
int dAcOutajimaIsland_c::draw() {
|
||||
drawModelType1(&mMdl);
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
void dAcOutajimaIsland_c::initializeState_Wait() {}
|
||||
void dAcOutajimaIsland_c::executeState_Wait() {}
|
||||
void dAcOutajimaIsland_c::executeState_Wait() {
|
||||
movePlatforms();
|
||||
if (mIsMoving) {
|
||||
mOldPosition.y += 1.0f;
|
||||
mPlaySound = true;
|
||||
sPlatformsSettled = false;
|
||||
}
|
||||
|
||||
if (mPlaySound) {
|
||||
if (mRingLayer == 1) {
|
||||
playSoundEffect1(0xC6E);
|
||||
} else if (mRingLayer == 2) {
|
||||
playSoundEffect1(0xC6F);
|
||||
} else if (mRingLayer == 3) {
|
||||
playSoundEffect1(0xC70);
|
||||
}
|
||||
|
||||
if (mOldPosition == position) {
|
||||
mPlaySound = false;
|
||||
if (mParam2 == 0 && !sPlatformsSettled) {
|
||||
playSound(0xC71);
|
||||
sPlatformsSettled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
void dAcOutajimaIsland_c::finalizeState_Wait() {}
|
||||
|
||||
void dAcOutajimaIsland_c::movePlatforms() {
|
||||
// What is going on here?
|
||||
s32 diff = field_0x5BC - field_0x5BE.x;
|
||||
if (mAng(diff) > mAng::fromDeg(90.0f)) {
|
||||
sLib::chase(&field_0x5BE.y.mVal, 0x7FFF, 1);
|
||||
} else {
|
||||
sLib::chase(&field_0x5BE.y.mVal, field_0x5BE.z, 1);
|
||||
}
|
||||
|
||||
sLib::chaseAngle2(&field_0x5BE.x.mVal, field_0x5BC, field_0x5BE.y);
|
||||
|
||||
rotation.y = mInitialRot.y - field_0x5BE.x;
|
||||
position.z = mInitialPos.z + ((mRingLayer - 1) * 1400.0f + 2500.0f) * rotation.y.cos();
|
||||
position.x = mInitialPos.x + ((mRingLayer - 1) * 1400.0f + 2500.0f) * rotation.y.sin();
|
||||
}
|
||||
|
||||
@@ -449,7 +449,7 @@ void dAcBase_c::FUN_8002d600() {}
|
||||
void dAcBase_c::FUN_8002d630() {}
|
||||
void dAcBase_c::FUN_8002d6d0() {}
|
||||
// currently named ActorBase__playSoundEffect1
|
||||
void dAcBase_c::playSoundEffect1() {}
|
||||
void dAcBase_c::playSoundEffect1(u16) {}
|
||||
void dAcBase_c::FUN_8002d740() {}
|
||||
void dAcBase_c::FUN_8002d770() {}
|
||||
void dAcBase_c::FUN_8002d7a0() {}
|
||||
|
||||
+11
-1
@@ -1,7 +1,17 @@
|
||||
#include "m/m_angle.h"
|
||||
#include "math.h"
|
||||
|
||||
/** 80575c08 */
|
||||
mAng3_c mAng3_c::Zero = mAng3_c::mAng3_c(0, 0, 0);
|
||||
mAng3_c mAng3_c::Zero = mAng3_c(0, 0, 0);
|
||||
|
||||
const f32 mAng::sHalfCircleDeg = 360.0f / 2;
|
||||
const f32 mAng::sAngToDeg = 360.0f / (1 << 16);
|
||||
const f32 mAng::sAngToRad = 2 * M_PI / (1 << 16);
|
||||
const f32 mAng::NotSure = 2.0f / (1 << 16);
|
||||
const f32 mAng::sDegToRad = M_PI / 180.0f;
|
||||
const f32 mAng::sDegToAng = (1 << 16) / 360.0f;
|
||||
const f32 mAng::sRadToAng = (1 << 16) / (2 * M_PI);
|
||||
const f32 mAng::sRadToDeg = 180.0f / M_PI;
|
||||
|
||||
/** 802ee5f0 */
|
||||
s32 mAng::step(s16 target, s32 steps, s16 max, s16 min) {
|
||||
|
||||
Reference in New Issue
Block a user