diff options
| author | Aetias <aetias@outlook.com> | 2024-04-30 19:10:44 +0200 |
|---|---|---|
| committer | Aetias <aetias@outlook.com> | 2024-04-30 19:10:44 +0200 |
| commit | 5fed1c8b0998680d7addd97282a8033c346e5613 (patch) | |
| tree | 3de6fe67d9191e0c363052a41c1ff882d36e9b32 /src | |
| parent | b046f33b3c30da618b494ac5be61a4e7ffc6e956 (diff) | |
Decomp `ItemManager::PlayItemFanfareSfx`
Diffstat (limited to 'src')
| -rw-r--r-- | src/00_Core/Item/ItemManager.cpp | 53 |
1 files changed, 52 insertions, 1 deletions
diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index b77717eb..f46fa040 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -716,7 +716,7 @@ THUMB void ItemManager::GiveItem(ItemId id) { this->GiveRupees(-50, true);
} break;
- case ItemId_Unk_0: break;
+ case ItemId_None: break;
case ItemId_Unk_5: break;
case ItemId_Unk_16: break;
case ItemId_Unk_131: break;
@@ -914,3 +914,54 @@ THUMB void ItemManager::LoadDungeonItemModels() { func_020196fc(mDungeonItemModels[i], unk2);
}
}
+
+extern unk32 data_ov00_020eec68;
+extern "C" void PlaySoundEffect(void *param1, SfxId sfx);
+THUMB void ItemManager::PlayItemFanfareSfx(ItemId item) {
+ if (gItemManager->mUnk_14c == true) {
+ gItemManager->mUnk_14c = false;
+ return;
+ }
+ SfxId sfx;
+ switch (item) {
+ case ItemId_PowerGem:
+ case ItemId_WisdomGem:
+ case ItemId_CourageGem: {
+ sfx = SfxId_FanfareGem;
+ } break;
+
+ case ItemId_GoldRupee: {
+ sfx = SfxId_FanfareGoldRupee;
+ } break;
+
+ case ItemId_SmallKey:
+ case ItemId_GreenRupee:
+ case ItemId_BlueRupee:
+ case ItemId_RedRupee: {
+ sfx = SfxId_FanfareRupee;
+ } break;
+
+ case ItemId_Rupoor10:
+ case ItemId_Rupoor50: {
+ sfx = SfxId_FanfareRupoor;
+ } break;
+
+ case ItemId_None:
+ case ItemId_HerosNewClothes: {
+ sfx = SfxId_FanfareNothing;
+ } break;
+
+ case ItemId_HeartContainer: {
+ sfx = SfxId_FanfareHeartContainer;
+ } break;
+
+ default: {
+ sfx = SfxId_FanfareDefault;
+ } break;
+ }
+ if (gItemManager->mUnk_11c != 0) {
+ sfx = gItemManager->mUnk_11c;
+ gItemManager->mUnk_11c = 0;
+ }
+ PlaySoundEffect(&data_ov00_020eec68, sfx);
+}
|
