mirror of
https://github.com/zeldaret/ss
synced 2026-05-30 00:46:41 -04:00
76 lines
1.8 KiB
C
76 lines
1.8 KiB
C
#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
|