#include "common.h" INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80045AC0); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80045B10); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80045B68); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80045BC8); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80045C28); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80045C88); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80045CC4); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80045D00); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80045D7C); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80045E4C); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80045ED0); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80045FA4); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80045FB4); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80046030); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_800465E0); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80047608); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_800476F4); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_8004778C); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_800477F4); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80047820); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80047898); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_800478F8); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80047928); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_800479A0); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80047A00); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80047A30); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80047AA8); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80047B08); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80047B38); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80047B84); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80047BE4); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80047C14); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80047CA4); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80047D00); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80047D30); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80047DC0); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80047E1C); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80047E4C); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80047EDC); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80047F28); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80047F58); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80047FE8); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80048034); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80048064); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_800480F4); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80048140); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80048170); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80048200); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_8004824C); INCLUDE_ASM(s32, "code_20ec0_len_5040", spawn_drops); #ifdef NON_MATCHING s32 get_coin_drop_amount(Enemy* enemy) { EncounterStatus* currentEncounter; s32 amt; s32 diff; s32 a; s32 max; s32 min; currentEncounter = &gCurrentEncounter; min = enemy->dropTables[89]; max = enemy->dropTables[90]; a = min; if (max < min) { min = max; max = a; } diff = max - min; amt = min; if ((min < 0) || (diff != 0)) { amt = rand_int(diff) + min; } if (amt < 0) { amt = 0; } if (is_ability_active(Ability_PAY_OFF)) { amt += currentEncounter->damageTaken / 2; } if (currentEncounter->merleeCoinBonus != 0) { amt *= 3; } if (is_ability_active(Ability_MONEY_MONEY)) { amt *= 2; } amt += currentEncounter->coinsEarned; if (enemy->flags & 0x840000) { amt = 0; } if (amt > 20) { amt = 20; } return amt; } #else INCLUDE_ASM(s32, "code_20ec0_len_5040", get_coin_drop_amount); #endif INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80048E34); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80048F0C); s32 is_point_within_region(s32 shape, f32 pointX, f32 pointY, f32 centerX, f32 centerY, f32 sizeX, f32 sizeZ) { f32 dist1; f32 dist2; switch (shape) { case 0: dist1 = dist2D(pointX, pointY, centerX, centerY); return (sizeX < dist1); case 1: dist1 = dist2D(pointX, 0, centerX, 0); dist2 = dist2D(0, pointY, 0, centerY); return ((sizeX < dist1) || (sizeZ < dist2)); default: return FALSE; } } INCLUDE_ASM(s32, "code_20ec0_len_5040", func_800490B4); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_800493EC); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_800494C0, Npc* npc, s32 arg1, s32 arg2); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80049550); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_800495A0); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_800496B8); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80049B44); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80049C04); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80049E3C); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80049ECC); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_80049F7C); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_8004A124); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_8004A3E8); INCLUDE_ASM(s32, "code_20ec0_len_5040", DoBasicAI); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_8004A6F0); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_8004A73C); INCLUDE_ASM(s32, "code_20ec0_len_5040", func_8004A784);