SSBM Decomp
Loading...
Searching...
No Matches
lb_020A.c File Reference

Skeletal transform and two-joint IK utilities. More...

#include "lb_020A.h"
#include <math.h>
#include <placeholder.h>
#include "lbvector.h"
#include <dolphin/mtx.h>
#include <melee/ft/types.h>
#include <sysdolphin/baselib/jobj.h>
#include <sysdolphin/baselib/mtx.h>
#include <sysdolphin/baselib/quatlib.h>

Functions

static HSD_JObjjobj_parent (HSD_JObj *jobj)
void fn_80020AEC (HSD_JObj *jobj, Mtx out)
void lbBgFlash_80020E38 (HSD_JObj *jobj, Vec3 *dir, f32 max_angle, f32 min_angle, f32 unused)
void fn_8002113C (HSD_JObj *jobj, Vec3 *axis, f32 angle)
static f32 calc_acos (f32 value)
static f32 sqrtf_store (f32 x, volatile f32 *y)
void lbBgFlash_80021410 (IKState *data)

Detailed Description

Skeletal transform and two-joint IK utilities.

Accumulates a joint's world transform by walking its parents, applies rotations about an arbitrary axis, and solves the two-bone IK chain used to plant a fighter's legs on the ground.

Function Documentation

◆ jobj_parent()

HSD_JObj * jobj_parent ( HSD_JObj * jobj)
inlinestatic

◆ fn_80020AEC()

void fn_80020AEC ( HSD_JObj * jobj,
Mtx out )

◆ lbBgFlash_80020E38()

void lbBgFlash_80020E38 ( HSD_JObj * jobj,
Vec3 * dir,
f32 max_angle,
f32 min_angle,
f32 unused )

◆ fn_8002113C()

void fn_8002113C ( HSD_JObj * jobj,
Vec3 * axis,
f32 angle )

◆ calc_acos()

f32 calc_acos ( f32 value)
inlinestatic

◆ sqrtf_store()

f32 sqrtf_store ( f32 x,
volatile f32 * y )
inlinestatic

◆ lbBgFlash_80021410()

void lbBgFlash_80021410 ( IKState * data)