SSBM Decomp
Loading...
Searching...
No Matches
ftNs_SpecialHi.c File Reference
#include <platform.h>
#include <dolphin/mtx/forward.h>
#include "ftNs_SpecialHi.h"
#include "ftNs_Init.h"
#include "ef/eflib.h"
#include "ef/efsync.h"
#include "ft/fighter.h"
#include "ft/ft_081B.h"
#include "ft/ft_0892.h"
#include "ft/ft_0C88.h"
#include "ft/ftanim.h"
#include "ft/ftcliffcommon.h"
#include "ft/ftcommon.h"
#include "ft/ftparts.h"
#include "ft/types.h"
#include "ftCommon/ftCo_DownBound.h"
#include "ftCommon/ftCo_FallSpecial.h"
#include "ftNess/types.h"
#include "it/items/itnesspkthunderball.h"
#include "lb/lb_00B0.h"
#include "lb/lbvector.h"
#include <math.h>
#include <math_ppc.h>
#include <trigf.h>
#include <MetroTRK/intrinsics.h>

Macros

#define FTNESS_SPECIALHI_COLL_FLAG
 
#define FTNESS_JIBAKU_COLL_FLAG
 

Functions

static float return_float1 (void)
 
static float return_float2 (void)
 
static float return_float3 (void)
 
static float return_float4 (void)
 
static float return_float5 (void)
 
static f64 return_float6 (void)
 
static f64 return_float7 (void)
 
static f64 return_float8 (void)
 
static float return_float9 (void)
 
static f64 return_float10 (void)
 
static float return_float12 (void)
 
static float return_float13 (void)
 
static float return_float14 (void)
 
static float return_float15 (void)
 
static f64 return_float16 (void)
 
static f64 return_float17 (void)
 
static float return_float18 (void)
 
static float return_float19 (void)
 
static f64 return_float20 (void)
 
void ftNs_SpecialHiStopGFX (HSD_GObj *gobj)
 
static float fabs_inline_ness (float x)
 
bool check_distance (Vec3 *pos, Vec2 *pair)
 
bool ftNs_SpecialHi_ItemPKThunder_CheckNessCollide (HSD_GObj *gobj)
 
bool ftNs_SpecialHi_CheckSpecialHiHold (HSD_GObj *gobj)
 Checks if Ness is in SpecialHiHold/SpecialAirHiHold (PK Thunder control loop)
 
void ftNs_SpecialHi_ItemPKThunderRemove (HSD_GObj *gobj)
 
void ftNs_SpecialHi_TakeDamage (HSD_GObj *gobj)
 
void ftNs_SpecialHi_ItemPKThunderCheckOwn (HSD_GObj *gobj, HSD_GObj *thunder_gobj)
 
static void ftNs_SpecialAirHi_CollisionModVel (HSD_GObj *gobj, CollData *coll_data)
 
void ftNs_SpecialHiStart_Enter (HSD_GObj *gobj)
 
void ftNs_SpecialAirHiStart_Enter (HSD_GObj *gobj)
 
void ftNs_SpecialHi_Enter (HSD_GObj *gobj)
 
void NessFloatMath_PKThunder2 (HSD_GObj *gobj)
 
void ftNs_SpecialAirHi_Enter (HSD_GObj *gobj)
 Ness's PK Thunder 2 Motion State handler if Ness is launching into SpecialAirHi from SpecialHiHold.
 
void ftNs_SpecialHiStart_Anim (HSD_GObj *gobj)
 PK Thunder Grounded Startup Animation.
 
void ftNs_SpecialHiHold_Anim (HSD_GObj *gobj)
 
void ftNs_SpecialHiEnd_Anim (HSD_GObj *gobj)
 Ness's grounded PK Thunder End Animation callback.
 
void ftNs_SpecialHi_Anim (HSD_GObj *gobj)
 Ness's grounded PK Thunder 2 Animation callback.
 
void ftNs_SpecialAirHiStart_Anim (HSD_GObj *gobj)
 Ness's aerial PK Thunder Start Animation callback.
 
void ftNs_SpecialAirHiHold_Anim (HSD_GObj *gobj)
 Ness's aerial PK Thunder Control Loop Animation callback.
 
void ftNs_SpecialAirHiEnd_Anim (HSD_GObj *gobj)
 Ness's aerial PK Thunder End Animation callback.
 
void ftNs_SpecialAirHi_Anim (HSD_GObj *gobj)
 Ness's aerial PK Thunder 2 Animation callback.
 
void ftNs_SpecialAirHiRebound_Anim (HSD_GObj *gobj)
 Ness's PK Thunder 2 Wall Rebound Animation callback.
 
void ftNs_SpecialHiStart_IASA (HSD_GObj *gobj)
 
void ftNs_SpecialHiHold_IASA (HSD_GObj *gobj)
 
void ftNs_SpecialHiEnd_IASA (HSD_GObj *gobj)
 
void ftNs_SpecialHi_IASA (HSD_GObj *gobj)
 
void ftNs_SpecialAirHiStart_IASA (HSD_GObj *gobj)
 
void ftNs_SpecialAirHiHold_IASA (HSD_GObj *gobj)
 
void ftNs_SpecialAirHiEnd_IASA (HSD_GObj *gobj)
 
void ftNs_SpecialAirHi_IASA (HSD_GObj *gobj)
 
void ftNs_SpecialAirHiRebound_IASA (HSD_GObj *gobj)
 
void ThunderPhysTimer (HSD_GObj *gobj)
 
void ftNs_SpecialHiStart_Phys (HSD_GObj *gobj)
 
void ftNs_SpecialHiHold_Phys (HSD_GObj *gobj)
 
void ftNs_SpecialHiEnd_Phys (HSD_GObj *gobj)
 
void ftNs_SpecialHi_Phys (HSD_GObj *gobj)
 Ness's grounded PK Thunder 2 Physics callback.
 
void ftNs_SpecialAirHiStart_Phys (HSD_GObj *gobj)
 Ness's aerial PK Thunder Start Physics callback.
 
void ftNs_SpecialAirHiHold_Phys (HSD_GObj *gobj)
 
void ftNs_SpecialAirHiEnd_Phys (HSD_GObj *gobj)
 Ness's aerial PK Thunder End Physics callback.
 
void ftNess_atan2 (HSD_GObj *gobj)
 
void * getFtSpecialAttrs2 (Fighter *fp)
 
void ftNs_SpecialAirHi_Phys (HSD_GObj *gobj)
 
void ftNs_SpecialAirHiRebound_Phys (HSD_GObj *gobj)
 
void ftNs_SpecialHiStart_Coll (HSD_GObj *gobj)
 
void ftNs_SpecialHiHold_Coll (HSD_GObj *gobj)
 
void ftNs_SpecialHiEnd_Coll (HSD_GObj *gobj)
 
void ftNs_SpecialHi_Coll (HSD_GObj *gobj)
 Ness's grounded PK Thunder 2 Collision callback.
 
void ftNs_SpecialAirHiStart_Coll (HSD_GObj *gobj)
 
void ftNs_SpecialAirHiHold_Coll (HSD_GObj *gobj)
 
void ftNs_SpecialAirHiEnd_Coll (HSD_GObj *gobj)
 
void ftNs_SpecialAirHi_Coll (HSD_GObj *gobj)
 Ness's aerial PK Thunder 2 Collision callback.
 
void ftNs_SpecialAirHiRebound_Coll (HSD_GObj *gobj)
 Ness's PK Thunder 2 Wall Rebound Collision callback.
 

Variables

static const float vel_epsilon = 0.0001f
 

Macro Definition Documentation

◆ FTNESS_SPECIALHI_COLL_FLAG

#define FTNESS_SPECIALHI_COLL_FLAG
Value:
static MotionFlags const Ft_MF_UpdateCmd
Run all Subaction Events up to the current animation frame.
Definition forward.h:185
static MotionFlags const Ft_MF_SkipItemVis
Used by Ness during Up/Down Smash.
Definition forward.h:195
static MotionFlags const Ft_MF_SkipModelFlags
Definition forward.h:213
static MotionFlags const Ft_MF_SkipModelPartVis
Definition forward.h:205
static MotionFlags const Ft_MF_Unk19
Skips updating bit 5 of #Fighter::x2222_flag?
Definition forward.h:198
static MotionFlags const Ft_MF_Unk27
Definition forward.h:215
static MotionFlags const Ft_MF_SkipColAnim
Definition forward.h:179
static MotionFlags const Ft_MF_SkipMatAnim
Ignore switching to character's "hurt" textures ?
Definition forward.h:166

◆ FTNESS_JIBAKU_COLL_FLAG

#define FTNESS_JIBAKU_COLL_FLAG
Value:
static MotionFlags const Ft_MF_KeepGfx
Definition forward.h:150
static MotionFlags const Ft_MF_SkipHit
Keep hitboxes.
Definition forward.h:156

Function Documentation

◆ return_float1()

static float return_float1 ( void  )
static

◆ return_float2()

static float return_float2 ( void  )
static

◆ return_float3()

static float return_float3 ( void  )
static

◆ return_float4()

static float return_float4 ( void  )
static

◆ return_float5()

static float return_float5 ( void  )
static

◆ return_float6()

static f64 return_float6 ( void  )
static

◆ return_float7()

static f64 return_float7 ( void  )
static

◆ return_float8()

static f64 return_float8 ( void  )
static

◆ return_float9()

static float return_float9 ( void  )
static

◆ return_float10()

static f64 return_float10 ( void  )
static

◆ return_float12()

static float return_float12 ( void  )
static

◆ return_float13()

static float return_float13 ( void  )
static

◆ return_float14()

static float return_float14 ( void  )
static

◆ return_float15()

static float return_float15 ( void  )
static

◆ return_float16()

static f64 return_float16 ( void  )
static

◆ return_float17()

static f64 return_float17 ( void  )
static

◆ return_float18()

static float return_float18 ( void  )
static

◆ return_float19()

static float return_float19 ( void  )
static

◆ return_float20()

static f64 return_float20 ( void  )
static

◆ ftNs_SpecialHiStopGFX()

void ftNs_SpecialHiStopGFX ( HSD_GObj gobj)

◆ fabs_inline_ness()

static float fabs_inline_ness ( float  x)
inlinestatic

◆ check_distance()

bool check_distance ( Vec3 pos,
Vec2 pair 
)
inline

◆ ftNs_SpecialHi_ItemPKThunder_CheckNessCollide()

bool ftNs_SpecialHi_ItemPKThunder_CheckNessCollide ( HSD_GObj gobj)

◆ ftNs_SpecialHi_CheckSpecialHiHold()

bool ftNs_SpecialHi_CheckSpecialHiHold ( HSD_GObj gobj)

Checks if Ness is in SpecialHiHold/SpecialAirHiHold (PK Thunder control loop)

◆ ftNs_SpecialHi_ItemPKThunderRemove()

void ftNs_SpecialHi_ItemPKThunderRemove ( HSD_GObj gobj)

◆ ftNs_SpecialHi_TakeDamage()

void ftNs_SpecialHi_TakeDamage ( HSD_GObj gobj)

◆ ftNs_SpecialHi_ItemPKThunderCheckOwn()

void ftNs_SpecialHi_ItemPKThunderCheckOwn ( HSD_GObj gobj,
HSD_GObj thunder_gobj 
)

◆ ftNs_SpecialAirHi_CollisionModVel()

static void ftNs_SpecialAirHi_CollisionModVel ( HSD_GObj gobj,
CollData coll_data 
)
static

◆ ftNs_SpecialHiStart_Enter()

void ftNs_SpecialHiStart_Enter ( HSD_GObj gobj)

◆ ftNs_SpecialAirHiStart_Enter()

void ftNs_SpecialAirHiStart_Enter ( HSD_GObj gobj)

◆ ftNs_SpecialHi_Enter()

void ftNs_SpecialHi_Enter ( HSD_GObj gobj)
Todo:
Rewrite this.
Todo:
Try to move these close to usage

◆ NessFloatMath_PKThunder2()

void NessFloatMath_PKThunder2 ( HSD_GObj gobj)
inline

◆ ftNs_SpecialAirHi_Enter()

void ftNs_SpecialAirHi_Enter ( HSD_GObj gobj)

Ness's PK Thunder 2 Motion State handler if Ness is launching into SpecialAirHi from SpecialHiHold.

◆ ftNs_SpecialHiStart_Anim()

void ftNs_SpecialHiStart_Anim ( HSD_GObj gobj)

PK Thunder Grounded Startup Animation.

◆ ftNs_SpecialHiHold_Anim()

void ftNs_SpecialHiHold_Anim ( HSD_GObj gobj)

◆ ftNs_SpecialHiEnd_Anim()

void ftNs_SpecialHiEnd_Anim ( HSD_GObj gobj)

Ness's grounded PK Thunder End Animation callback.

◆ ftNs_SpecialHi_Anim()

void ftNs_SpecialHi_Anim ( HSD_GObj gobj)

Ness's grounded PK Thunder 2 Animation callback.

◆ ftNs_SpecialAirHiStart_Anim()

void ftNs_SpecialAirHiStart_Anim ( HSD_GObj gobj)

Ness's aerial PK Thunder Start Animation callback.

◆ ftNs_SpecialAirHiHold_Anim()

void ftNs_SpecialAirHiHold_Anim ( HSD_GObj gobj)

Ness's aerial PK Thunder Control Loop Animation callback.

◆ ftNs_SpecialAirHiEnd_Anim()

void ftNs_SpecialAirHiEnd_Anim ( HSD_GObj gobj)

Ness's aerial PK Thunder End Animation callback.

◆ ftNs_SpecialAirHi_Anim()

void ftNs_SpecialAirHi_Anim ( HSD_GObj gobj)

Ness's aerial PK Thunder 2 Animation callback.

◆ ftNs_SpecialAirHiRebound_Anim()

void ftNs_SpecialAirHiRebound_Anim ( HSD_GObj gobj)

Ness's PK Thunder 2 Wall Rebound Animation callback.

◆ ftNs_SpecialHiStart_IASA()

void ftNs_SpecialHiStart_IASA ( HSD_GObj gobj)

◆ ftNs_SpecialHiHold_IASA()

void ftNs_SpecialHiHold_IASA ( HSD_GObj gobj)

◆ ftNs_SpecialHiEnd_IASA()

void ftNs_SpecialHiEnd_IASA ( HSD_GObj gobj)

◆ ftNs_SpecialHi_IASA()

void ftNs_SpecialHi_IASA ( HSD_GObj gobj)

◆ ftNs_SpecialAirHiStart_IASA()

void ftNs_SpecialAirHiStart_IASA ( HSD_GObj gobj)

◆ ftNs_SpecialAirHiHold_IASA()

void ftNs_SpecialAirHiHold_IASA ( HSD_GObj gobj)

◆ ftNs_SpecialAirHiEnd_IASA()

void ftNs_SpecialAirHiEnd_IASA ( HSD_GObj gobj)

◆ ftNs_SpecialAirHi_IASA()

void ftNs_SpecialAirHi_IASA ( HSD_GObj gobj)

◆ ftNs_SpecialAirHiRebound_IASA()

void ftNs_SpecialAirHiRebound_IASA ( HSD_GObj gobj)

◆ ThunderPhysTimer()

void ThunderPhysTimer ( HSD_GObj gobj)
inline

◆ ftNs_SpecialHiStart_Phys()

void ftNs_SpecialHiStart_Phys ( HSD_GObj gobj)

◆ ftNs_SpecialHiHold_Phys()

void ftNs_SpecialHiHold_Phys ( HSD_GObj gobj)

◆ ftNs_SpecialHiEnd_Phys()

void ftNs_SpecialHiEnd_Phys ( HSD_GObj gobj)

◆ ftNs_SpecialHi_Phys()

void ftNs_SpecialHi_Phys ( HSD_GObj gobj)

Ness's grounded PK Thunder 2 Physics callback.

◆ ftNs_SpecialAirHiStart_Phys()

void ftNs_SpecialAirHiStart_Phys ( HSD_GObj gobj)

Ness's aerial PK Thunder Start Physics callback.

◆ ftNs_SpecialAirHiHold_Phys()

void ftNs_SpecialAirHiHold_Phys ( HSD_GObj gobj)

◆ ftNs_SpecialAirHiEnd_Phys()

void ftNs_SpecialAirHiEnd_Phys ( HSD_GObj gobj)

Ness's aerial PK Thunder End Physics callback.

◆ ftNess_atan2()

void ftNess_atan2 ( HSD_GObj gobj)
inline

◆ getFtSpecialAttrs2()

void * getFtSpecialAttrs2 ( Fighter fp)
inline

◆ ftNs_SpecialAirHi_Phys()

void ftNs_SpecialAirHi_Phys ( HSD_GObj gobj)

◆ ftNs_SpecialAirHiRebound_Phys()

void ftNs_SpecialAirHiRebound_Phys ( HSD_GObj gobj)

◆ ftNs_SpecialHiStart_Coll()

void ftNs_SpecialHiStart_Coll ( HSD_GObj gobj)

◆ ftNs_SpecialHiHold_Coll()

void ftNs_SpecialHiHold_Coll ( HSD_GObj gobj)

◆ ftNs_SpecialHiEnd_Coll()

void ftNs_SpecialHiEnd_Coll ( HSD_GObj gobj)

◆ ftNs_SpecialHi_Coll()

void ftNs_SpecialHi_Coll ( HSD_GObj gobj)

Ness's grounded PK Thunder 2 Collision callback.

◆ ftNs_SpecialAirHiStart_Coll()

void ftNs_SpecialAirHiStart_Coll ( HSD_GObj gobj)

◆ ftNs_SpecialAirHiHold_Coll()

void ftNs_SpecialAirHiHold_Coll ( HSD_GObj gobj)

◆ ftNs_SpecialAirHiEnd_Coll()

void ftNs_SpecialAirHiEnd_Coll ( HSD_GObj gobj)

◆ ftNs_SpecialAirHi_Coll()

void ftNs_SpecialAirHi_Coll ( HSD_GObj gobj)

Ness's aerial PK Thunder 2 Collision callback.

◆ ftNs_SpecialAirHiRebound_Coll()

void ftNs_SpecialAirHiRebound_Coll ( HSD_GObj gobj)

Ness's PK Thunder 2 Wall Rebound Collision callback.

Variable Documentation

◆ vel_epsilon

const float vel_epsilon = 0.0001f
static