mirror of
https://github.com/zeldaret/ss
synced 2026-07-11 06:45:20 -04:00
Merge branch 'main' of https://github.com/zeldaret/ss into d_snd
This commit is contained in:
@@ -1,37 +0,0 @@
|
||||
#ifndef DECOMP_UNKNOWN_TYPES_H
|
||||
#define DECOMP_UNKNOWN_TYPES_H
|
||||
|
||||
#include "common.h"
|
||||
|
||||
// MOST LIKELY mVEC
|
||||
struct Vec3f {
|
||||
f32 x, y, z;
|
||||
};
|
||||
|
||||
struct Vec2f {
|
||||
f32 x, y;
|
||||
};
|
||||
|
||||
struct Vec3s {
|
||||
s16 x, y, z;
|
||||
};
|
||||
|
||||
struct ObjInfo {
|
||||
/* 0x00 */ char *name;
|
||||
/* 0x04 */ u16 obj_id;
|
||||
/* 0x06 */ u16 obj_id2;
|
||||
/* 0x08 */ u16 fiTextEntryId;
|
||||
/* 0x0A */ s8 unk_0xA;
|
||||
/* 0x0B */ u8 subtype;
|
||||
};
|
||||
|
||||
// is now fLiNdBa_c
|
||||
// struct ActorReference {
|
||||
// ActorReference* prev;
|
||||
// ActorReference* next;
|
||||
// fBase_c* link;
|
||||
// };
|
||||
|
||||
class UnkCollider {};
|
||||
|
||||
#endif
|
||||
@@ -1,13 +1,13 @@
|
||||
#ifndef D_A_BASE_H
|
||||
#define D_A_BASE_H
|
||||
|
||||
#include "UnknownTypeBelongings.h"
|
||||
#include "common.h"
|
||||
#include "d/d_base.h"
|
||||
#include "d/snd/d_snd_source_if.h"
|
||||
#include "m/m_allocator.h"
|
||||
#include "m/m_angle.h"
|
||||
#include "m/m_vec.h"
|
||||
#include "toBeSorted/actor_info.h"
|
||||
#include "toBeSorted/raii_ptr.h"
|
||||
#include "toBeSorted/tlist.h"
|
||||
|
||||
@@ -68,7 +68,7 @@ public:
|
||||
class dAcBase_c : public dBase_c {
|
||||
public:
|
||||
/* 0x68 */ mHeapAllocator_c heap_allocator;
|
||||
/* 0x84 */ ObjInfo *obj_info;
|
||||
/* 0x84 */ const ActorInfo *mpActorInfo;
|
||||
/* 0x88 */ TList<SoundInfo, 12> sound_list;
|
||||
/* 0x94 */ RaiiPtr<dSoundSourceIf_c> sound_source;
|
||||
/* 0x98 */ mVec3_c *obj_pos;
|
||||
@@ -176,10 +176,10 @@ public:
|
||||
// funcs found in TU
|
||||
/* 8002c650 */ static void setTempCreateParams(
|
||||
mVec3_c *pos, mAng3_c *rot, mVec3_c *scale, s32 roomId, u32 params2, dAcBase_c *parent, u8 subtype, u16 unkFlag,
|
||||
s8 viewClipIdx, ObjInfo *objInfo
|
||||
s8 viewClipIdx, const ActorInfo *actorInfo
|
||||
);
|
||||
|
||||
/* 8002c690 */ dSoundSourceIf_c *FUN_8002c690();
|
||||
/* 8002c690 */ dSoundSourceIf_c *createSoundSource();
|
||||
/* 8002c710 */ int initAllocatorWork1Heap(int size, char *name, int align);
|
||||
/* 8002c720 */ int initAllocator(int size, char *name, EGG::Heap *heap, int align);
|
||||
/* 8002c7b0 */ bool addActorToRoom(s32 roomId);
|
||||
@@ -266,7 +266,7 @@ public:
|
||||
/* 80575084 */ static mAng3_c *s_Create_Rotation;
|
||||
/* 80575088 */ static mVec3_c *s_Create_Scale;
|
||||
/* 8057508C */ static dAcBase_c *s_Create_Parent;
|
||||
/* 80575090 */ static ObjInfo *s_Create_ObjInfo;
|
||||
/* 80575090 */ static const ActorInfo *s_Create_ActorInfo;
|
||||
/* 80575094 */ static u8 s_Create_Subtype;
|
||||
};
|
||||
|
||||
|
||||
@@ -195,7 +195,7 @@ public:
|
||||
u32 roomId
|
||||
);
|
||||
/* 8002efa0 */ void fn_8002efa0();
|
||||
/* 8002eff0 */ bool fn_8002eff0(f32 *, s16 *, UnkCollider *, f32 *, f32 *);
|
||||
/* 8002eff0 */ bool fn_8002eff0(f32 *, s16 *, f32 *, f32 *, f32 *);
|
||||
/* 8002f190 */ void createChildAttached2(
|
||||
fProfile::PROFILE_NAME_e actorId, u32 params1, mVec3_c *pos, mAng3_c *rot, mVec3_c *scale, u32 params2,
|
||||
u32 roomId
|
||||
|
||||
@@ -2,13 +2,25 @@
|
||||
#define D_A_OBJ_DISTANT_SHIP_H
|
||||
|
||||
#include "d/a/obj/d_a_obj_base.h"
|
||||
#include "m/m3d/m_smdl.h"
|
||||
#include "nw4r/g3d/res/g3d_resfile.h"
|
||||
|
||||
class dAcOdistantShip_c : public dAcObjBase_c {
|
||||
public:
|
||||
dAcOdistantShip_c() {}
|
||||
virtual ~dAcOdistantShip_c() {}
|
||||
virtual int create() override;
|
||||
virtual int doDelete() override;
|
||||
virtual int draw() override;
|
||||
virtual bool createHeap() override;
|
||||
virtual int actorExecute() override;
|
||||
const char *getModelName();
|
||||
|
||||
private:
|
||||
/* 0x330 */ nw4r::g3d::ResFile mBrres;
|
||||
/* 0x334 */ m3d::smdl_c mModel;
|
||||
/* 0x350 */ u8 mSubtype;
|
||||
/* 0x351 */ bool mIsVisible;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
#define D_A_OBJ_IMPA_DOOR_H
|
||||
|
||||
#include "d/a/obj/d_a_obj_base.h"
|
||||
#include "m/m3d/m_smdl.h"
|
||||
#include "nw4r/g3d/res/g3d_resfile.h"
|
||||
#include "s/s_State.hpp"
|
||||
#include "s/s_StateMgr.hpp"
|
||||
|
||||
class dAcOimpaDoor_c : public dAcObjBase_c {
|
||||
public:
|
||||
@@ -12,8 +13,16 @@ public:
|
||||
|
||||
STATE_FUNC_DECLARE(dAcOimpaDoor_c, Wait);
|
||||
|
||||
virtual bool createHeap() override;
|
||||
virtual int create() override;
|
||||
virtual int doDelete() override;
|
||||
virtual int actorExecute() override;
|
||||
virtual int draw() override;
|
||||
|
||||
private:
|
||||
/* 0x??? */ STATE_MGR_DECLARE(dAcOimpaDoor_c);
|
||||
/* 0x330 */ nw4r::g3d::ResFile mResFile;
|
||||
/* 0x334 */ m3d::smdl_c mMdl;
|
||||
/* 0x350 */ STATE_MGR_DECLARE(dAcOimpaDoor_c);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -2,13 +2,25 @@
|
||||
#define D_A_OBJ_MOLE_COVER_H
|
||||
|
||||
#include "d/a/obj/d_a_obj_base.h"
|
||||
#include "d/col/bg/d_bg_w.h"
|
||||
#include "m/m3d/m_smdl.h"
|
||||
#include "nw4r/g3d/res/g3d_resfile.h"
|
||||
|
||||
class dAcOmoleCover_c : public dAcObjBase_c {
|
||||
public:
|
||||
dAcOmoleCover_c() {}
|
||||
virtual ~dAcOmoleCover_c() {}
|
||||
|
||||
virtual bool createHeap() override;
|
||||
virtual int create() override;
|
||||
virtual int doDelete() override;
|
||||
virtual int actorExecute() override;
|
||||
virtual int draw() override;
|
||||
|
||||
private:
|
||||
/* 0x330 */ nw4r::g3d::ResFile mResFile;
|
||||
/* 0x334 */ m3d::smdl_c mMdl;
|
||||
/* 0x350 */ dBgW mBgW;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -2,13 +2,26 @@
|
||||
#define D_A_OBJ_ROPE_BASE_H
|
||||
|
||||
#include "d/a/obj/d_a_obj_base.h"
|
||||
#include "m/m3d/m_smdl.h"
|
||||
#include "m/m_vec.h"
|
||||
#include "nw4r/g3d/res/g3d_resfile.h"
|
||||
|
||||
class dAcOropeBase_c : public dAcObjBase_c {
|
||||
public:
|
||||
dAcOropeBase_c() {}
|
||||
virtual ~dAcOropeBase_c() {}
|
||||
|
||||
virtual bool createHeap() override;
|
||||
virtual int create() override;
|
||||
virtual int doDelete() override;
|
||||
virtual int actorExecute() override;
|
||||
virtual int draw() override;
|
||||
|
||||
private:
|
||||
/* 0x330 */ nw4r::g3d::ResFile mResFile;
|
||||
/* 0x334 */ m3d::smdl_c mMdl;
|
||||
/* 0x350 */ mVec3_c mRopePos;
|
||||
/* 0x35C */ bool field_0x35C;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
+1
-1
@@ -90,7 +90,7 @@ public:
|
||||
group_type = m_tmpCtData.group_type;
|
||||
}
|
||||
|
||||
inline u32 getFromParams(u8 shift, u32 mask) {
|
||||
u32 getFromParams(u8 shift, u32 mask) {
|
||||
return (params >> shift) & mask;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
#ifndef D_ACTOR_INFO_H
|
||||
#define D_ACTOR_INFO_H
|
||||
|
||||
#include "common.h"
|
||||
|
||||
// TODO: Expand when we figure out what the other entries have in common
|
||||
enum SoundSourceType_e {
|
||||
// 0-1: Player (0)
|
||||
SND_SOURCE_PLAYER = 0,
|
||||
SND_SOURCE_PLAYER_HEAD = 1,
|
||||
|
||||
// 2-9: Equipment (1)
|
||||
SND_SOURCE_NET = 2,
|
||||
SND_SOURCE_BLADE = 3,
|
||||
SND_SOURCE_SHIELD = 4,
|
||||
SND_SOURCE_WHIP = 5,
|
||||
SND_SOURCE_BOOMERANG = 6,
|
||||
SND_SOURCE_ARROW = 7,
|
||||
SND_SOURCE_BOMB = 8,
|
||||
SND_SOURCE_HOOKSHOT = 9,
|
||||
|
||||
// 10-31: Enemy? (2)
|
||||
SND_SOURCE_BIGBOSS = 20,
|
||||
SND_SOURCE_GIRAHUMU_3 = 24,
|
||||
SND_SOURCE_BULLET = 29,
|
||||
|
||||
// 32-42: Object? (3)
|
||||
SND_SOURCE_OBJECT = 32,
|
||||
SND_SOURCE_BAMBOO = 34,
|
||||
SND_SOURCE_ITEM = 35,
|
||||
SND_SOURCE_TERRY_SHOP = 36,
|
||||
SND_SOURCE_TIME_STONE = 37,
|
||||
SND_SOURCE_CLEF = 38,
|
||||
SND_SOURCE_SHUTTER = 39,
|
||||
|
||||
// 43-52: Npc (4)
|
||||
SND_SOURCE_KENSEI = 44,
|
||||
SND_SOURCE_PLAYER_BIRD = 45,
|
||||
SND_SOURCE_INSECT = 49,
|
||||
SND_SOURCE_NPC_NRM = 51,
|
||||
SND_SOURCE_NPC_DRAGON = 52,
|
||||
|
||||
// 53: TagSound (5)
|
||||
SND_SOURCE_TG_SOUND = 53,
|
||||
|
||||
// 54-57: Harp Related (6)
|
||||
SND_SOURCE_OBJECT_WARP = 55,
|
||||
SND_SOURCE_SW_HARP = 56,
|
||||
|
||||
// 58: ? (7)
|
||||
|
||||
// 59: ? (9)
|
||||
};
|
||||
|
||||
/**
|
||||
* profileId and profileId2 are always the same.
|
||||
*/
|
||||
struct ActorInfo {
|
||||
/* 0x00 */ const char *name;
|
||||
/* 0x04 */ u16 profileId;
|
||||
/* 0x06 */ u16 profileId2;
|
||||
/* 0x08 */ u16 fiTextEntryId; // also used for kill counters
|
||||
/* 0x0A */ s8 soundSourceType;
|
||||
/* 0x0B */ u8 subtype;
|
||||
};
|
||||
|
||||
const ActorInfo *getActorInfoByName(const char *name);
|
||||
u16 getProfileIdForName(const char *name);
|
||||
u16 getProfileId2ForName(const char *name);
|
||||
const char *getNameForProfileId(u32 profileId);
|
||||
const char *getActorName(const ActorInfo *actorInfo);
|
||||
const ActorInfo *getActorInfoByProfileAndSubtype(u32 profileId, u32 subtype);
|
||||
s32 getSoundSourceTypeForName(const char *name);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user