mirror of
https://github.com/zeldaret/ph
synced 2026-08-18 13:22:45 -04:00
Merge branch 'main' into match_actor_rupee
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
#include "Item/ItemManager.hpp"
|
||||
|
||||
extern u32 *data_027e0ce0[];
|
||||
static const char *sShipPartTypes[] = { "anc", "bow", "hul", "can", "dco", "pdl", "fnl", "brg" };
|
||||
|
||||
extern u32 *data_027e0ce0[];
|
||||
THUMB ItemManager* ItemManager::Create() {
|
||||
gItemManager = new(data_027e0ce0[1], 4) ItemManager();
|
||||
return gItemManager;
|
||||
@@ -235,8 +236,7 @@ extern "C" unk32 func_ov00_02078b40(UnkStruct_027e0d38 *param1);
|
||||
extern void *data_027e10a4;
|
||||
extern "C" bool func_ov15_02136670(void *param1);
|
||||
extern unk8 data_ov29_0217a4ac[];
|
||||
extern void *data_027e0e60;
|
||||
extern "C" bool func_ov00_020849f8(void *param1);
|
||||
extern "C" bool _ZN10MapManager18func_ov00_020849f8Ei(void *param1);
|
||||
extern unk32 data_027e0fc8;
|
||||
extern "C" bool func_ov00_020bbd80(unk32 param1, unk32 param2);
|
||||
extern "C" bool _ZNK11ItemManager7HasItemEi();
|
||||
@@ -254,7 +254,7 @@ ARM bool NONMATCH(ItemManager::func_ov00_020ad790)(unk32 param1) {
|
||||
}
|
||||
|
||||
ItemFlag equipId = mForcedItem;
|
||||
bool unk2 = !func_ov00_020849f8(data_027e0e60);
|
||||
bool unk2 = !gMapManager->func_ov00_020849f8();
|
||||
if (
|
||||
mEquippedItem != ItemFlag_None &&
|
||||
(unk2 || (u32) mEquippedItem - 9 <= 1) &&
|
||||
@@ -380,3 +380,703 @@ THUMB void ItemManager::RemoveItem(ItemFlag item) {
|
||||
(*mAmmo)[item] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
extern ItemModel **data_027e1058;
|
||||
extern ItemModel **data_027e105c;
|
||||
extern "C" ItemModel* func_ov00_02079ffc(void*, const char *modelName, const char *textureName, unk32 param4, unk8 param5, unk8 param6, bool param7);
|
||||
extern "C" ItemModel* LoadTreasureItemFanfare(ItemModel**, s32 treasureType, bool, bool);
|
||||
static char *sDefaultItemModel = "key";
|
||||
static char *sItemModelNames[70] = {
|
||||
[ItemId_Nothing] = "key",
|
||||
[ItemId_SmallKey] = "key",
|
||||
[ItemId_GreenRupee] = "rupee_g",
|
||||
[ItemId_OshusSword] = "swA",
|
||||
[ItemId_WoodenShield] = "shA",
|
||||
[ItemId_Unk_5] = NULL,
|
||||
[ItemId_Unk_6] = "force_y",
|
||||
[ItemId_BombBag] = "bomb\0\0\0",
|
||||
[ItemId_Bow] = "bow",
|
||||
[ItemId_BigGreenRupee] = "rupee_g",
|
||||
[ItemId_HeartContainer] = "heart_utu\0\0",
|
||||
[ItemId_Unk_11] = NULL,
|
||||
[ItemId_Boomerang] = "boomerang\0\0",
|
||||
[ItemId_Scoop] = "scp",
|
||||
[ItemId_BombchuBag] = "bomchu\0",
|
||||
[ItemId_BossKey] = "bosskey",
|
||||
[ItemId_Unk_16] = "rev_bin",
|
||||
[ItemId_Unk_17] = NULL,
|
||||
[ItemId_PhantomHourglass] = NULL,
|
||||
[ItemId_SWSeaChart] = "mapSea\0",
|
||||
[ItemId_NWSeaChart] = "mapSea\0",
|
||||
[ItemId_SESeaChart] = "mapSea\0",
|
||||
[ItemId_NESeaChart] = "mapSea\0",
|
||||
[ItemId_Unk_23] = NULL,
|
||||
[ItemId_BlueRupee] = "rupee_b",
|
||||
[ItemId_RedRupee] = "rupee_r",
|
||||
[ItemId_BigRedRupee] = "rupee_r",
|
||||
[ItemId_GoldRupee] = "rupee_go\0\0\0",
|
||||
[ItemId_Unk_28] = "force_y",
|
||||
[ItemId_Unk_29] = "force_r",
|
||||
[ItemId_Unk_30] = "force_b",
|
||||
[ItemId_Hammer] = "ham",
|
||||
[ItemId_Rope] = "rope\0\0\0",
|
||||
[ItemId_SquareCrystal] = "cstl_c\0",
|
||||
[ItemId_RoundCrystal] = "cstl_s\0",
|
||||
[ItemId_TriangleCrystal] = "cstl_t\0",
|
||||
[ItemId_FishingRod] = "fp\0",
|
||||
[ItemId_Cannon] = NULL,
|
||||
[ItemId_SunKey] = "key_su\0",
|
||||
[ItemId_Unk_39] = NULL,
|
||||
[ItemId_Quiver] = "arrowpod\0\0\0",
|
||||
[ItemId_BigBombBag] = "bmbagM\0",
|
||||
[ItemId_BigBombchuBag] = "bcbagM\0",
|
||||
[ItemId_Unk_43] = NULL,
|
||||
[ItemId_KingsKey] = "key_ki\0",
|
||||
[ItemId_PowerGem] = "minaP\0\0",
|
||||
[ItemId_WisdomGem] = "minaC\0\0",
|
||||
[ItemId_CourageGem] = "minaY\0\0",
|
||||
[ItemId_PinkCoral] = NULL,
|
||||
[ItemId_WhitePearlLoop] = NULL,
|
||||
[ItemId_DarkPearlLoop] = NULL,
|
||||
[ItemId_ZoraScale] = NULL,
|
||||
[ItemId_GoronAmber] = NULL,
|
||||
[ItemId_RutoCrown] = NULL,
|
||||
[ItemId_HelmarocPlume] = NULL,
|
||||
[ItemId_RegalRing] = NULL,
|
||||
[ItemId_GhostKey] = "key_gh\0",
|
||||
[ItemId_FreebieCard] = "tic_tada\0\0\0",
|
||||
[ItemId_ComplimentCard] = "tic_ohome\0\0",
|
||||
[ItemId_ComplimentaryCard] = "tic_rare\0\0\0",
|
||||
[ItemId_RegalNecklace] = "neckl\0\0",
|
||||
[ItemId_SalvageArm] = "slvarm\0",
|
||||
[ItemId_HerosNewClothes] = NULL,
|
||||
[ItemId_Kaleidoscope] = "telescope\0\0",
|
||||
[ItemId_GuardNotebook] = "notebook\0\0\0",
|
||||
[ItemId_JolenesLetter] = "letter\0",
|
||||
[ItemId_PrizePostcard] = "card\0\0\0",
|
||||
[ItemId_WoodHeart] = "marron\0",
|
||||
[ItemId_PhantomSwordBlade] = "swBedge",
|
||||
[ItemId_PhantomSword] = NULL,
|
||||
};
|
||||
static char *sItemModelNames2[8] = {
|
||||
[ItemId_SwordsmanScroll - ItemId_SwordsmanScroll] = "makimono\0\0\0",
|
||||
[ItemId_Crimsonine - ItemId_SwordsmanScroll] = "hagaH\0\0",
|
||||
[ItemId_Azurine - ItemId_SwordsmanScroll] = "hagaK\0\0",
|
||||
[ItemId_Aquanine - ItemId_SwordsmanScroll] = "hagaS\0\0",
|
||||
[ItemId_RedPotion - ItemId_SwordsmanScroll] = "rev_bin",
|
||||
[ItemId_PurplePotion - ItemId_SwordsmanScroll] = "rev_binP\0\0\0",
|
||||
[ItemId_YellowPotion - ItemId_SwordsmanScroll] = "rev_binY\0\0\0",
|
||||
[ItemId_SandOfHours - ItemId_SwordsmanScroll] = "sand_m\0",
|
||||
};
|
||||
static char *sItemModelNames3[9] = {
|
||||
[ItemId_CycloneSlate - ItemId_CycloneSlate] = "compass",
|
||||
[ItemId_Unk_128 - ItemId_CycloneSlate] = "lure\0\0\0",
|
||||
[ItemId_Rupoor10 - ItemId_CycloneSlate] = "rupee_bb\0\0\0",
|
||||
[ItemId_Rupoor50 - ItemId_CycloneSlate] = "rupee_bb\0\0\0",
|
||||
[ItemId_Unk_131 - ItemId_CycloneSlate] = NULL,
|
||||
[ItemId_Unk_132 - ItemId_CycloneSlate] = NULL,
|
||||
[ItemId_Unk_133 - ItemId_CycloneSlate] = NULL,
|
||||
[ItemId_Unk_134 - ItemId_CycloneSlate] = NULL,
|
||||
[ItemId_Unk_135 - ItemId_CycloneSlate] = NULL,
|
||||
};
|
||||
char *sSpecialItemModelNames[7] = {
|
||||
"mapTakara\0\0",
|
||||
"arrowpodL\0\0",
|
||||
"bmbagL\0",
|
||||
"bcbagL\0",
|
||||
"Player/get/gd_\0",
|
||||
".nsbmd\0",
|
||||
".nsbtx\0",
|
||||
};
|
||||
THUMB void ItemManager::LoadFanfareItem(ItemId id) {
|
||||
mFanfareItem = id;
|
||||
|
||||
ItemModel *model;
|
||||
if (
|
||||
id == ItemId_Unk_43 ||
|
||||
id == ItemId_Cannon ||
|
||||
(id >= ItemId_GOLDEN_SHIP_START && id <= ItemId_GOLDEN_SHIP_END) ||
|
||||
id == ItemId_Unk_126 ||
|
||||
id == ItemId_Unk_133
|
||||
) {
|
||||
model = *data_027e1058;
|
||||
} else if (
|
||||
id >= ItemId_TREASURE_START &&
|
||||
id <= ItemId_TREASURE_END
|
||||
) {
|
||||
model = LoadTreasureItemFanfare(data_027e105c, id - ItemId_TREASURE_START, true, false);
|
||||
} else if (id == ItemId_Unk_125) {
|
||||
model = *data_027e105c;
|
||||
} else {
|
||||
char modelName[0x80] = {};
|
||||
char textureName[0x80] = {};
|
||||
const char *itemName = NULL;
|
||||
if (id == ItemId_Quiver && (s32) mQuiverSize >= 1) {
|
||||
itemName = sSpecialItemModelNames[1];
|
||||
} else if (id == ItemId_BigBombBag && (s32) mBombBagSize >= 1) {
|
||||
itemName = sSpecialItemModelNames[2];
|
||||
} else if (id == ItemId_BigBombchuBag && (s32) mBombchuBagSize >= 1) {
|
||||
itemName = sSpecialItemModelNames[3];
|
||||
} else if (id == ItemId_HerosNewClothes) {
|
||||
itemName = sShipPartTypes[11];
|
||||
} else if (id < ItemId_Unk_70) {
|
||||
itemName = sItemModelNames[id];
|
||||
} else if (id >= ItemId_SwordsmanScroll && id < ItemId_GoldenChimney) {
|
||||
itemName = sItemModelNames2[id - ItemId_SwordsmanScroll];
|
||||
} else if (id >= ItemId_CycloneSlate && id < ItemId_Unk_136) {
|
||||
itemName = sItemModelNames3[id - ItemId_CycloneSlate];
|
||||
} else if (id >= ItemId_TREASURE_CHART_START && id <= ItemId_TREASURE_CHART_END) {
|
||||
itemName = sSpecialItemModelNames[0];
|
||||
}
|
||||
if (!itemName) {
|
||||
itemName = sDefaultItemModel;
|
||||
}
|
||||
strcat(modelName, sSpecialItemModelNames[4]);
|
||||
strcat(modelName, itemName);
|
||||
strcat(modelName, sSpecialItemModelNames[5]);
|
||||
strcat(textureName, sSpecialItemModelNames[4]);
|
||||
strcat(textureName, itemName);
|
||||
strcat(textureName, sSpecialItemModelNames[6]);
|
||||
model = func_ov00_02079ffc(mFanfareItemModel, modelName, textureName, 0, 0, 0, true);
|
||||
}
|
||||
mUnk_114->vfunc_0c(model);
|
||||
}
|
||||
|
||||
THUMB bool ItemManager::GetFanfareItemScale(Vec3p *scale) const {
|
||||
switch (mFanfareItem) {
|
||||
case ItemId_BigGreenRupee:
|
||||
case ItemId_BigRedRupee:
|
||||
case ItemId_GoldRupee:
|
||||
case ItemId_Rupoor50:
|
||||
scale->x = FLOAT_TO_Q20(1.4);
|
||||
scale->y = FLOAT_TO_Q20(1.4);
|
||||
scale->z = FLOAT_TO_Q20(1.4);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
extern "C" void GiveShipPart(ShipPart part, ShipType type);
|
||||
extern "C" void EquipLinebeckCannon();
|
||||
THUMB void ItemManager::GiveItem(ItemId id) {
|
||||
switch (id) {
|
||||
case ItemId_SmallKey: {
|
||||
this->GiveKeys(1);
|
||||
} break;
|
||||
|
||||
case ItemId_GreenRupee: {
|
||||
this->GiveRupees(1, true);
|
||||
} break;
|
||||
|
||||
case ItemId_BlueRupee: {
|
||||
this->GiveRupees(5, true);
|
||||
} break;
|
||||
|
||||
case ItemId_RedRupee: {
|
||||
this->GiveRupees(20, true);
|
||||
} break;
|
||||
|
||||
case ItemId_BigGreenRupee: {
|
||||
this->GiveRupees(100, true);
|
||||
} break;
|
||||
|
||||
case ItemId_BigRedRupee: {
|
||||
this->GiveRupees(200, true);
|
||||
} break;
|
||||
|
||||
case ItemId_GoldRupee: {
|
||||
this->GiveRupees(300, true);
|
||||
} break;
|
||||
|
||||
case ItemId_OshusSword: {
|
||||
SET_FLAG(mItemFlags.flags, ItemFlag_OshusSword);
|
||||
this->GetEquipItem(ItemFlag_OshusSword)->GiveAmmo(1);
|
||||
} break;
|
||||
|
||||
case ItemId_WoodenShield: {
|
||||
SET_FLAG(mItemFlags.flags, ItemFlag_WoodenShield);
|
||||
this->GetEquipItem(ItemFlag_WoodenShield)->GiveAmmo(1);
|
||||
} break;
|
||||
|
||||
case ItemId_BombBag: {
|
||||
this->GiveEquipItem(ItemFlag_BombBag, 10);
|
||||
} break;
|
||||
|
||||
case ItemId_BombchuBag: {
|
||||
this->GiveEquipItem(ItemFlag_BombchuBag, 10);
|
||||
} break;
|
||||
|
||||
case ItemId_Bow: {
|
||||
this->GiveEquipItem(ItemFlag_Bow, 20);
|
||||
} break;
|
||||
|
||||
case ItemId_Boomerang: {
|
||||
this->GiveEquipItem(ItemFlag_Boomerang, 1);
|
||||
} break;
|
||||
|
||||
case ItemId_Scoop: {
|
||||
this->GiveEquipItem(ItemFlag_Shovel, 1);
|
||||
} break;
|
||||
|
||||
case ItemId_Hammer: {
|
||||
this->GiveEquipItem(ItemFlag_Hammer, 1);
|
||||
} break;
|
||||
|
||||
case ItemId_Rope: {
|
||||
this->GiveEquipItem(ItemFlag_GrapplingHook, 1);
|
||||
} break;
|
||||
|
||||
case ItemId_PhantomHourglass: {
|
||||
SET_FLAG(mItemFlags.flags, ItemFlag_Hourglass);
|
||||
gAdventureFlags->Set(AdventureFlag_Hourglass, true);
|
||||
} break;
|
||||
|
||||
case ItemId_SWSeaChart: {
|
||||
SET_FLAG(mItemFlags.flags, ItemFlag_SeaChartSW);
|
||||
gAdventureFlags->Set(AdventureFlag_SWSeaChart, true);
|
||||
} break;
|
||||
|
||||
case ItemId_NWSeaChart: {
|
||||
SET_FLAG(mItemFlags.flags, ItemFlag_SeaChartNW);
|
||||
gAdventureFlags->Set(AdventureFlag_NWSeaChart, true);
|
||||
} break;
|
||||
|
||||
case ItemId_SESeaChart: {
|
||||
SET_FLAG(mItemFlags.flags, ItemFlag_SeaChartSE);
|
||||
gAdventureFlags->Set(AdventureFlag_SESeaChart, true);
|
||||
} break;
|
||||
|
||||
case ItemId_NESeaChart: {
|
||||
SET_FLAG(mItemFlags.flags, ItemFlag_SeaChartNE);
|
||||
gAdventureFlags->Set(AdventureFlag_NESeaChart, true);
|
||||
} break;
|
||||
|
||||
case ItemId_FishingRod: {
|
||||
SET_FLAG(mItemFlags.flags, ItemFlag_FishingRod);
|
||||
gAdventureFlags->Set(AdventureFlag_FishingRod, true);
|
||||
} break;
|
||||
|
||||
case ItemId_Cannon: {
|
||||
SET_FLAG(mItemFlags.flags, ItemFlag_Cannon);
|
||||
gAdventureFlags->Set(AdventureFlag_Cannon, true);
|
||||
GiveShipPart(ShipPart_Cannon, ShipType_Linebeck);
|
||||
EquipLinebeckCannon();
|
||||
} break;
|
||||
|
||||
case ItemId_SunKey: {
|
||||
SET_FLAG(mItemFlags.flags, ItemFlag_SunKey);
|
||||
gAdventureFlags->Set(AdventureFlag_SunKey, true);
|
||||
} break;
|
||||
|
||||
case ItemId_Unk_39: {
|
||||
SET_FLAG(mItemFlags.flags, ItemFlag_Unk_39);
|
||||
gAdventureFlags->Set(AdventureFlag_Unk_23, true);
|
||||
} break;
|
||||
|
||||
case ItemId_Quiver: {
|
||||
this->UpgradeQuiver();
|
||||
} break;
|
||||
|
||||
case ItemId_BigBombBag: {
|
||||
this->UpgradeBombBag();
|
||||
} break;
|
||||
|
||||
case ItemId_BigBombchuBag: {
|
||||
this->UpgradeBombchuBag();
|
||||
} break;
|
||||
|
||||
case ItemId_KingsKey: {
|
||||
SET_FLAG(mItemFlags.flags, ItemFlag_KingsKey);
|
||||
} break;
|
||||
|
||||
case ItemId_GhostKey: {
|
||||
SET_FLAG(mItemFlags.flags, ItemFlag_GhostKey);
|
||||
} break;
|
||||
|
||||
case ItemId_PowerGem: {
|
||||
mNumGems[Gem_Power] += 1;
|
||||
} break;
|
||||
|
||||
case ItemId_WisdomGem: {
|
||||
mNumGems[Gem_Wisdom] += 1;
|
||||
} break;
|
||||
|
||||
case ItemId_CourageGem: {
|
||||
mNumGems[Gem_Courage] += 1;
|
||||
} break;
|
||||
|
||||
case ItemId_SalvageArm: {
|
||||
SET_FLAG(mItemFlags.flags, ItemFlag_SalvageArm);
|
||||
gAdventureFlags->Set(AdventureFlag_SalvageArm, true);
|
||||
gHealthManager->mSalvageArmHealth = 5;
|
||||
} break;
|
||||
|
||||
case ItemId_SwordsmanScroll: {
|
||||
SET_FLAG(mItemFlags.flags, ItemFlag_SwordsmansScroll);
|
||||
} break;
|
||||
|
||||
case ItemId_Crimsonine: {
|
||||
gAdventureFlags->Set(AdventureFlag_Crimsonine, true);
|
||||
} break;
|
||||
|
||||
case ItemId_Azurine: {
|
||||
gAdventureFlags->Set(AdventureFlag_Azurine, true);
|
||||
} break;
|
||||
|
||||
case ItemId_Aquanine: {
|
||||
gAdventureFlags->Set(AdventureFlag_Aquanine, true);
|
||||
} break;
|
||||
|
||||
case ItemId_SpiritOfPowerUpgradeLvl1: {
|
||||
SET_FLAG(mItemFlags.flags, ItemFlag_PowerLv1);
|
||||
} break;
|
||||
|
||||
case ItemId_SpiritOfWisdomUpgradeLvl1: {
|
||||
SET_FLAG(mItemFlags.flags, ItemFlag_WisdomLv1);
|
||||
} break;
|
||||
|
||||
case ItemId_SpiritOfCourageUpgradeLvl1: {
|
||||
SET_FLAG(mItemFlags.flags, ItemFlag_CourageLv1);
|
||||
} break;
|
||||
|
||||
case ItemId_SpiritOfPowerUpgradeLvl2: {
|
||||
SET_FLAG(mItemFlags.flags, ItemFlag_PowerLv2);
|
||||
} break;
|
||||
|
||||
case ItemId_SpiritOfWisdomUpgradeLvl2: {
|
||||
SET_FLAG(mItemFlags.flags, ItemFlag_WisdomLv2);
|
||||
} break;
|
||||
|
||||
case ItemId_SpiritOfCourageUpgradeLvl2: {
|
||||
SET_FLAG(mItemFlags.flags, ItemFlag_CourageLv2);
|
||||
} break;
|
||||
|
||||
case ItemId_RedPotion: {
|
||||
for (s32 i = 0; i < MAX_POTIONS; ++i) {
|
||||
if (mPotions[i] != Potion_None) continue;
|
||||
this->SetPotion(i, Potion_Red);
|
||||
break;
|
||||
}
|
||||
} break;
|
||||
|
||||
case ItemId_PurplePotion: {
|
||||
for (s32 i = 0; i < MAX_POTIONS; ++i) {
|
||||
if (mPotions[i] != Potion_None) continue;
|
||||
this->SetPotion(i, Potion_Purple);
|
||||
break;
|
||||
}
|
||||
} break;
|
||||
|
||||
case ItemId_YellowPotion: {
|
||||
for (s32 i = 0; i < MAX_POTIONS; ++i) {
|
||||
if (mPotions[i] != Potion_None) continue;
|
||||
this->SetPotion(i, Potion_Yellow);
|
||||
break;
|
||||
}
|
||||
} break;
|
||||
|
||||
case ItemId_SandOfHours: {
|
||||
mHourglassSandFrames += 3600;
|
||||
} break;
|
||||
|
||||
case ItemId_GoldenChimney: {
|
||||
gAdventureFlags->Set(AdventureFlag_ReceivedGoldenChimney, true);
|
||||
GiveShipPart(ShipPart_Chimney, ShipType_Golden);
|
||||
} break;
|
||||
|
||||
case ItemId_GoldenHandrail: {
|
||||
gAdventureFlags->Set(AdventureFlag_ReceivedGoldenHandrail, true);
|
||||
GiveShipPart(ShipPart_Handrail, ShipType_Golden);
|
||||
} break;
|
||||
|
||||
case ItemId_GoldenCannon: {
|
||||
gAdventureFlags->Set(AdventureFlag_ReceivedGoldenCannon, true);
|
||||
GiveShipPart(ShipPart_Cannon, ShipType_Golden);
|
||||
} break;
|
||||
|
||||
case ItemId_GoldenHull: {
|
||||
gAdventureFlags->Set(AdventureFlag_ReceivedGoldenHull, true);
|
||||
GiveShipPart(ShipPart_Hull, ShipType_Golden);
|
||||
} break;
|
||||
|
||||
case ItemId_CycloneSlate: {
|
||||
SET_FLAG(mItemFlags.flags, ItemFlag_CycloneSlate);
|
||||
} break;
|
||||
|
||||
case ItemId_Unk_128: {
|
||||
SET_FLAG(mItemFlags.flags, ItemFlag_Unk_47);
|
||||
} break;
|
||||
|
||||
case ItemId_Rupoor10: {
|
||||
this->GiveRupees(-10, true);
|
||||
} break;
|
||||
|
||||
case ItemId_Rupoor50: {
|
||||
this->GiveRupees(-50, true);
|
||||
} break;
|
||||
|
||||
case ItemId_Nothing: break;
|
||||
case ItemId_Unk_5: break;
|
||||
case ItemId_Unk_16: break;
|
||||
case ItemId_Unk_131: break;
|
||||
case ItemId_Unk_132: break;
|
||||
|
||||
default: {
|
||||
if (ItemId_TREASURE_CHART_START <= id && id <= ItemId_TREASURE_CHART_END) {
|
||||
SET_FLAG(mItemFlags.flags, id + ItemFlag_TREASURE_CHART_START - ItemId_TREASURE_CHART_START);
|
||||
}
|
||||
} break;
|
||||
}
|
||||
if (
|
||||
gAdventureFlags->Get(AdventureFlag_Azurine) &&
|
||||
gAdventureFlags->Get(AdventureFlag_Crimsonine) &&
|
||||
gAdventureFlags->Get(AdventureFlag_Aquanine)
|
||||
) {
|
||||
gAdventureFlags->Set(AdventureFlag_Unk_128, true);
|
||||
}
|
||||
}
|
||||
|
||||
THUMB void ItemManager::GiveEquipItem(ItemFlag item, u16 ammo) {
|
||||
u16 flag = item;
|
||||
SET_FLAG(mItemFlags.flags, flag);
|
||||
this->GetEquipItem(item)->GiveAmmo(ammo);
|
||||
if (mEquippedItem == ItemFlag_None) {
|
||||
this->mEquippedItem = item;
|
||||
this->mEquipLoadTimer = 1;
|
||||
}
|
||||
}
|
||||
|
||||
THUMB void ItemManager::UnequipPotion() {
|
||||
switch (mEquippedItem) {
|
||||
case ItemFlag_PotionA:
|
||||
case ItemFlag_PotionB: {
|
||||
this->EquipPreviousItem();
|
||||
} break;
|
||||
}
|
||||
}
|
||||
|
||||
ARM s32 ItemManager::GetMaxRupees() const {
|
||||
return 9999;
|
||||
}
|
||||
|
||||
extern void *data_027e103c;
|
||||
extern "C" s32 func_ov00_020cf374(void *param1, bool param2);
|
||||
extern "C" void func_ov05_02104004(void *param1);
|
||||
ARM void ItemManager::GiveRupees(s16 amount, bool param2) {
|
||||
s32 newRupees = mNumRupees + amount;
|
||||
if (newRupees > this->GetMaxRupees()) {
|
||||
newRupees = this->GetMaxRupees();
|
||||
} else if (newRupees < 0) {
|
||||
newRupees = 0;
|
||||
}
|
||||
|
||||
s32 currRupees = func_ov00_020cf374(data_027e103c, true);
|
||||
if (param2) {
|
||||
currRupees = mNumRupees;
|
||||
if (currRupees != newRupees) {
|
||||
func_ov05_02104004(data_027e103c);
|
||||
}
|
||||
}
|
||||
mNumRupees = newRupees;
|
||||
}
|
||||
|
||||
ARM unk32 ItemManager::GetNumKeys() const {
|
||||
return gMapManager->GetNumKeys();
|
||||
}
|
||||
|
||||
THUMB void ItemManager::GiveKeys(u32 amount) {
|
||||
s32 keys = amount + gMapManager->GetNumKeys();
|
||||
if (keys >= MAX_KEYS) keys = MAX_KEYS;
|
||||
if (keys <= 0) keys = 0;
|
||||
gMapManager->SetNumKeys(keys);
|
||||
}
|
||||
|
||||
ARM ItemFlag ItemManager::GetEquippedItem() const {
|
||||
if (mForcedItem != ItemFlag_None) return mForcedItem;
|
||||
return mEquippedItem;
|
||||
}
|
||||
|
||||
ARM bool ItemManager::SetEquippedItem(ItemFlag equipId) {
|
||||
mPrevEquippedItem = mEquippedItem;
|
||||
mEquippedItem = equipId;
|
||||
mEquipLoadTimer = 2;
|
||||
return true;
|
||||
}
|
||||
|
||||
ARM void ItemManager::EquipPreviousItem() {
|
||||
this->SetEquippedItem(mPrevEquippedItem);
|
||||
}
|
||||
|
||||
THUMB void ItemManager::ForceEquipItem(ItemFlag equipId) {
|
||||
for (ItemFlag i = ItemFlag_EQUIP_START; i < ItemFlag_EQUIP_END; ++i) {
|
||||
if (i == equipId) continue;
|
||||
(*mEquipItems)[i - ItemFlag_EQUIP_START]->UpdateInUse(0);
|
||||
}
|
||||
mForcedItem = equipId;
|
||||
mEquipLoadTimer = 1;
|
||||
}
|
||||
|
||||
THUMB bool ItemManager::ClearForcedEquipItem() {
|
||||
mForcedItem = ItemFlag_None;
|
||||
if (mEquippedItem != ItemFlag_None) return this->SetEquippedItem(mEquippedItem);
|
||||
return false;
|
||||
}
|
||||
|
||||
ARM void ItemManager::UpdateSwordShieldInUse() {
|
||||
this->GetEquipItem(ItemFlag_OshusSword)->UpdateInUse(1);
|
||||
this->GetEquipItem(ItemFlag_WoodenShield)->UpdateInUse(1);
|
||||
}
|
||||
|
||||
THUMB void ItemManager::UpgradeQuiver() {
|
||||
if (mQuiverSize < MAX_AMMO_UPGRADE) mQuiverSize += 1;
|
||||
(*mAmmo)[ItemFlag_Bow] = this->GetMaxAmmo(ItemFlag_Bow);
|
||||
}
|
||||
|
||||
THUMB void ItemManager::UpgradeBombBag() {
|
||||
if (mBombBagSize < MAX_AMMO_UPGRADE) mBombBagSize += 1;
|
||||
(*mAmmo)[ItemFlag_BombBag] = this->GetMaxAmmo(ItemFlag_BombBag);
|
||||
}
|
||||
|
||||
THUMB void ItemManager::UpgradeBombchuBag() {
|
||||
if (mBombchuBagSize < MAX_AMMO_UPGRADE) mBombchuBagSize += 1;
|
||||
(*mAmmo)[ItemFlag_BombchuBag] = this->GetMaxAmmo(ItemFlag_BombchuBag);
|
||||
}
|
||||
|
||||
ARM void ItemManager::func_ov00_020ae4dc(s32 param1) {
|
||||
s32 newValue = mUnk_0ba + param1;
|
||||
if (newValue > MAX_UNK_0BA) {
|
||||
mUnk_0ba = MAX_UNK_0BA;
|
||||
} else if (mUnk_0ba < -param1) {
|
||||
mUnk_0ba = 0;
|
||||
} else {
|
||||
mUnk_0ba = newValue;
|
||||
}
|
||||
}
|
||||
|
||||
ARM void ItemManager::SetPotion(u32 index, Potion potion) {
|
||||
mPotions[index] = potion;
|
||||
if (potion == Potion_None) {
|
||||
RESET_FLAG(mItemFlags.flags, index + ItemFlag_PotionA);
|
||||
} else {
|
||||
SET_FLAG(mItemFlags.flags, index + ItemFlag_PotionA);
|
||||
}
|
||||
}
|
||||
|
||||
ARM bool ItemManager::HasPotion(u32 index) const {
|
||||
switch (mPotions[index]) {
|
||||
case Potion_Red:
|
||||
case Potion_Purple:
|
||||
case Potion_Yellow:
|
||||
return true;
|
||||
|
||||
case Potion_None:
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
ARM bool ItemManager::HasAllPotions() const {
|
||||
for (s32 i = 0; i < MAX_POTIONS; ++i) {
|
||||
if (!this->HasPotion(i)) return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
ARM bool ItemManager::HasPurplePotion() const {
|
||||
for (s32 i = 0; i < MAX_POTIONS; ++i) {
|
||||
if (mPotions[i] == Potion_Purple) return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
extern "C" void func_020196bc(ItemModel *param1, unk32 param2);
|
||||
extern "C" void func_020196fc(ItemModel *param1, unk32 param2);
|
||||
THUMB void ItemManager::LoadDungeonItemModels() {
|
||||
for (s32 i = 0; i < DungeonItemModelId_COUNT; ++i) {
|
||||
if (mDungeonItemModels[i] == NULL) continue;
|
||||
|
||||
u16 unk1, unk2;
|
||||
switch (i) {
|
||||
case DungeonItemModelId_RoundCrystal:
|
||||
case DungeonItemModelId_SquareCrystal:
|
||||
case DungeonItemModelId_TriangleCrystal: {
|
||||
unk1 = data_027e0f78->mUnk_1e;
|
||||
unk2 = data_027e0f78->mUnk_1c;
|
||||
} break;
|
||||
|
||||
default: {
|
||||
unk1 = data_027e0f78->mUnk_1a;
|
||||
unk2 = data_027e0f78->mUnk_18;
|
||||
} break;
|
||||
}
|
||||
func_020196bc(mDungeonItemModels[i], unk1);
|
||||
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->mMuteNextFanfare == true) {
|
||||
gItemManager->mMuteNextFanfare = false;
|
||||
return;
|
||||
}
|
||||
SfxId sfx;
|
||||
switch (item) {
|
||||
case ItemId_PowerGem:
|
||||
case ItemId_WisdomGem:
|
||||
case ItemId_CourageGem: {
|
||||
sfx = SfxId_Fanfare_Gem;
|
||||
} break;
|
||||
|
||||
case ItemId_GoldRupee: {
|
||||
sfx = SfxId_Fanfare_GoldRupee;
|
||||
} break;
|
||||
|
||||
case ItemId_SmallKey:
|
||||
case ItemId_GreenRupee:
|
||||
case ItemId_BlueRupee:
|
||||
case ItemId_RedRupee: {
|
||||
sfx = SfxId_Fanfare_Rupee;
|
||||
} break;
|
||||
|
||||
case ItemId_Rupoor10:
|
||||
case ItemId_Rupoor50: {
|
||||
sfx = SfxId_Fanfare_Rupoor;
|
||||
} break;
|
||||
|
||||
case ItemId_Nothing:
|
||||
case ItemId_HerosNewClothes: {
|
||||
sfx = SfxId_Fanfare_Nothing_2;
|
||||
} break;
|
||||
|
||||
case ItemId_HeartContainer: {
|
||||
sfx = SfxId_Fanfare_HeartContainer;
|
||||
} break;
|
||||
|
||||
default: {
|
||||
sfx = SfxId_Fanfare_Treasure;
|
||||
} break;
|
||||
}
|
||||
if (gItemManager->mFanfareSfx != SfxId_None) {
|
||||
sfx = gItemManager->mFanfareSfx;
|
||||
gItemManager->mFanfareSfx = SfxId_None;
|
||||
}
|
||||
PlaySoundEffect(&data_ov00_020eec68, sfx);
|
||||
}
|
||||
|
||||
THUMB bool ItemManager::HasShipPartPriceShown(ShipPart part, ShipType type) const {
|
||||
return GET_FLAG(mShipPartPricesShown.flags, part * ShipType_COUNT + type);
|
||||
}
|
||||
|
||||
THUMB void ItemManager::AddShipPartPriceShown(ShipPart part, ShipType type) {
|
||||
SET_FLAG(mShipPartPricesShown.flags, part * ShipType_COUNT + type);
|
||||
}
|
||||
|
||||
THUMB bool ItemManager::HasTreasurePriceShown(Treasure treasure) const {
|
||||
return GET_FLAG(mTreasurePriceShownFlags, treasure);
|
||||
}
|
||||
|
||||
THUMB void ItemManager::AddTreasurePriceShown(Treasure treasure) {
|
||||
SET_FLAG(mTreasurePriceShownFlags, treasure);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
#include "Map/Course.hpp"
|
||||
|
||||
#ifdef STUBS
|
||||
|
||||
void Course::GetDungeonProgress(CourseProgress *param_2) {}
|
||||
void Course::func_ov00_0207ca28(s32 param_2, unk32 param_3, unk32 param_4) {}
|
||||
char* Course::SetCourseName(char *src) {}
|
||||
void Course::func_ov00_0207ca78(unk32 param_2, unk8 param_3, unk32 param_4) {}
|
||||
bool Course::func_ov00_0207caa8(s32 param_2, unk32 *param_3, unk8 *param_4) {}
|
||||
unk32 Course::func_ov00_0207cb30(s32 param_2) {}
|
||||
void Course::FindMapGridPos(Vec2b *pos, Course *param_2, u32 map) {}
|
||||
Vec3p* Course::FindMapCenter(unk32 map) {}
|
||||
void Course::func_ov00_0207cbe8(s32 param_2) {}
|
||||
unk8 Course::func_ov00_0207cc24(s32 param_2) {}
|
||||
unk32 Course::FindMapData_Unk_08(unk32 map) {}
|
||||
void Course::GetMCSFilePath(unk32 buf, s32 fileIndex, unk32 fileType) {}
|
||||
void Course::GetMRCFilePath(unk32 param_2, unk32 buf, unk32 param_4) {}
|
||||
void Course::func_ov00_0207ce20(unk32 param_2, unk32 param_3, char *param_4, unk32 param_5) {}
|
||||
void Course::func_ov00_0207ce4c(s32 param_2, s32 param_3, unk32 param_4, char *param_5, unk32 param_6) {}
|
||||
bool Course::func_ov00_0207d404(s32 param_2, unk32 param_3, unk32 param_4) {}
|
||||
bool Course::IsCurrentMapInMainGrid() {}
|
||||
bool Course::IsInMainGrid(s32 x, s32 y) {}
|
||||
bool Course::IsMapInMainGrid(u32 map) {}
|
||||
bool Course::GetMapScreenPos(s32 map, s32 *x, s32 *y) {}
|
||||
u32 Course::GetScreenMapCellSizeX() {}
|
||||
u32 Course::GetScreenMapCellSizeY() {}
|
||||
unk32 Course::Get_Unk_c8_00() {}
|
||||
unk32 Course::Get_Unk_c8_04() {}
|
||||
bool Course::IsAdjacentMapOnMainGrid(unk32 dir) {}
|
||||
bool Course::HasGridMap(s32 x, s32 y) {}
|
||||
unk8 Course::GetAdjacentMap(unk32 dir) {}
|
||||
u32 Course::GetAdjacentMapX(s32 ir) {}
|
||||
u32 Course::GetAdjacentMapY(s32 dir) {}
|
||||
u16 Course::FindCurrentMapData_Unk_04() {}
|
||||
u32 Course::FindMapData_Unk_04(unk32 param_2) {}
|
||||
unk32 Course::FindMapData_Unk_0c(unk32 map) {}
|
||||
void Course::func_ov00_0207d7bc() {}
|
||||
void Course::SetFlag0(u32 index, bool value) {}
|
||||
bool Course::GetFlag0(u32 index) {}
|
||||
void Course::SetFlag1(u32 index, bool value) {}
|
||||
bool Course::SetFlag1(u32 index) {}
|
||||
void Course::SetMapDataFlag0(unk32 index, bool value) {}
|
||||
bool Course::GetMapDataFlag0(unk32 param_2) {}
|
||||
void Course::SetMapDataFlag1(unk32 param_2, bool param_3) {}
|
||||
bool Course::GetMapDataFlag1(unk32 param_2) {}
|
||||
void Course::SetMapDataFlag2(unk32 param_2, bool param_3) {}
|
||||
bool Course::GetMapDataFlag2(unk32 param_2) {}
|
||||
void Course::SetMapDataFlag3(unk32 param_2, bool param_3) {}
|
||||
bool Course::GetMapDataFlag3(unk32 param_2) {}
|
||||
void Course::SetMapDataFlag4(unk32 param_2, unk32 param_3) {}
|
||||
bool Course::GetMapDataFlag4(unk32 param_2) {}
|
||||
MapData* Course::FindMapData(u32 map) {}
|
||||
MapData* Course::FindCurrentMapData() {}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,116 @@
|
||||
#include "Map/MapBase.hpp"
|
||||
#include "Map/MapManager.hpp"
|
||||
|
||||
#ifdef STUBS
|
||||
|
||||
MapBase::~MapBase() {}
|
||||
MapBase_Unk_180::~MapBase_Unk_180() {}
|
||||
void MapBase::SetBounds(unk32 map, unk32 course) {}
|
||||
MapManager_Unk2::~MapManager_Unk2() {}
|
||||
void MapBase::GetMapFilePath(char *courseName, unk32 num1, unk32 buf) {}
|
||||
void MapBase::vfunc_18() {}
|
||||
void MapBase::func_ov00_0207ddf8(bool param_2) {}
|
||||
void MapBase::func_ov00_0207de68(unk32 param_2) {}
|
||||
void MapBase::func_ov00_0207de88() {}
|
||||
void MapBase::func_ov00_0207dea0(bool param_2) {}
|
||||
unk8 MapBase::vfunc_b0(unk32 param_2, unk32 param_3) {}
|
||||
bool MapBase::func_ov00_0207e08c(unk32 param_2, unk32 param_3) {}
|
||||
s32 MapBase::func_ov00_0207e0f0(unk32 param_2) {}
|
||||
s32 MapBase::func_ov00_0207e28c(unk32 param_2) {}
|
||||
void MapBase::vfunc_b4() {}
|
||||
void MapBase::vfunc_48() {}
|
||||
unk32 MapBase::vfunc_50() {}
|
||||
unk32 MapBase::vfunc_54() {}
|
||||
unk32 MapBase::vfunc_58() {}
|
||||
unk32 MapBase::vfunc_5c() {}
|
||||
unk32 MapBase::vfunc_60() {}
|
||||
unk32 MapBase::vfunc_64() {}
|
||||
unk8 MapBase::vfunc_68(unk32 param_2, unk32 param_3) {}
|
||||
unk8 MapBase::func_ov00_0207e940(unk8 *param_1) {}
|
||||
unk8 MapBase::func_ov00_0207e968() {}
|
||||
unk8 MapBase::func_ov00_0207e96c() {}
|
||||
unk8 MapBase::vfunc_6c(unk32 param_2, unk32 param_3, unk32 param_4) {}
|
||||
unk32 MapBase::vfunc_70(Vec3p *param_2) {}
|
||||
s32* MapBase::vfunc_74(Vec3p *param_2) {}
|
||||
unk8 MapBase::func_ov00_0207f100() {}
|
||||
bool MapBase::func_ov00_0207f104(unk32 param_2, unk32 param_3) {}
|
||||
unk32 MapBase::func_ov00_0207f1f4(Vec3p *param_2, unk32 *param_3) {}
|
||||
unk32 MapBase::vfunc_88() {}
|
||||
unk32 MapBase::vfunc_8c() {}
|
||||
void MapBase::vfunc_9c() {}
|
||||
void MapBase::vfunc_a0() {}
|
||||
unk32 MapBase::vfunc_a4() {}
|
||||
void MapBase::vfunc_a8() {}
|
||||
void MapBase::vfunc_ac() {}
|
||||
unk32 MapBase::vfunc_78() {}
|
||||
unk32 MapBase::vfunc_7c() {}
|
||||
unk32 MapBase::vfunc_80() {}
|
||||
void MapBase::vfunc_84(unk32 param_2) {}
|
||||
unk8 MapBase::func_ov00_0207f38c(unk32 param_2) {}
|
||||
unk8 MapBase::vfunc_90(unk32 param_2, unk32 param_3, unk32 param_4) {}
|
||||
void MapBase::vfunc_94() {}
|
||||
void MapBase::func_ov00_0207f4a4(Vec2s *param_2, unk32 param_3) {}
|
||||
void MapBase::func_ov00_0207f53c(Vec2s *param_1, MapBase *param_2, Vec3p *param_3) {}
|
||||
void MapBase::func_ov00_0207f588(Vec2s *param_1, MapBase *param_2, Vec2b *param_3, unk32 param_4) {}
|
||||
void MapBase::func_ov00_0207f630(Vec2s *param_2, Vec3p *param_3) {}
|
||||
unk8 MapBase::GetTileStartX(unk32 x) {}
|
||||
unk8 MapBase::GetTileStartZ(unk32 z) {}
|
||||
s32 MapBase::GetTileEndX(unk32 x) {}
|
||||
s32 MapBase::GetTileEndZ(unk32 z) {}
|
||||
void MapBase::GetTileBounds(Vec2b *tilePos, AABB *bounds) {}
|
||||
unk8 MapBase::GetClampedTileX(unk32 worldX) {}
|
||||
unk8 MapBase::GetClampedTileY(unk32 worldZ) {}
|
||||
unk8 MapBase::GetTileX(unk32 worldX) {}
|
||||
unk8 MapBase::GetTileY(unk32 worldZ) {}
|
||||
bool MapBase::IsInBounds(Vec3p *tileWorldPos) {}
|
||||
s32 MapBase::AddEntrance(Entrance *param_2) {}
|
||||
unk8 MapBase::FindEntrance(unk32 id) {}
|
||||
unk8 MapBase::func_ov00_0207f924(unk32 param_2) {}
|
||||
unk8 MapBase::func_ov00_0207f934() {}
|
||||
unk8 MapBase::func_ov00_0207f948(unk32 param_2) {}
|
||||
void MapBase::AddTrigger(TriggerParams *param_2) {}
|
||||
void TriggerBase::vfunc_08() {}
|
||||
s32 MapBase::GetTriggerBoundingBox(unk32 param_2, AABB *param_3) {}
|
||||
bool TriggerBase::GetBoundingBox() {}
|
||||
unk8 MapBase::GetTriggerBoundingBoxes(unk32 param_2, AABB *param_3, unk32 param_4) {}
|
||||
unk32 MapBase::GetOverlappingTrigger(Vec3p *param_2) {}
|
||||
bool TriggerBase::Overlaps() {}
|
||||
unk8 MapBase::FindTrigger(unk32 type) {}
|
||||
unk8 MapBase::GetOverlappingTriggers(Vec3p *param_2, TriggerBase * *triggers, unk32 capacity) {}
|
||||
bool MapBase::IsTriggerTypeOverlapped(unk32 type, Vec3p *param_3) {}
|
||||
bool MapBase::AnyTrigger_func_0c(unk32 type) {}
|
||||
unk32 TriggerBase::vfunc_0c() {}
|
||||
unk8 MapBase::Trigger_vfunc_08() {}
|
||||
bool MapBase::AddTrigger(unk32 param_2) {}
|
||||
bool MapBase::func_ov00_0207ff88(unk32 param_2) {}
|
||||
void MapBase::func_ov00_0208005c(s32 param_2, s32 param_3, unk32 param_4) {}
|
||||
void MapBase::func_ov00_0208006c(unk32 param_2, s32 param_3) {}
|
||||
void MapBase::func_ov00_0208007c(s32 param_2, s32 param_3) {}
|
||||
void MapBase::func_ov00_0208008c(u32 param_2) {}
|
||||
unk8 MapBase::AddExit(Exit *param_2) {}
|
||||
unk8 MapBase::func_ov00_02080140(Exit *param_2) {}
|
||||
void MapBase_Unk1::func_ov00_02080324(s32 param_2, s32 param_3, s32 param_4) {}
|
||||
bool MapBase::FindExit(unk32 param_2, Exit *param_3) {}
|
||||
unk8 MapBase::AddCameraViewpoint(CameraViewpoint *param_2) {}
|
||||
bool MapBase::FindViewpoint_Unk_4(unk8 id, CameraViewpoint *param_3) {}
|
||||
bool MapBase::FindViewpoint_Unk_0(unk32 param_2, CameraViewpoint *param_3) {}
|
||||
void MapBase::GetCurrentViewpoint(CameraViewpoint *param_2, unk32 param_3) {}
|
||||
unk8 MapBase::GetCurrentViewpoint_Unk_00(s32 param_2) {}
|
||||
unk32 MapBase::vfunc_b8() {}
|
||||
bool MapBase::func_ov00_02080824(unk32 param_2, unk32 param_3) {}
|
||||
bool MapBase::AddUnk_130(unk32 param_2) {}
|
||||
bool MapBase::func_ov00_020809b8(unk32 param_2) {}
|
||||
unk8 MapBase::func_ov00_02080a78(Vec3p *param_2) {}
|
||||
void MapBase_Unk2::func_ov00_02080ad0(TriggerBase * *param_2, TriggerBase * *param_3) {}
|
||||
unk8 MapBase::func_ov00_02080b24(Vec2b *param_2) {}
|
||||
void MapBase::func_ov00_02080d08(unk32 param_2) {}
|
||||
void MapBase::vfunc_bc() {}
|
||||
void MapBase::vfunc_98() {}
|
||||
void MapBase::vfunc_c0() {}
|
||||
bool MapBase::TriggerOfType_vfunc_10(unk32 type) {}
|
||||
unk32 TriggerBase::vfunc_10() {}
|
||||
void MapBase::func_ov00_02080de4() {}
|
||||
unk8 MapBase::func_ov00_02080de8(unk32 param_2) {}
|
||||
void MapBase::func_ov00_02080edc() {}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,204 @@
|
||||
#include "Map/MapManager.hpp"
|
||||
|
||||
#ifdef STUBS
|
||||
|
||||
void MapManager::func_ov00_020820ec(unk32 *param_2) {}
|
||||
void MapManager::func_ov00_020820fc(s32 param_2, unk32 param_3, unk32 param_4) {}
|
||||
unk8 MapManager::func_ov00_0208210c(unk32 param_2, unk32 param_3) {}
|
||||
unk8 MapManager::func_ov00_0208230c(unk32 param_2) {}
|
||||
unk8 MapManager::func_ov00_02082348(unk32 param_2) {}
|
||||
void MapManager::func_ov00_020823a4(unk32 param_2) {}
|
||||
unk8 MapManager::func_ov00_020823b4() {}
|
||||
bool MapManager::func_ov00_020823c4(unk32 *param_2, s32 param_3) {}
|
||||
s32 MapManager::func_ov00_020823d4(s32 param_2) {}
|
||||
s32 MapManager::func_ov00_020823e4(s32 param_2) {}
|
||||
unk8 MapManager::MapData_vfunc_b4() {}
|
||||
unk8 MapManager::MapData_vfunc_9c() {}
|
||||
s32 MapManager::func_ov00_02082424() {}
|
||||
unk8 MapManager::func_ov00_02082454(unk32 param_2, unk32 param_3) {}
|
||||
unk8 MapManager::func_ov00_02082494(unk32 param_2) {}
|
||||
unk8 MapManager::func_ov00_020824cc(unk32 param_2) {}
|
||||
unk8 MapManager::func_ov00_02082504() {}
|
||||
unk8 * MapManager::func_ov00_02082538() {}
|
||||
void MapManager::func_ov00_02082594() {}
|
||||
void MapManager::func_ov00_020825ac() {}
|
||||
s32 MapManager::GetCourseFilePath(char *courseName, char *buf) {}
|
||||
unk8 MapManager::func_ov00_020825e4(unk32 param_2, unk32 param_3) {}
|
||||
unk8 MapManager::func_ov00_02082614(unk32 param_2, unk32 param_3) {}
|
||||
unk8 MapManager::MapData_vfunc_b0() {}
|
||||
void MapManager::func_ov00_02082650(s32 param_2, s32 param_3, unk32 param_4) {}
|
||||
void MapManager::func_ov00_02082660(s32 param_2, s32 param_3) {}
|
||||
void MapManager::func_ov00_02082670(unk32 param_2, s32 param_3) {}
|
||||
void MapManager::func_ov00_02082680(unk32 param_2, unk32 param_3) {}
|
||||
unk8 MapManager::func_ov00_020826a0(unk32 param_2, unk32 param_3, unk32 param_4) {}
|
||||
unk8 MapManager::CreateMap(unk32 mapType, unk32 param_3, unk32 param_4) {}
|
||||
unk8 MapManager::DestroyMap() {}
|
||||
unk8 MapManager::MapData_vfunc_44() {}
|
||||
unk8 MapManager::func_ov00_02082808() {}
|
||||
unk8 MapManager::MapData_vfunc_7c() {}
|
||||
unk8 MapManager::MapData_vfunc_84() {}
|
||||
bool MapManager::func_ov00_020828f8(s32 *param_2) {}
|
||||
unk8 MapManager::GetCourseData_Unk_b0() {}
|
||||
s32 MapManager::func_ov00_02082914(unk32 param_2) {}
|
||||
unk8 MapManager::func_ov00_02082acc() {}
|
||||
unk32 * MapManager::func_ov00_02082adc() {}
|
||||
unk8 MapManager::func_ov00_02082af4() {}
|
||||
bool MapManager::func_ov00_02082b3c(s32 param_2) {}
|
||||
unk8 MapManager::func_ov00_02082d08() {}
|
||||
unk8 MapManager::GetCourseData_Unk_1c() {}
|
||||
unk8 MapManager::GetCourseData_Unk_1d() {}
|
||||
unk8 MapManager::func_ov00_02082d40() {}
|
||||
u32 MapManager::func_ov00_02082d74(unk32 param_2) {}
|
||||
unk8 MapManager::func_ov00_02082d84() {}
|
||||
bool MapManager::func_ov00_02082e1c(s32 *param_2, s32 *param_3) {}
|
||||
unk8 MapManager::func_ov00_0208306c() {}
|
||||
void MapManager::func_ov00_0208315c(s32 *param_2, s32 *param_3) {}
|
||||
void MapManager::func_ov00_02083244(u32 param_2, s32 *param_3, s32 *param_4, s32 *param_5) {}
|
||||
void MapManager::func_ov00_02083298(u32 param_2, s32 *param_3, s32 *param_4, s32 *param_5) {}
|
||||
unk8 MapManager::GetCourseData_Unk_25c() {}
|
||||
bool MapManager::func_ov00_02083318(unk32 param_2) {}
|
||||
unk8 MapManager::func_ov00_02083328() {}
|
||||
unk8 MapManager::GetCourseData_Unk_86() {}
|
||||
unk8 MapManager::GetCourseData_Unk_87() {}
|
||||
unk8 MapManager::Get_MapData_Unk28() {}
|
||||
unk8 MapManager::Get_MapData_Unk2a() {}
|
||||
unk8 MapManager::func_ov00_02083374() {}
|
||||
unk8 MapManager::func_ov00_02083384() {}
|
||||
unk8 MapManager::GetCourseMinX() {}
|
||||
unk8 MapManager::GetCourseMinZ() {}
|
||||
unk8 MapManager::GetCourseMaxX() {}
|
||||
unk8 MapManager::GetCourseMaxZ() {}
|
||||
unk8 MapManager::func_ov00_020833c4() {}
|
||||
unk8 MapManager::func_ov00_020833d0() {}
|
||||
unk8 MapManager::func_ov00_020833dc() {}
|
||||
unk8 MapManager::func_ov00_020833e8() {}
|
||||
unk8 MapManager::Get_MapData_Unk_d0() {}
|
||||
unk8 MapManager::Get_MapData_Unk_d8() {}
|
||||
unk8 MapManager::GetMapData_Unk_dc(Vec3p *param_2) {}
|
||||
unk8 MapManager::GetMapData_Unk_e8(Vec3p *param_2) {}
|
||||
unk8 MapManager::GetMapData_Unk_d0(Vec3p *param_2) {}
|
||||
unk8 MapManager::func_ov00_0208346c(AABB *param_2) {}
|
||||
unk8 MapManager::func_ov00_020834bc(Vec3p *param_2, unk32 param_3, unk32 param_4) {}
|
||||
unk8 MapManager::func_ov00_02083524(Vec3p *param_2, unk32 param_3, unk32 param_4) {}
|
||||
void MapManager::func_ov00_02083560(unk32 param_1, MapManager *param_2, u32 param_3) {}
|
||||
unk8 MapManager::func_ov00_02083570(unk32 param_2, unk32 param_3) {}
|
||||
unk32 MapManager::func_ov00_02083588() {}
|
||||
unk32 MapManager::func_ov00_020835a4() {}
|
||||
unk32 MapManager::func_ov00_020835b4() {}
|
||||
unk8 MapManager::func_ov00_020835c4(unk32 param_2, unk32 param_3) {}
|
||||
bool MapManager::func_ov00_020835e4(s32 param_2, unk32 *param_3, unk32 *param_4) {}
|
||||
unk32 MapManager::func_ov00_020835f4(s32 param_2) {}
|
||||
void MapManager::func_ov00_02083604(s32 param_2) {}
|
||||
unk8 MapManager::func_ov00_02083614(s32 param_2) {}
|
||||
bool MapManager::GetEntrancePos(Vec3p *param_2, unk32 entranceId) {}
|
||||
bool MapManager::func_ov00_02083664(Vec3p *param_2, unk32 entranceId) {}
|
||||
s32 MapManager::func_ov00_020836bc(u32 param_2, unk32 *param_3) {}
|
||||
u32 MapManager::func_ov00_020836cc(u32 param_2, AABB *param_3, u32 param_4) {}
|
||||
unk8 MapManager::func_ov00_020836dc(unk32 param_2, unk32 param_3) {}
|
||||
bool MapManager::func_ov00_02083770(u32 param_2, unk32 param_3) {}
|
||||
bool MapManager::func_ov00_02083780(unk32 param_2) {}
|
||||
bool MapManager::func_ov00_02083790(unk32 param_2) {}
|
||||
unk8 MapManager::func_ov00_02083840(unk32 param_2) {}
|
||||
bool MapManager::func_ov00_020838c8(s32 param_2) {}
|
||||
bool MapManager::func_ov00_020838d8(s32 param_2) {}
|
||||
bool MapManager::func_ov00_020838e8(u32 param_2, unk32 *param_3) {}
|
||||
char MapManager::func_ov00_020838f8(unk32 *param_2) {}
|
||||
bool MapManager::func_ov00_02083908(char param_2, unk32 *param_3) {}
|
||||
void MapManager::func_ov00_02083918(s32 param_2, s32 *param_3) {}
|
||||
void MapManager::func_ov00_02083928(unk8 *param_2, s32 param_3) {}
|
||||
unk32 MapManager::func_ov00_02083938(s32 param_2) {}
|
||||
unk8 MapManager::Set_MapData_Unk_16(unk8 value, unk32 index) {}
|
||||
void MapManager::func_ov00_02083958(s32 param_2) {}
|
||||
void MapManager::func_ov00_02083968(u32 param_2, unk8 *param_3) {}
|
||||
bool MapManager::func_ov00_02083978(unk32 param_2, Vec3p *param_3) {}
|
||||
bool MapManager::func_ov00_020839b4(s32 param_2) {}
|
||||
bool MapManager::func_ov00_020839c4(s32 param_2) {}
|
||||
unk8 MapManager::func_ov00_020839d4() {}
|
||||
unk8 MapManager::func_ov00_020839f8() {}
|
||||
void MapManager::func_ov00_02083a1c(unk32 param_1, MapManager *param_2, Vec3p *param_3) {}
|
||||
unk8 MapManager::func_ov00_02083a54(unk32 param_1, MapManager *param_2, unk32 param_3, unk32 param_4, unk32 param_5) {}
|
||||
unk8 MapManager::func_ov00_02083b84() {}
|
||||
unk8 MapManager::func_ov00_02083bac() {}
|
||||
unk8 MapManager::func_ov00_02083bd4() {}
|
||||
unk8 MapManager::func_ov00_02083bfc() {}
|
||||
unk8 MapManager::func_ov00_02083c24(unk32 param_2) {}
|
||||
unk8 MapManager::func_ov00_02083c50(unk32 param_2) {}
|
||||
unk8 MapManager::func_ov00_02083c7c(Vec3p *param_2, unk32 param_3) {}
|
||||
unk8 MapManager::func_ov00_02083ce8(unk8 param_1, unk8 param_2, unk8 param_3, unk8 param_4, unk32 param_5) {}
|
||||
unk8 MapManager::func_ov00_02083e34(unk8 param_2, unk8 param_3, unk32 param_4) {}
|
||||
unk8 MapManager::MapData_vfunc_60() {}
|
||||
unk8 MapManager::func_ov00_02083e70() {}
|
||||
unk8 MapManager::MapData_vfunc_68() {}
|
||||
void MapManager::func_ov00_02083ef8(Vec3p *param_2, Vec3p *param_3) {}
|
||||
void MapManager::func_ov00_02083f44(Vec3p *param_2) {}
|
||||
unk8 MapManager::MapData_vfunc_6c() {}
|
||||
unk8 MapManager::MapData_vfunc_70() {}
|
||||
unk8 MapManager::func_ov00_02083fb0(unk32 param_1, MapManager *param_2, unk32 param_3) {}
|
||||
void MapManager::func_ov00_02084024(unk32 param_2, AABB *param_3) {}
|
||||
unk8 MapManager::MapData_vfunc_54() {}
|
||||
unk8 MapManager::func_ov00_020840a0(unk8 param_2, unk8 param_3, unk32 param_4) {}
|
||||
unk8 MapManager::MapData_vfunc_78() {}
|
||||
unk8 MapManager::func_ov00_020840dc() {}
|
||||
unk8 MapManager::func_ov00_02084100(unk32 param_1, MapManager *param_2) {}
|
||||
unk8 MapManager::GetMapData_Unk_48() {}
|
||||
unk8 MapManager::GetMapData_Unk_4c() {}
|
||||
unk32 MapManager::func_ov00_0208412c() {}
|
||||
void MapManager::func_ov00_0208413c(unk32 param_2) {}
|
||||
unk8 MapManager::MapData_vfunc_58() {}
|
||||
unk8 MapManager::func_ov00_02084164() {}
|
||||
unk8 MapManager::GetMapData_Unk_0a() {}
|
||||
unk8 MapManager::GetMapData_Unk_0b() {}
|
||||
unk8 MapManager::MapData_vfunc_a4() {}
|
||||
unk8 MapManager::func_ov00_0208433c(Vec3p *param_2, unk32 param_3) {}
|
||||
unk8 MapManager::func_ov00_0208439c() {}
|
||||
void MapManager::func_ov00_020843ec(s32 *param_2) {}
|
||||
unk8 MapManager::GetMapData_Unk_38() {}
|
||||
unk8 MapManager::func_ov00_020846a4() {}
|
||||
unk8 MapManager::func_ov00_02084700() {}
|
||||
unk8 MapManager::func_ov00_02084740() {}
|
||||
unk8 MapManager::func_ov00_020847e0() {}
|
||||
unk8 MapManager::func_ov00_020847f0() {}
|
||||
bool MapManager::func_ov00_02084838() {}
|
||||
bool MapManager::func_ov00_020848b8() {}
|
||||
void MapManager::func_ov00_02084924(u32 param_2) {}
|
||||
unk8 MapManager::func_ov00_02084934() {}
|
||||
unk8 MapManager::GetMapData_Unk_06() {}
|
||||
unk8 MapManager::GetMapData_Unk_07() {}
|
||||
unk8 MapManager::func_ov00_0208499c() {}
|
||||
unk8 MapManager::func_ov00_020849c0() {}
|
||||
unk8 MapManager::func_ov00_020849dc() {}
|
||||
bool MapManager::func_ov00_020849f8(unk32 param_1) {}
|
||||
unk8 MapManager::func_ov00_02084a50() {}
|
||||
void MapManager::SpawnNPC(Vec3p *param_2, unk32 param_3, unk32 param_4) {}
|
||||
bool MapManager::func_ov00_02084ac4(u32 actorId) {}
|
||||
unk8 MapManager::SetNumKeys(unk32 keys) {}
|
||||
unk8 MapManager::GetNumKeys() {}
|
||||
unk8 MapManager::SetCourseData_Unk_25c(unk8 param_2) {}
|
||||
unk8 MapManager::GetCourseData_Unk_25d() {}
|
||||
unk8 MapManager::func_ov00_02084b38(unk32 param_2, unk32 param_3, unk32 param_4) {}
|
||||
bool MapManager::func_ov00_02084be0(unk32 param_2, unk32 param_3) {}
|
||||
void MapManager::func_ov00_02084c5c(unk32 param_2, unk32 param_3) {}
|
||||
bool MapManager::func_ov00_02084c6c(unk32 param_2) {}
|
||||
unk8 MapManager::func_ov00_02084c7c(unk32 param_2) {}
|
||||
unk8 MapManager::func_ov00_02084c94(unk32 param_2) {}
|
||||
unk8 MapManager::func_ov00_02084cb0(unk32 param_2) {}
|
||||
unk8 MapManager::func_ov00_02084cc8(unk32 param_2) {}
|
||||
unk8 MapManager::func_ov00_02084ce4(unk32 param_2) {}
|
||||
unk8 MapManager::func_ov00_02084cfc(unk32 param_2) {}
|
||||
unk8 MapManager::GetMapData_Unk_09() {}
|
||||
unk8 MapManager::func_ov00_02084d24(unk8 param_2, unk8 param_3, unk32 param_4) {}
|
||||
s32 MapManager::func_ov00_02084d4c(unk32 param_2, unk32 param_3, Vec3p *param_4) {}
|
||||
unk8 MapManager::func_ov00_02084ebc(unk32 param_2) {}
|
||||
s32 MapManager::func_ov00_02085108(s32 *param_2) {}
|
||||
unk8 MapManager::func_ov00_0208527c() {}
|
||||
unk8 MapManager::func_ov00_020853fc() {}
|
||||
unk8 MapManager::func_ov00_02085594() {}
|
||||
void MapManager::func_ov00_0208583c(unk32 param_1, Vec3p *param_2, unk32 param_3) {}
|
||||
unk8 MapManager::func_ov00_020858b0() {}
|
||||
s32 MapManager::func_ov00_02085a34(unk32 param_2, unk32 param_3) {}
|
||||
unk8 MapManager::func_ov00_02085c60(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5) {}
|
||||
unk8 MapManager::func_ov00_02086044(unk32 param_2, unk32 param_3, unk32 param_4) {}
|
||||
bool MapManager::func_ov00_02086284(s32 *param_2, Vec3p *param_3, Vec3p *param_4, s32 param_5, u16 param_6, Vec3p *param_7, Vec3p *param_8) {}
|
||||
bool MapManager::func_ov00_02086a84(s32 *param_2, Vec3p *param_3, Vec3p *param_4, s32 param_5, s32 param_6, unk32 param_7, Vec3p *param_8, Vec3p *param_9) {}
|
||||
|
||||
#endif
|
||||
@@ -10,5 +10,6 @@ void TouchControl::Update(TouchState *state, u16 speed) {}
|
||||
bool TouchControl::func_ov00_0207aeac() {}
|
||||
void TouchControl::UpdateConditionally(TouchState *state, u16 speed) {}
|
||||
void TouchControl::func_ov00_0207af38(u16 speed, bool param2) {}
|
||||
TouchControl::~TouchControl() {}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user