|
SSBM Decomp
|
#include "ftcoll.h"#include "fighter.h"#include "ft_081B.h"#include "ft_0877.h"#include "ftcolanim.h"#include "ftcommon.h"#include "ftdevice.h"#include "ftlib.h"#include <placeholder.h>#include <platform.h>#include "ef/efsync.h"#include "ft/forward.h"#include "ft/inlines.h"#include "ft/types.h"#include "ftCommon/ftCo_Bury.h"#include "ftCommon/ftCo_Guard.h"#include "ftCommon/types.h"#include "gm/gm_unsplit.h"#include "gr/forward.h"#include "it/forward.h"#include "it/it_26B1.h"#include "lb/lb_00B0.h"#include "lb/lbcollision.h"#include "lb/types.h"#include "pl/plbonuslib.h"#include <common_structs.h>#include <math.h>#include <dolphin/mtx.h>#include <baselib/debug.h>#include <baselib/gobj.h>Data Structures | |
| struct | UnkSize320_t |
| struct | ftCollSFX |
Functions | |
| static void | ftColl_8007A06C (float facing_dir, DmgLogEntry **log, int idx, bool) |
| void | ftColl_800763C0 (Fighter_GObj *attacker, Fighter_GObj *victim, enum_t attack_id) |
| Combo Count Logic. | |
| void | ftColl_80076444 (Fighter_GObj *attacker, Fighter_GObj *victim) |
| Combo Count Logic + Get Attack ID. | |
| void | ftColl_8007646C (Item_GObj *attackItem, Fighter_GObj *victim) |
| Combo Count Logic w/ Item Owner. | |
| void | ftColl_800764DC (Fighter_GObj *gobj) |
| Check to end combo for victim. | |
| void | comboCount_Push (Fighter *fp) |
| void | ftColl_80076528 (Fighter_GObj *gobj) |
| Combo count something + adjust FtPart_TopN. | |
| void | ftColl_800765AC (Fighter_GObj *victim) |
| Clear victim pointer from attacker upon freeing memory? | |
| void | ftColl_800765E0 (void) |
| Reset hitbox and phantom collision count? | |
| float | ftColl_800765F0 (Fighter *fp, Fighter_GObj *victim, float arg2) |
| static int | getEnvDmg (float dmg) |
| bool | ftColl_80076640 (Fighter *fp, float *dmg) |
| void | ftColl_80076764 (int arg0, enum_t arg1, Fighter_GObj *arg2, DynamicsDesc *arg3, Fighter *fp, FighterHurtCapsule *hurt) |
| void | ftColl_80076808 (Fighter *fp, HitCapsule *hit, int arg2, void *victim, bool arg4) |
| static void | ftColl_80076808_dontinline (Fighter *fp, HitCapsule *hit, int arg2, void *victim, bool arg4) |
| void | ftColl_800768A0 (Fighter *fp, HitCapsule *dst) |
| static void | inlineA0 (Fighter *fp0, Fighter *fp1, HitCapsule *hit1, Vec3 *ef_pos, float dmg) |
| static bool | inlineA1 (Fighter *fp0, HitCapsule *hit0, Fighter *fp1, HitCapsule *hit1, Vec3 *ef_pos, float dmg) |
| bool | ftColl_8007699C (Fighter *fp0, HitCapsule *hit0, Fighter *fp1, HitCapsule *hit1) |
| static bool | ftColl_8007699C_dontinline (Fighter *fp0, HitCapsule *hit0, Fighter *fp1, HitCapsule *hit1) |
| void | ftColl_80076CBC (Fighter *fp0, HitCapsule *hit0, Fighter *fp1) |
| void | inlineB0 (Fighter *fp0, HitCapsule *hitbox, Fighter *fp1, int arg3, bool(*cb)(HitCapsule *hit, int arg1, void *fp)) |
| static HitCapsuleState | checkTipLog (UNK_T victim, HitCapsule *hit) |
| Loop through phantom hit victims. | |
| static bool | inlineB1 (HitCapsule *hit0) |
| static bool | inlineB2 (Fighter *fp1, float dmg, int var_r24_3) |
| static float | inlineB3 (Fighter *fp0, HitCapsule *hit0, Fighter *fp1) |
| bool | ftColl_80076ED8 (Fighter *fp0, HitCapsule *hit0, Fighter *fp1, HitCapsule *hit1) |
| void | ftColl_80077464 (void) |
| void | ftColl_80077688 (Item *item, HitCapsule *hurt, Fighter *fp, Vec3 *pos, f32 val) |
| void | ftColl_80077970 (void) |
| void | ftColl_80077C60 (void) |
| static int | getUnkVal (Fighter *fp, int i) |
| void | ftColl_80078384 (Fighter *fp, FighterHurtCapsule *arg1, HitCapsule *arg2) |
| void | ftColl_80078488 (Fighter *fp) |
| void | ftColl_800784B4 (Fighter *arg0, HitCapsule *arg1, HitCapsule *arg2) |
| void | ftColl_80078538 (void) |
| void | ftColl_8007861C (Fighter_GObj *arg0, Fighter_GObj *gobj, int arg2, int arg3, int arg4, UNK_T arg5, int arg6, UNK_T arg7, int arg8) |
| void | ftColl_80078710 (Fighter_GObj *arg0, Fighter_GObj *arg1, UNK_T arg2) |
| void | ftColl_80078754 (Fighter_GObj *arg0, Fighter_GObj *arg1, bool arg2) |
| void | ftColl_800787B4 (Item_GObj *arg0, Fighter_GObj *arg1, int arg2) |
| void | ftColl_800788D4 (Fighter_GObj *gobj) |
| void | ftColl_8007891C (Fighter_GObj *arg0, Fighter_GObj *arg1, float arg2) |
| void | ftColl_80078998 (void) |
| HitCapsule * | HitCapsuleGetPtr (Fighter *fp, u32 i) |
| void | ftGrabDist (Fighter *this_fp, Fighter *victim_fp) |
| void | ftColl_80078A2C (Fighter_GObj *this_gobj) |
| Checks for grabbable targets. | |
| void | ftColl_80078C70 (Fighter_GObj *this_gobj) |
| void | ftColl_8007925C (Fighter_GObj *gobj) |
| float | ftColl_80079AB0 (Fighter *fp, HitCapsule *hit, int unk_count, float arg3, float attack, float defense, float weight) |
| float | ftColl_80079C70 (Fighter *arg0, Fighter *arg1, UNK_T arg2, int arg3) |
| float | ftColl_80079EA8 (Fighter *arg0, HitCapsule *arg1, int arg2) |
| void | ftColl_8007AB48 (Fighter_GObj *gobj) |
| void | ftColl_8007AB80 (Fighter_GObj *gobj) |
| void | ftColl_8007ABD0 (HitCapsule *arg0, u32 arg1, Fighter_GObj *arg2) |
| bool | ftColl_8007AC68 (u32 kb_angle) |
| void | ftColl_8007AC9C (HitCapsule *arg0, int arg1, Fighter_GObj *arg2) |
| void | ftColl_8007AD18 (Fighter *fp, HitCapsule *arg1) |
| void | ftColl_8007AE80 (Fighter_GObj *gobj) |
| void | ftColl_8007AEE0 (Fighter_GObj *gobj) |
| void | ftColl_8007AEF8 (Fighter_GObj *gobj) |
| Enable Reflect Bubble Update. | |
| void | ftColl_8007AF10 (Fighter_GObj *gobj) |
| void | ftColl_8007AF28 (Fighter_GObj *gobj) |
| void | ftColl_8007AF60 (Fighter_GObj *gobj) |
| void | ftColl_8007AFC8 (Fighter_GObj *gobj, int hit_idx) |
| void | ftColl_8007AFF8 (Fighter_GObj *gobj) |
| void | ftColl_8007B064 (Fighter_GObj *gobj, int arg1) |
| void | ftColl_8007B0C0 (Fighter_GObj *gobj, HurtCapsuleState arg1) |
| void | ftColl_8007B128 (Fighter_GObj *fighter_gobj, int bone_id, HurtCapsuleState state) |
| Set hurt capsule state. | |
| void | ftColl_8007B1B8 (Fighter_GObj *gobj, ShieldDesc *shield, HSD_GObjEvent cb) |
| void | ftColl_CreateReflectHit (Fighter_GObj *gobj, ReflectDesc *reflect, HSD_GObjEvent cb) |
| void | ftColl_CreateAbsorbHit (Fighter_GObj *gobj, AbsorbDesc *absorb) |
| void | ftColl_8007B320 (Fighter_GObj *gobj) |
| void | ftColl_8007B4E0 (Fighter_GObj *gobj) |
| void | ftColl_HurtboxInit (Fighter *fp, FighterHurtCapsule *hurt, ftHurtboxInit *init) |
| void | ftColl_8007B62C (Fighter_GObj *gobj, enum_t arg1) |
| void | ftColl_8007B6A0 (Fighter_GObj *gobj) |
| enum_t | inlineC0 (Fighter *fp) |
| void | ftColl_8007B6EC (Fighter_GObj *gobj) |
| void | ftColl_8007B760 (Fighter_GObj *gobj, int arg1) |
| void | ftColl_8007B7A4 (Fighter_GObj *gobj, int arg1) |
| void | ftColl_8007B7FC (Fighter *fp, int arg1) |
| s32 | ftColl_8007B868 (Fighter_GObj *gobj) |
| void | ftColl_8007B8A8 (HitCapsule *hit, Vec3 *vec) |
| Update hitbox positions. | |
| void | ftColl_8007B8CC (Fighter *fp, Fighter_GObj *grabber_gobj) |
| void | ftColl_8007B8E8 (Fighter_GObj *gobj) |
| s32 | func_800C0A28 (HSD_GObj *, u32, s32) |
| void | ftColl_GetWindOffsetVec (HSD_GObj *fgp, Vec3 *out_wind) |
| void | ftColl_8007BA0C (Fighter_GObj *gobj) |
| void | ftColl_8007BAC0 (Fighter_GObj *gobj) |
| float | ftColl_8007BBCC (UNUSED Fighter_GObj *gobj) |
| void | ftColl_8007BC90 (Fighter_GObj *gobj) |
| void | ftColl_8007BE3C (Fighter_GObj *gobj) |
Variables | |
| int | ftColl_803C0C40 [] = { 141, 142, 143 } |
| int | ftColl_803C0C4C [] = { 107, 108, 109 } |
| static UNUSED int | ftColl_803C0CAC [] |
| static UNUSED char | ftColl_803C0CF0 [] |
| static UNUSED char | assert_msg_1 [] = "fighter hit num over!\n" |
| static UNUSED char | assert_msg_2 [] = "fighter dynamics hit num over!\n" |
| static DmgLogEntry | dmg_log0 [20] |
| struct DmgLogEntry | dmg_log1 [20] |
| char *const | ftColl_804D3A68 |
| static size_t | dmg_log0_idx |
| static size_t | dmg_log1_idx |
| static s8 | ftColl_804D6560 [8] |
| float const | ftColl_804D82E0 = 0 |
| float const | ftColl_804D82E4 = 500 |
| float const | ftColl_804D82E8 = 0.5 |
| float const | ftColl_804D82EC = +1 |
| float const | ftColl_804D82F0 = -1 |
| double const | ftColl_804D82F8 = S32_TO_F32 |
| float const | ftColl_804D8300 = deg_to_rad |
| double const | ftColl_804D8308 = U32_TO_F32 |
| float const | ftColl_804D8310 = F32_MAX |
| float const | ftColl_804D8314 = 0.01 |
| float const | ftColl_804D8318 = 1e-5 |
| float const | ftColl_804D831C = rad_to_deg |
| struct ftCollSFX | lbl_803C0C40 |
|
static |
| void ftColl_800763C0 | ( | Fighter_GObj * | attacker, |
| Fighter_GObj * | victim, | ||
| enum_t | attack_id | ||
| ) |
Combo Count Logic.
| void ftColl_80076444 | ( | Fighter_GObj * | attacker, |
| Fighter_GObj * | victim | ||
| ) |
Combo Count Logic + Get Attack ID.
| void ftColl_8007646C | ( | Item_GObj * | attackItem, |
| Fighter_GObj * | victim | ||
| ) |
Combo Count Logic w/ Item Owner.
| void ftColl_800764DC | ( | Fighter_GObj * | gobj | ) |
Check to end combo for victim.
|
inline |
| void ftColl_80076528 | ( | Fighter_GObj * | gobj | ) |
Combo count something + adjust FtPart_TopN.
| void ftColl_800765AC | ( | Fighter_GObj * | victim | ) |
Clear victim pointer from attacker upon freeing memory?
| void ftColl_800765E0 | ( | void | ) |
Reset hitbox and phantom collision count?
| float ftColl_800765F0 | ( | Fighter * | fp, |
| Fighter_GObj * | victim, | ||
| float | arg2 | ||
| ) |
|
static |
| void ftColl_80076764 | ( | int | arg0, |
| enum_t | arg1, | ||
| Fighter_GObj * | arg2, | ||
| DynamicsDesc * | arg3, | ||
| Fighter * | fp, | ||
| FighterHurtCapsule * | hurt | ||
| ) |
| void ftColl_80076808 | ( | Fighter * | fp, |
| HitCapsule * | hit, | ||
| int | arg2, | ||
| void * | victim, | ||
| bool | arg4 | ||
| ) |
|
inlinestatic |
| void ftColl_800768A0 | ( | Fighter * | fp, |
| HitCapsule * | dst | ||
| ) |
|
inlinestatic |
|
inlinestatic |
| bool ftColl_8007699C | ( | Fighter * | fp0, |
| HitCapsule * | hit0, | ||
| Fighter * | fp1, | ||
| HitCapsule * | hit1 | ||
| ) |
|
inlinestatic |
| void ftColl_80076CBC | ( | Fighter * | fp0, |
| HitCapsule * | hit0, | ||
| Fighter * | fp1 | ||
| ) |
|
inline |
|
inlinestatic |
Loop through phantom hit victims.
|
inlinestatic |
|
inlinestatic |
| bool ftColl_80076ED8 | ( | Fighter * | fp0, |
| HitCapsule * | hit0, | ||
| Fighter * | fp1, | ||
| HitCapsule * | hit1 | ||
| ) |
| void ftColl_80077464 | ( | void | ) |
| void ftColl_80077688 | ( | Item * | item, |
| HitCapsule * | hurt, | ||
| Fighter * | fp, | ||
| Vec3 * | pos, | ||
| f32 | val | ||
| ) |
| void ftColl_80077970 | ( | void | ) |
| void ftColl_80077C60 | ( | void | ) |
|
inlinestatic |
| void ftColl_80078384 | ( | Fighter * | fp, |
| FighterHurtCapsule * | arg1, | ||
| HitCapsule * | arg2 | ||
| ) |
| void ftColl_80078488 | ( | Fighter * | fp | ) |
| void ftColl_800784B4 | ( | Fighter * | arg0, |
| HitCapsule * | arg1, | ||
| HitCapsule * | arg2 | ||
| ) |
| void ftColl_80078538 | ( | void | ) |
| void ftColl_8007861C | ( | Fighter_GObj * | arg0, |
| Fighter_GObj * | gobj, | ||
| int | arg2, | ||
| int | arg3, | ||
| int | arg4, | ||
| UNK_T | arg5, | ||
| int | arg6, | ||
| UNK_T | arg7, | ||
| int | arg8 | ||
| ) |
| void ftColl_80078710 | ( | Fighter_GObj * | arg0, |
| Fighter_GObj * | arg1, | ||
| UNK_T | arg2 | ||
| ) |
| void ftColl_80078754 | ( | Fighter_GObj * | arg0, |
| Fighter_GObj * | arg1, | ||
| bool | arg2 | ||
| ) |
| void ftColl_800787B4 | ( | Item_GObj * | arg0, |
| Fighter_GObj * | arg1, | ||
| int | arg2 | ||
| ) |
| void ftColl_800788D4 | ( | Fighter_GObj * | gobj | ) |
| void ftColl_8007891C | ( | Fighter_GObj * | arg0, |
| Fighter_GObj * | arg1, | ||
| float | arg2 | ||
| ) |
| void ftColl_80078998 | ( | void | ) |
|
inline |
| void ftColl_80078A2C | ( | Fighter_GObj * | this_gobj | ) |
Checks for grabbable targets.
| void ftColl_80078C70 | ( | Fighter_GObj * | this_gobj | ) |
| void ftColl_8007925C | ( | Fighter_GObj * | gobj | ) |
| float ftColl_80079AB0 | ( | Fighter * | fp, |
| HitCapsule * | hit, | ||
| int | unk_count, | ||
| float | arg3, | ||
| float | attack, | ||
| float | defense, | ||
| float | weight | ||
| ) |
| float ftColl_80079EA8 | ( | Fighter * | arg0, |
| HitCapsule * | arg1, | ||
| int | arg2 | ||
| ) |
| void ftColl_8007AB48 | ( | Fighter_GObj * | gobj | ) |
| void ftColl_8007AB80 | ( | Fighter_GObj * | gobj | ) |
| void ftColl_8007ABD0 | ( | HitCapsule * | arg0, |
| u32 | arg1, | ||
| Fighter_GObj * | arg2 | ||
| ) |
| bool ftColl_8007AC68 | ( | u32 | kb_angle | ) |
| void ftColl_8007AC9C | ( | HitCapsule * | arg0, |
| int | arg1, | ||
| Fighter_GObj * | arg2 | ||
| ) |
| void ftColl_8007AD18 | ( | Fighter * | fp, |
| HitCapsule * | arg1 | ||
| ) |
| void ftColl_8007AE80 | ( | Fighter_GObj * | gobj | ) |
| void ftColl_8007AEE0 | ( | Fighter_GObj * | gobj | ) |
| void ftColl_8007AEF8 | ( | Fighter_GObj * | gobj | ) |
Enable Reflect Bubble Update.
| void ftColl_8007AF10 | ( | Fighter_GObj * | gobj | ) |
| void ftColl_8007AF28 | ( | Fighter_GObj * | gobj | ) |
| void ftColl_8007AF60 | ( | Fighter_GObj * | gobj | ) |
| void ftColl_8007AFC8 | ( | Fighter_GObj * | gobj, |
| int | hit_idx | ||
| ) |
| void ftColl_8007AFF8 | ( | Fighter_GObj * | gobj | ) |
| void ftColl_8007B064 | ( | Fighter_GObj * | gobj, |
| int | arg1 | ||
| ) |
| void ftColl_8007B0C0 | ( | Fighter_GObj * | gobj, |
| HurtCapsuleState | arg1 | ||
| ) |
| void ftColl_8007B128 | ( | Fighter_GObj * | fighter_gobj, |
| int | bone_id, | ||
| HurtCapsuleState | state | ||
| ) |
Set hurt capsule state.
| void ftColl_8007B1B8 | ( | Fighter_GObj * | gobj, |
| ShieldDesc * | shield, | ||
| HSD_GObjEvent | cb | ||
| ) |
shield is AbsorbDesc, and AbsorbDesc is part of ShieldDesc | void ftColl_CreateReflectHit | ( | Fighter_GObj * | gobj, |
| ReflectDesc * | reflect, | ||
| HSD_GObjEvent | cb | ||
| ) |
| void ftColl_CreateAbsorbHit | ( | Fighter_GObj * | gobj, |
| AbsorbDesc * | absorb | ||
| ) |
| void ftColl_8007B320 | ( | Fighter_GObj * | gobj | ) |
| void ftColl_8007B4E0 | ( | Fighter_GObj * | gobj | ) |
| void ftColl_HurtboxInit | ( | Fighter * | fp, |
| FighterHurtCapsule * | hurt, | ||
| ftHurtboxInit * | init | ||
| ) |
| void ftColl_8007B62C | ( | Fighter_GObj * | gobj, |
| enum_t | arg1 | ||
| ) |
| void ftColl_8007B6A0 | ( | Fighter_GObj * | gobj | ) |
| void ftColl_8007B6EC | ( | Fighter_GObj * | gobj | ) |
| void ftColl_8007B760 | ( | Fighter_GObj * | gobj, |
| int | arg1 | ||
| ) |
| void ftColl_8007B7A4 | ( | Fighter_GObj * | gobj, |
| int | arg1 | ||
| ) |
| void ftColl_8007B7FC | ( | Fighter * | fp, |
| int | arg1 | ||
| ) |
| s32 ftColl_8007B868 | ( | Fighter_GObj * | gobj | ) |
| void ftColl_8007B8A8 | ( | HitCapsule * | hit, |
| Vec3 * | vec | ||
| ) |
Update hitbox positions.
| void ftColl_8007B8CC | ( | Fighter * | fp, |
| Fighter_GObj * | grabber_gobj | ||
| ) |
| void ftColl_8007B8E8 | ( | Fighter_GObj * | gobj | ) |
| s32 func_800C0A28 | ( | HSD_GObj * | , |
| u32 | , | ||
| s32 | |||
| ) |
| void ftColl_GetWindOffsetVec | ( | HSD_GObj * | fgp, |
| Vec3 * | out_wind | ||
| ) |
| void ftColl_8007BA0C | ( | Fighter_GObj * | gobj | ) |
| void ftColl_8007BAC0 | ( | Fighter_GObj * | gobj | ) |
| float ftColl_8007BBCC | ( | UNUSED Fighter_GObj * | gobj | ) |
| void ftColl_8007BC90 | ( | Fighter_GObj * | gobj | ) |
| void ftColl_8007BE3C | ( | Fighter_GObj * | gobj | ) |
| int ftColl_803C0C40[] = { 141, 142, 143 } |
| int ftColl_803C0C4C[] = { 107, 108, 109 } |
|
static |
|
static |
|
static |
|
static |
|
static |
| struct DmgLogEntry dmg_log1[20] |
| char* const ftColl_804D3A68 |
|
static |
|
static |
|
static |
| float const ftColl_804D82E0 = 0 |
| float const ftColl_804D82E4 = 500 |
| float const ftColl_804D82E8 = 0.5 |
| float const ftColl_804D82EC = +1 |
| float const ftColl_804D82F0 = -1 |
| double const ftColl_804D82F8 = S32_TO_F32 |
| float const ftColl_804D8300 = deg_to_rad |
| double const ftColl_804D8308 = U32_TO_F32 |
| float const ftColl_804D8310 = F32_MAX |
| float const ftColl_804D8314 = 0.01 |
| float const ftColl_804D8318 = 1e-5 |
| float const ftColl_804D831C = rad_to_deg |
| struct ftCollSFX lbl_803C0C40 |