mirror of
https://github.com/pret/pmd-red.git
synced 2026-04-24 23:17:03 -05:00
Use mateon's func names
This commit is contained in:
parent
25efe1ca67
commit
3aee3628f4
|
|
@ -496,7 +496,7 @@ _0806EE7C:
|
|||
adds r0, r5, 0
|
||||
adds r1, r5, 0
|
||||
adds r2, r4, 0
|
||||
bl sub_800A3F0
|
||||
bl F48_16_SDiv
|
||||
mov r1, r10
|
||||
ldrb r6, [r1, 0x6]
|
||||
mov r8, r5
|
||||
|
|
@ -512,7 +512,7 @@ _0806EE7C:
|
|||
str r0, [r2, 0x4]
|
||||
adds r0, r7, 0
|
||||
adds r1, r7, 0
|
||||
bl sub_800A34C
|
||||
bl F48_16_SMul
|
||||
mov r2, r10
|
||||
ldrb r0, [r2, 0x9]
|
||||
lsls r0, 1
|
||||
|
|
@ -555,7 +555,7 @@ _0806EF20:
|
|||
adds r0, r7, 0
|
||||
adds r1, r7, 0
|
||||
adds r2, r4, 0
|
||||
bl sub_800A3F0
|
||||
bl F48_16_SDiv
|
||||
ldr r0, [sp, 0x28]
|
||||
_0806EF60:
|
||||
movs r1, 0x3
|
||||
|
|
@ -591,7 +591,7 @@ _0806EF60:
|
|||
adds r0, r6, 0
|
||||
adds r1, r6, 0
|
||||
adds r2, r6, 0
|
||||
bl sub_800A34C
|
||||
bl F48_16_SMul
|
||||
mov r0, r8
|
||||
str r0, [sp, 0x40]
|
||||
ldr r0, _0806F09C
|
||||
|
|
@ -600,7 +600,7 @@ _0806EF60:
|
|||
adds r0, r6, 0
|
||||
adds r1, r6, 0
|
||||
adds r2, r5, 0
|
||||
bl sub_800A34C
|
||||
bl F48_16_SMul
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x2
|
||||
bl sub_800A020
|
||||
|
|
@ -608,7 +608,7 @@ _0806EF60:
|
|||
adds r0, r4, 0
|
||||
adds r1, r4, 0
|
||||
adds r2, r5, 0
|
||||
bl sub_800A34C
|
||||
bl F48_16_SMul
|
||||
ldr r1, [sp, 0xC]
|
||||
adds r0, r5, 0
|
||||
bl sub_800A020
|
||||
|
|
@ -727,7 +727,7 @@ _0806F0BC:
|
|||
ldr r2, _0806F160
|
||||
adds r0, r7, 0
|
||||
adds r1, r7, 0
|
||||
bl sub_800A34C
|
||||
bl F48_16_SMul
|
||||
ldr r0, _0806F164
|
||||
ldr r0, [r0]
|
||||
movs r3, 0xB3
|
||||
|
|
@ -748,7 +748,7 @@ _0806F0EE:
|
|||
ldr r2, _0806F160
|
||||
adds r0, r7, 0
|
||||
adds r1, r7, 0
|
||||
bl sub_800A34C
|
||||
bl F48_16_SMul
|
||||
ldr r0, _0806F164
|
||||
ldr r0, [r0]
|
||||
ldr r1, _0806F168
|
||||
|
|
@ -855,7 +855,7 @@ _0806F1DA:
|
|||
ldr r2, _0806F2B8
|
||||
adds r0, r7, 0
|
||||
adds r1, r7, 0
|
||||
bl sub_800A34C
|
||||
bl F48_16_SMul
|
||||
movs r0, 0x1
|
||||
ldr r3, [sp, 0xB0]
|
||||
strb r0, [r3, 0xD]
|
||||
|
|
@ -871,7 +871,7 @@ _0806F1F4:
|
|||
mov r0, r8
|
||||
mov r1, r8
|
||||
adds r2, r7, 0
|
||||
bl sub_800A34C
|
||||
bl F48_16_SMul
|
||||
ldr r0, [r5]
|
||||
movs r1, 0xAE
|
||||
lsls r1, 1
|
||||
|
|
@ -885,7 +885,7 @@ _0806F1F4:
|
|||
mov r0, r8
|
||||
mov r1, r8
|
||||
adds r2, r4, 0
|
||||
bl sub_800A34C
|
||||
bl F48_16_SMul
|
||||
mov r0, r8
|
||||
bl sub_800A048
|
||||
ldr r1, [r5]
|
||||
|
|
@ -905,7 +905,7 @@ _0806F1F4:
|
|||
mov r0, r8
|
||||
mov r1, r8
|
||||
adds r2, r7, 0
|
||||
bl sub_800A34C
|
||||
bl F48_16_SMul
|
||||
add r4, sp, 0x68
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x64
|
||||
|
|
@ -913,7 +913,7 @@ _0806F1F4:
|
|||
adds r0, r7, 0
|
||||
adds r1, r4, 0
|
||||
adds r2, r7, 0
|
||||
bl sub_800A34C
|
||||
bl F48_16_SMul
|
||||
adds r0, r7, 0
|
||||
bl sub_800A048
|
||||
ldr r1, [r5]
|
||||
|
|
@ -984,7 +984,7 @@ _0806F2DE:
|
|||
adds r0, r4, 0
|
||||
adds r1, r4, 0
|
||||
add r2, sp, 0x4
|
||||
bl sub_800A34C
|
||||
bl F48_16_SMul
|
||||
adds r0, r4, 0
|
||||
bl sub_800A048
|
||||
str r0, [r7]
|
||||
|
|
|
|||
|
|
@ -18,16 +18,6 @@ typedef s32 s24_8;
|
|||
*/
|
||||
typedef u32 u24_8;
|
||||
|
||||
/**
|
||||
* This function computes the sine of the absolute value of `x` using a lookup
|
||||
* table. The period of the function is `4096`, and the range is `[-256, 256]`.
|
||||
*
|
||||
* @param[in] x The value to get the sine of.
|
||||
*
|
||||
* @return `floor(256 * sin(pi * abs(x) / 2048))` as a signed 32-bit integer.
|
||||
*/
|
||||
s32 sin_abs_4096(s32 x);
|
||||
|
||||
/**
|
||||
* This function computes the cosine of of `x` using a lookup table. The period of
|
||||
* the function is `4096`, and the range is `[-256, 256]`.
|
||||
|
|
@ -40,6 +30,16 @@ s32 sin_abs_4096(s32 x);
|
|||
*/
|
||||
s32 cos_4096(s32 x);
|
||||
|
||||
/**
|
||||
* This function computes the sine of the absolute value of `x` using a lookup
|
||||
* table. The period of the function is `4096`, and the range is `[-256, 256]`.
|
||||
*
|
||||
* @param[in] x The value to get the sine of.
|
||||
*
|
||||
* @return `floor(256 * sin(pi * abs(x) / 2048))` as a signed 32-bit integer.
|
||||
*/
|
||||
s32 sin_abs_4096(s32 x);
|
||||
|
||||
/**
|
||||
* This function multiplies two signed 24.8 fixed-point numbers.
|
||||
*
|
||||
|
|
@ -50,9 +50,10 @@ s32 cos_4096(s32 x);
|
|||
*/
|
||||
s24_8 s24_8_mul(s24_8 x, s24_8 y);
|
||||
|
||||
bool8 F48_16_IsZero(unkStruct_80943A8 *a);
|
||||
void F48_16_SMul(unkStruct_80943A8 *dst, unkStruct_80943A8 *a, unkStruct_80943A8 *b);
|
||||
|
||||
s32 sub_8009FB8(s32 x, s32 y);
|
||||
void sub_800A020(unkStruct_80943A8 *, u32);
|
||||
bool8 sub_800A2A0(unkStruct_80943A8 *a);
|
||||
void sub_800A34C(unkStruct_80943A8 *dst, unkStruct_80943A8 *a, unkStruct_80943A8 *b);
|
||||
|
||||
#endif // GUARD_MATH_H
|
||||
|
|
|
|||
|
|
@ -336,7 +336,7 @@ void sub_8074094(Entity *entity)
|
|||
|
||||
sp8.s0 = 0;
|
||||
sp8.s4 = 6554;
|
||||
sub_800A34C(&sp10, &sp8, &gUnknown_80F54F4[r4]);
|
||||
F48_16_SMul(&sp10, &sp8, &gUnknown_80F54F4[r4]);
|
||||
if (entityInfo->unk153 > 1)
|
||||
sp10.s4 += (gUnknown_80F60DC[entityInfo->unk153] << 0x10);
|
||||
entityInfo->unk153 = 0;
|
||||
|
|
|
|||
95
src/math.c
95
src/math.c
|
|
@ -4,12 +4,11 @@
|
|||
|
||||
#include "data/math.h"
|
||||
|
||||
static void F48_16_UDiv(unkStruct_80943A8 *, unkStruct_80943A8 *, unkStruct_80943A8 *);
|
||||
static void F48_16_UMul(unkStruct_80943A8 *, unkStruct_80943A8 *, unkStruct_80943A8 *);
|
||||
static u24_8 u24_8_div(u24_8, u24_8);
|
||||
static u24_8 u24_8_mul(u24_8, u24_8);
|
||||
|
||||
static void sub_800A5A4(unkStruct_80943A8 *, unkStruct_80943A8 *, unkStruct_80943A8 *);
|
||||
static void sub_800A4E4(unkStruct_80943A8 *, unkStruct_80943A8 *, unkStruct_80943A8 *);
|
||||
|
||||
/**
|
||||
* This function computes a value modulo 3, using a lookup table for values less
|
||||
* than 0x100.
|
||||
|
|
@ -516,7 +515,7 @@ s32 sub_800A0B0(unkStruct_80943A8 *a)
|
|||
}
|
||||
}
|
||||
|
||||
static void sub_800A25C(unkStruct_80943A8 *a)
|
||||
static void F48_16_Negate(unkStruct_80943A8 *a)
|
||||
{
|
||||
a->s0 = ~a->s0;
|
||||
a->s4 = ~a->s4 + 1;
|
||||
|
|
@ -525,7 +524,7 @@ static void sub_800A25C(unkStruct_80943A8 *a)
|
|||
a->s0++;
|
||||
}
|
||||
|
||||
static void sub_800A27C(unkStruct_80943A8 *a)
|
||||
static void F48_16_Abs(unkStruct_80943A8 *a)
|
||||
{
|
||||
if (a->s0 < 0) {
|
||||
a->s0 = ~a->s0;
|
||||
|
|
@ -536,21 +535,21 @@ static void sub_800A27C(unkStruct_80943A8 *a)
|
|||
}
|
||||
}
|
||||
|
||||
bool8 sub_800A2A0(unkStruct_80943A8 *a)
|
||||
bool8 F48_16_IsZero(unkStruct_80943A8 *a)
|
||||
{
|
||||
if (a->s0 == 0 && a->s4 == 0)
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
UNUSED bool8 F48_16_AreEqual(unkStruct_80943A8 *a, unkStruct_80943A8 *b)
|
||||
UNUSED bool8 F48_16_IsEqual(unkStruct_80943A8 *a, unkStruct_80943A8 *b)
|
||||
{
|
||||
if (a->s0 == b->s0 && a->s4 == b->s4)
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static bool8 sub_800A2DC(unkStruct_80943A8 *a)
|
||||
static bool8 F48_16_IsNegative(unkStruct_80943A8 *a)
|
||||
{
|
||||
if (a->s0 < 0)
|
||||
return TRUE;
|
||||
|
|
@ -583,7 +582,7 @@ bool8 sub_800A2F0(unkStruct_80943A8 *a, unkStruct_80943A8 *b)
|
|||
}
|
||||
}
|
||||
|
||||
void sub_800A34C(unkStruct_80943A8 *dst, unkStruct_80943A8 *a, unkStruct_80943A8 *b)
|
||||
void F48_16_SMul(unkStruct_80943A8 *dst, unkStruct_80943A8 *a, unkStruct_80943A8 *b)
|
||||
{
|
||||
bool8 aIsNegative;
|
||||
bool8 bIsNegative;
|
||||
|
|
@ -595,34 +594,34 @@ void sub_800A34C(unkStruct_80943A8 *dst, unkStruct_80943A8 *a, unkStruct_80943A8
|
|||
aa.s4 = a->s4;
|
||||
bb.s0 = b->s0;
|
||||
bb.s4 = b->s4;
|
||||
aIsNegative = sub_800A2DC(&aa);
|
||||
bIsNegative = sub_800A2DC(&bb);
|
||||
aIsNegative = F48_16_IsNegative(&aa);
|
||||
bIsNegative = F48_16_IsNegative(&bb);
|
||||
|
||||
if (sub_800A2A0(&aa)) {
|
||||
if (F48_16_IsZero(&aa)) {
|
||||
dst->s0 = 0;
|
||||
dst->s4 = 0;
|
||||
}
|
||||
else if (sub_800A2A0(&bb)) {
|
||||
else if (F48_16_IsZero(&bb)) {
|
||||
dst->s0 = 0;
|
||||
dst->s4 = 0;
|
||||
}
|
||||
else {
|
||||
if (aIsNegative)
|
||||
sub_800A25C(&aa);
|
||||
F48_16_Negate(&aa);
|
||||
|
||||
if (bIsNegative)
|
||||
sub_800A25C(&bb);
|
||||
F48_16_Negate(&bb);
|
||||
|
||||
sub_800A4E4(&res, &aa, &bb);
|
||||
F48_16_UMul(&res, &aa, &bb);
|
||||
if (aIsNegative != bIsNegative)
|
||||
sub_800A25C(&res);
|
||||
F48_16_Negate(&res);
|
||||
|
||||
dst->s0 = res.s0;
|
||||
dst->s4 = res.s4;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_800A3F0(unkStruct_80943A8 *dst, unkStruct_80943A8 *a, unkStruct_80943A8 *b)
|
||||
void F48_16_SDiv(unkStruct_80943A8 *dst, unkStruct_80943A8 *a, unkStruct_80943A8 *b)
|
||||
{
|
||||
bool8 aIsNegative;
|
||||
bool8 bIsNegative;
|
||||
|
|
@ -634,34 +633,34 @@ void sub_800A3F0(unkStruct_80943A8 *dst, unkStruct_80943A8 *a, unkStruct_80943A8
|
|||
aa.s4 = a->s4;
|
||||
bb.s0 = b->s0;
|
||||
bb.s4 = b->s4;
|
||||
aIsNegative = sub_800A2DC(&aa);
|
||||
bIsNegative = sub_800A2DC(&bb);
|
||||
aIsNegative = F48_16_IsNegative(&aa);
|
||||
bIsNegative = F48_16_IsNegative(&bb);
|
||||
|
||||
if (sub_800A2A0(&bb)) {
|
||||
if (F48_16_IsZero(&bb)) {
|
||||
dst->s0 = INT32_MAX;
|
||||
dst->s4 = UINT32_MAX;
|
||||
}
|
||||
else if (sub_800A2A0(&aa)) {
|
||||
else if (F48_16_IsZero(&aa)) {
|
||||
dst->s0 = 0;
|
||||
dst->s4 = 0;
|
||||
}
|
||||
else {
|
||||
if (aIsNegative)
|
||||
sub_800A25C(&aa);
|
||||
F48_16_Negate(&aa);
|
||||
|
||||
if (bIsNegative)
|
||||
sub_800A25C(&bb);
|
||||
F48_16_Negate(&bb);
|
||||
|
||||
sub_800A5A4(&res, &aa, &bb);
|
||||
F48_16_UDiv(&res, &aa, &bb);
|
||||
if (aIsNegative != bIsNegative)
|
||||
sub_800A25C(&res);
|
||||
F48_16_Negate(&res);
|
||||
|
||||
dst->s0 = res.s0;
|
||||
dst->s4 = res.s4;
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_800A4A0(unkStruct_80943A8 *a)
|
||||
static void F48_16_Square(unkStruct_80943A8 *a)
|
||||
{
|
||||
unkStruct_80943A8 aa;
|
||||
unkStruct_80943A8 res;
|
||||
|
|
@ -669,20 +668,20 @@ static void sub_800A4A0(unkStruct_80943A8 *a)
|
|||
aa.s0 = a->s0;
|
||||
aa.s4 = a->s4;
|
||||
|
||||
if (sub_800A2A0(&aa)) {
|
||||
if (F48_16_IsZero(&aa)) {
|
||||
a->s0 = 0;
|
||||
a->s4 = 0;
|
||||
}
|
||||
else {
|
||||
sub_800A27C(&aa);
|
||||
sub_800A4E4(&res, &aa, &aa);
|
||||
F48_16_Abs(&aa);
|
||||
F48_16_UMul(&res, &aa, &aa);
|
||||
a->s0 = res.s0;
|
||||
a->s4 = res.s4;
|
||||
}
|
||||
}
|
||||
|
||||
// Regswap https://decomp.me/scratch/HNmlz
|
||||
static void sub_800A4E4(unkStruct_80943A8 *dst, unkStruct_80943A8 *a, unkStruct_80943A8 *b)
|
||||
static void F48_16_UMul(unkStruct_80943A8 *dst, unkStruct_80943A8 *a, unkStruct_80943A8 *b)
|
||||
{
|
||||
u32 sl;
|
||||
u32 r1;
|
||||
|
|
@ -697,11 +696,11 @@ static void sub_800A4E4(unkStruct_80943A8 *dst, unkStruct_80943A8 *a, unkStruct_
|
|||
u32 r6;
|
||||
s32 i;
|
||||
|
||||
if (sub_800A2A0(a)) {
|
||||
if (F48_16_IsZero(a)) {
|
||||
dst->s0 = 0;
|
||||
dst->s4 = 0;
|
||||
}
|
||||
else if (sub_800A2A0(b)) {
|
||||
else if (F48_16_IsZero(b)) {
|
||||
dst->s0 = 0;
|
||||
dst->s4 = 0;
|
||||
}
|
||||
|
|
@ -752,7 +751,7 @@ static void sub_800A4E4(unkStruct_80943A8 *dst, unkStruct_80943A8 *a, unkStruct_
|
|||
}
|
||||
|
||||
// Similar to u24_8_div
|
||||
static void sub_800A5A4(unkStruct_80943A8 *dst, unkStruct_80943A8 *a, unkStruct_80943A8 *b)
|
||||
static void F48_16_UDiv(unkStruct_80943A8 *dst, unkStruct_80943A8 *a, unkStruct_80943A8 *b)
|
||||
{
|
||||
s32 temp;
|
||||
bool8 r1;
|
||||
|
|
@ -766,11 +765,11 @@ static void sub_800A5A4(unkStruct_80943A8 *dst, unkStruct_80943A8 *a, unkStruct_
|
|||
u32 spC;
|
||||
s32 i;
|
||||
|
||||
if (sub_800A2A0(b)) {
|
||||
if (F48_16_IsZero(b)) {
|
||||
dst->s0 = INT32_MAX;
|
||||
dst->s4 = UINT32_MAX;
|
||||
}
|
||||
else if (sub_800A2A0(a)) {
|
||||
else if (F48_16_IsZero(a)) {
|
||||
dst->s0 = 0;
|
||||
dst->s4 = 0;
|
||||
}
|
||||
|
|
@ -854,7 +853,7 @@ void sub_800A6F0(unkStruct_80943A8 *dst, unkStruct_80943A8 *a, unkStruct_80943A8
|
|||
}
|
||||
|
||||
// Similar to sub_8009F68
|
||||
UNUSED void sub_800A710(unkStruct_80943A8 *dst, unkStruct_80943A8 *a, s32 b)
|
||||
UNUSED void F48_16_Pow(unkStruct_80943A8 *dst, unkStruct_80943A8 *a, s32 b)
|
||||
{
|
||||
unkStruct_80943A8 aa;
|
||||
s32 bb;
|
||||
|
|
@ -871,16 +870,16 @@ UNUSED void sub_800A710(unkStruct_80943A8 *dst, unkStruct_80943A8 *a, s32 b)
|
|||
|
||||
for (; bb != 0; bb >>= 1) {
|
||||
if (bb & 1)
|
||||
sub_800A34C(&res, &res, &aa);
|
||||
F48_16_SMul(&res, &res, &aa);
|
||||
|
||||
sub_800A4A0(&aa);
|
||||
F48_16_Square(&aa);
|
||||
}
|
||||
|
||||
if (b < 0) {
|
||||
unkStruct_80943A8 idk;
|
||||
idk.s0 = 0;
|
||||
idk.s4 = 0x10000;
|
||||
sub_800A3F0(&res, &idk, &res);
|
||||
F48_16_SDiv(&res, &idk, &res);
|
||||
}
|
||||
|
||||
dst->s0 = res.s0;
|
||||
|
|
@ -899,8 +898,8 @@ UNUSED void sub_800A78C(unkStruct_80943A8 *dst, unkStruct_80943A8 *a, unkStruct_
|
|||
|
||||
sp0 = *a;
|
||||
sp8 = *b;
|
||||
sub_800A27C(&sp0);
|
||||
sub_800A27C(&sp8);
|
||||
F48_16_Abs(&sp0);
|
||||
F48_16_Abs(&sp8);
|
||||
|
||||
if (sub_800A2F0(&sp0, &sp8)) {
|
||||
sp10 = sp0;
|
||||
|
|
@ -908,25 +907,25 @@ UNUSED void sub_800A78C(unkStruct_80943A8 *dst, unkStruct_80943A8 *a, unkStruct_
|
|||
sp8 = sp10;
|
||||
}
|
||||
|
||||
if (!sub_800A2A0(&sp8)) {
|
||||
if (!F48_16_IsZero(&sp8)) {
|
||||
i = 0;
|
||||
goto deez; // Fakematch cuz ya (https://decomp.me/scratch/2TCrJ)
|
||||
|
||||
while (i != 2) {
|
||||
sub_800A34C(&sp8, &sp8, &sp10);
|
||||
F48_16_SMul(&sp8, &sp8, &sp10);
|
||||
i++;
|
||||
deez:
|
||||
|
||||
sub_800A3F0(&sp10, &sp8, &sp0);
|
||||
sub_800A4A0(&sp10);
|
||||
F48_16_SDiv(&sp10, &sp8, &sp0);
|
||||
F48_16_Square(&sp10);
|
||||
sp18.s0 = sp10.s0;
|
||||
sp18.s4 = sp10.s4 + 0x40000;
|
||||
|
||||
if (sp18.s4 < sp10.s4)
|
||||
sp18.s0++;
|
||||
|
||||
sub_800A3F0(&sp10, &sp10, &sp18);
|
||||
sub_800A34C(&sp18, &sp0, &sp10);
|
||||
F48_16_SDiv(&sp10, &sp10, &sp18);
|
||||
F48_16_SMul(&sp18, &sp0, &sp10);
|
||||
sp18.s0 <<= 1;
|
||||
if ((s32)sp18.s4 < 0)
|
||||
sp18.s0 |= 0x1;
|
||||
|
|
|
|||
|
|
@ -109,7 +109,7 @@ bool8 sub_806E100(unkStruct_80943A8 *param_1, Entity *pokemon, Entity *target, u
|
|||
param_5->effectiveness = EFFECTIVENESS_NEUTRAL;
|
||||
for (index = 0; index < 2; index++) {
|
||||
local_48 = gUnknown_8106F54;
|
||||
if (sub_800A2A0(param_1)) break;
|
||||
if (F48_16_IsZero(param_1)) break;
|
||||
if (((normalOrFightingType) && (targetInfo->types[index] == TYPE_GHOST)) && (targetInfo->exposed == FALSE)) {
|
||||
effectiveness = EFFECTIVENESS_IMMUNE;
|
||||
gDungeon->unk134.pokemonExposed = TRUE;
|
||||
|
|
@ -118,7 +118,7 @@ bool8 sub_806E100(unkStruct_80943A8 *param_1, Entity *pokemon, Entity *target, u
|
|||
effectiveness = gTypeEffectivenessChart[type][targetInfo->types[index]];
|
||||
}
|
||||
if (effectiveness != EFFECTIVENESS_NEUTRAL) {
|
||||
sub_800A34C(param_1,param_1,local_48.unk0[effectiveness]);
|
||||
F48_16_SMul(param_1,param_1,local_48.unk0[effectiveness]);
|
||||
}
|
||||
local_38[index] = effectiveness;
|
||||
gDungeon->unk134.unk13C[index] = effectiveness;
|
||||
|
|
@ -134,7 +134,7 @@ bool8 sub_806E100(unkStruct_80943A8 *param_1, Entity *pokemon, Entity *target, u
|
|||
|
||||
if (((type == TYPE_FIRE) || (type == TYPE_ICE)) && (HasAbility(target,ABILITY_THICK_FAT))) {
|
||||
gDungeon->unk134.unk16D = TRUE;
|
||||
sub_800A34C(param_1,param_1, &gUnknown_8106F1C);
|
||||
F48_16_SMul(param_1,param_1, &gUnknown_8106F1C);
|
||||
}
|
||||
if ((type == TYPE_FIRE) && (GetFlashFireStatus(target) != FLASH_FIRE_STATUS_NONE)) {
|
||||
gDungeon->unk134.fill16E[0] = TRUE;
|
||||
|
|
@ -157,7 +157,7 @@ bool8 sub_806E100(unkStruct_80943A8 *param_1, Entity *pokemon, Entity *target, u
|
|||
torrentVisualFlag = SetVisualFlags(pokemonInfo,0x80,torrentFlag);
|
||||
if (torrentFlag) {
|
||||
gDungeon->unk134.fill16E[2] = TRUE;
|
||||
sub_800A34C(param_1,param_1, &gUnknown_8106F0C);
|
||||
F48_16_SMul(param_1,param_1, &gUnknown_8106F0C);
|
||||
}
|
||||
if (torrentVisualFlag) {
|
||||
sub_80428EC(pokemon);
|
||||
|
|
@ -169,7 +169,7 @@ bool8 sub_806E100(unkStruct_80943A8 *param_1, Entity *pokemon, Entity *target, u
|
|||
overgrowVisualFlag = SetVisualFlags(pokemonInfo,2,overgrowFlag);
|
||||
if (overgrowFlag) {
|
||||
gDungeon->unk134.fill16E[3] = TRUE;
|
||||
sub_800A34C(param_1,param_1, &gUnknown_8106F0C);
|
||||
F48_16_SMul(param_1,param_1, &gUnknown_8106F0C);
|
||||
}
|
||||
if (overgrowVisualFlag) {
|
||||
sub_80428D8(pokemon);
|
||||
|
|
@ -181,7 +181,7 @@ bool8 sub_806E100(unkStruct_80943A8 *param_1, Entity *pokemon, Entity *target, u
|
|||
swarmVisualFlag = SetVisualFlags(pokemonInfo,0x10,swarmFlag);
|
||||
if (swarmFlag) {
|
||||
gDungeon->unk134.fill16E[4] = TRUE;
|
||||
sub_800A34C(param_1,param_1, &gUnknown_8106F0C);
|
||||
F48_16_SMul(param_1,param_1, &gUnknown_8106F0C);
|
||||
}
|
||||
if (swarmVisualFlag) {
|
||||
sub_8042978(pokemon);
|
||||
|
|
@ -193,53 +193,53 @@ bool8 sub_806E100(unkStruct_80943A8 *param_1, Entity *pokemon, Entity *target, u
|
|||
blazeVisualFlag = SetVisualFlags(pokemonInfo,0x20,blazeFlag);
|
||||
if (blazeFlag) {
|
||||
gDungeon->unk134.fill16E[5] = TRUE;
|
||||
sub_800A34C(param_1,param_1, &gUnknown_8106F0C);
|
||||
F48_16_SMul(param_1,param_1, &gUnknown_8106F0C);
|
||||
}
|
||||
if (blazeVisualFlag) {
|
||||
sub_804298C(pokemon);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FEDE8);
|
||||
}
|
||||
}
|
||||
if (!(sub_800A2A0(param_1)) && (MonsterIsType(pokemon, type))) {
|
||||
if (!(F48_16_IsZero(param_1)) && (MonsterIsType(pokemon, type))) {
|
||||
gDungeon->unk134.fill16E[6] = TRUE;
|
||||
sub_800A34C(param_1,param_1, &gUnknown_8106F14);
|
||||
F48_16_SMul(param_1,param_1, &gUnknown_8106F14);
|
||||
}
|
||||
weather = GetApparentWeather(pokemon);
|
||||
if (weather == WEATHER_SUNNY) {
|
||||
if (type == TYPE_FIRE) {
|
||||
gDungeon->unk134.unk16C = TRUE;
|
||||
sub_800A34C(param_1,param_1, &gUnknown_8106F14);
|
||||
F48_16_SMul(param_1,param_1, &gUnknown_8106F14);
|
||||
}
|
||||
else if (type == TYPE_WATER) {
|
||||
gDungeon->unk134.unk16C = TRUE;
|
||||
sub_800A34C(param_1,param_1, &gUnknown_8106F1C);
|
||||
F48_16_SMul(param_1,param_1, &gUnknown_8106F1C);
|
||||
}
|
||||
}
|
||||
if (weather == WEATHER_RAIN) {
|
||||
if (type == TYPE_FIRE) {
|
||||
gDungeon->unk134.unk16B = TRUE;
|
||||
sub_800A34C(param_1,param_1, &gUnknown_8106F1C);
|
||||
F48_16_SMul(param_1,param_1, &gUnknown_8106F1C);
|
||||
}
|
||||
else if (type == TYPE_WATER) {
|
||||
gDungeon->unk134.unk16B = TRUE;
|
||||
sub_800A34C(param_1,param_1, &gUnknown_8106F14);
|
||||
F48_16_SMul(param_1,param_1, &gUnknown_8106F14);
|
||||
}
|
||||
}
|
||||
if ((weather == WEATHER_CLOUDY) && (type != TYPE_NORMAL)) {
|
||||
sub_800A34C(param_1,param_1, &gUnknown_8106F64);
|
||||
F48_16_SMul(param_1,param_1, &gUnknown_8106F64);
|
||||
gDungeon->unk134.unk16A = TRUE;
|
||||
}
|
||||
if (((gDungeon->weather.mudSportTurns != 0) || (weather == WEATHER_FOG)) && (type == TYPE_ELECTRIC)) {
|
||||
gDungeon->unk134.fill16E[7] = TRUE;
|
||||
sub_800A34C(param_1,param_1, &gUnknown_8106F1C);
|
||||
F48_16_SMul(param_1,param_1, &gUnknown_8106F1C);
|
||||
}
|
||||
if ((gDungeon->weather.waterSportTurns != 0) && (type == TYPE_FIRE)) {
|
||||
gDungeon->unk134.fill16E[8] = TRUE;
|
||||
sub_800A34C(param_1,param_1, &gUnknown_8106F1C);
|
||||
F48_16_SMul(param_1,param_1, &gUnknown_8106F1C);
|
||||
}
|
||||
if ((type == TYPE_ELECTRIC) && (pokemonInfo->charging.chargingStatus == STATUS_CHARGING)) {
|
||||
gDungeon->unk134.fill16E[9] = TRUE;
|
||||
sub_800A34C(param_1,param_1, &gUnknown_8106F0C);
|
||||
F48_16_SMul(param_1,param_1, &gUnknown_8106F0C);
|
||||
}
|
||||
}
|
||||
return bVar4;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user