Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions config/GALE01/symbols.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29668,9 +29668,9 @@ ftCo_804D8610 = .sdata2:0x804D8610; // type:object size:0x4 scope:global align:4
@292 = .sdata2:0x804D8740; // type:object size:0x4 scope:local align:4 data:float
@302 = .sdata2:0x804D8744; // type:object size:0x4 scope:local align:4 data:float
@73 = .sdata2:0x804D8748; // type:object size:0x4 scope:local align:4 data:float
ftCo_804D8750 = .sdata2:0x804D8750; // type:object size:0x4 scope:global align:4 data:float
ftCo_804D8754 = .sdata2:0x804D8754; // type:object size:0x4 scope:global align:4 data:float
ftCo_804D8758 = .sdata2:0x804D8758; // type:object size:0x8 scope:global align:8 data:double
@219 = .sdata2:0x804D8750; // type:object size:0x4 scope:local align:4 data:float
@220 = .sdata2:0x804D8754; // type:object size:0x4 scope:local align:4 data:float
@237 = .sdata2:0x804D8758; // type:object size:0x8 scope:local align:8 data:double
@235 = .sdata2:0x804D8760; // type:object size:0x4 scope:local align:4 data:float
@236 = .sdata2:0x804D8764; // type:object size:0x4 scope:local align:4 data:float
@301 = .sdata2:0x804D8768; // type:object size:0x4 scope:local align:4 data:float
Expand Down
2 changes: 1 addition & 1 deletion configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -580,7 +580,7 @@ def MatchingFor(*versions):
Object(Matching, "melee/ft/chara/ftCommon/ftCo_CargoLanding.c"),
Object(Matching, "melee/ft/chara/ftCommon/ftCo_CargoThrow.c"),
Object(Matching, "melee/ft/chara/ftCommon/ftCo_09C4.c"),
Object(NonMatching, "melee/ft/chara/ftCommon/ftCo_Shouldered.c"),
Object(Matching, "melee/ft/chara/ftCommon/ftCo_Shouldered.c"),
Object(Matching, "melee/ft/chara/ftCommon/ftCo_CaptureCaptain.c"),
Object(NonMatching, "melee/ft/ftdynamics.c"),
Object(Matching, "melee/ft/chara/ftCommon/ftCo_BarrelWait.c"),
Expand Down
71 changes: 34 additions & 37 deletions src/melee/ft/chara/ftCommon/ftCo_Shouldered.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,7 @@
#include "ft/ftcommon.h"
#include "ft/ftparts.h"
#include "ft/types.h"
#include "ftCaptain/types.h"
#include "ftCommon/ftCo_Attack100.h"
#include "ftCommon/ftCo_CaptureCut.h"
#include "ftCommon/ftCo_Throw.h"
#include "ftCommon/types.h"

Expand All @@ -26,15 +24,12 @@

#pragma force_active on

float const ftCo_804D8750 = 0;
float const ftCo_804D8754 = 1;
double const ftCo_804D8758 = S32_TO_F32;

/* 09C744 */ static void ftCo_8009C744(Fighter_GObj* gobj);

void ftCo_8009C5A4(Fighter_GObj* gobj, FtMotionId msid)
{
u8 _[8] = { 0 };
u32 unused1;
Comment thread
jellejurre marked this conversation as resolved.
u32 unused2;
Fighter* fp = gobj->user_data;
if (fp->motion_id != msid || msid != ftCo_MS_ShoulderedWait) {
Fighter_ChangeMotionState(
Expand All @@ -49,6 +44,7 @@ void ftCo_8009C5A4(Fighter_GObj* gobj, FtMotionId msid)
void ftCo_8009C640(Fighter_GObj* gobj, FtMotionId msid)
{
Fighter* fp = gobj->user_data;
PAD_STACK(8);
ftCommon_InitGrab(fp, 0,
(int) (fp->dmg.x1830_percent * p_ftCommonData->x4A0 +
p_ftCommonData->x4A4));
Expand Down Expand Up @@ -90,43 +86,44 @@ static inline float inlineA0(Fighter_GObj* gobj)

void ftCo_Shouldered_Anim(Fighter_GObj* gobj)
{
HitCapsule* hit;
Fighter* fp2;
Fighter* fp1;
Fighter_GObj* gobj1;
u32 unused1;
u32 unused2;
Vec3 pos;
Fighter* fp = gobj->user_data;
PAD_STACK(16);
fp->mv.co.shouldered.x4 = ftCommon_GrabMash(fp, inlineA0(fp->victim_gobj));
if (fp->grab_timer <= 0) {
HitCapsule* hit;
Fighter_GObj* gobj1 = fp->victim_gobj;
Fighter* fp1 = gobj1->user_data;
Fighter_GObj* gobj2 = fp1->victim_gobj;
{
Fighter* fp1 = gobj1->user_data;
Fighter* fp2 = gobj2->user_data;
Vec3 pos;
hit = &fp2->xDF4[1];
lb_8000B1CC(
fp1->parts[(ftParts_GetBoneIndex(fp1, FtPart_TransN2))].joint,
NULL, &pos);
fp1->dmg.kb_applied =
ftColl_80079C70(fp1, fp2, hit, hit->unk_count);
fp1->dmg.x1848_kb_angle = hit->kb_angle;
fp1->dmg.facing_dir_1 = fp1->facing_dir;
fp1->dmg.x184c_damaged_hurtbox = 1;
fp2->dmg.x1854_collpos = pos;
fp1->dmg.x1860_element = hit->element;
// ftColl_80078710(gobj);
Fighter_UnkTakeDamage_8006CC30(fp1, hit->damage);
ftCo_Damage_CalcKnockback(fp1);
ftCo_8008E908(gobj1, 0);
}
gobj1 = fp->victim_gobj;
fp1 = gobj1->user_data;
fp2 = fp1->victim_gobj->user_data;
hit = &fp2->xDF4[1];
lb_8000B1CC(
fp1->parts[(ftParts_GetBoneIndex(fp1, FtPart_TransN2))].joint,
NULL, &pos);
fp1->dmg.kb_applied =
ftColl_80079C70(fp1, fp2, hit, hit->unk_count);
fp1->dmg.x1848_kb_angle = hit->kb_angle;
fp1->dmg.facing_dir_1 = fp1->facing_dir;
fp1->dmg.x184c_damaged_hurtbox = 1;
fp1->dmg.x1854_collpos = pos;
fp1->dmg.x1860_element = hit->element;
ftColl_80078710(gobj1, fp1->victim_gobj, &fp1->dmg.facing_dir_1);
Fighter_UnkTakeDamage_8006CC30(fp1, hit->damage);
ftCo_Damage_CalcKnockback(fp1);
ftCo_8008E908(gobj1, 0);
ftCo_8009C744(gobj);
return;
}
if (fp->mv.ca.specials.grav) {
fp->mv.ca.specials.grav -= 1;
}
if (fp->mv.co.shouldered.x0 <= 0 && !fp->mv.co.shouldered.x4) {
ftAnim_SetAnimRate(gobj, 1);
fp->mv.co.shouldered.x0 = 0;
if (fp->mv.co.shouldered.x0) {
fp->mv.co.shouldered.x0 -= 1;
if (fp->mv.co.shouldered.x0 <= 0 && !fp->mv.co.shouldered.x4) {
ftAnim_SetAnimRate(gobj, 1);
fp->mv.co.shouldered.x0 = 0;
}
}
if (fp->mv.co.shouldered.x0 <= 0 && fp->mv.co.shouldered.x4 &&
fp->motion_id == ftCo_MS_ShoulderedWait)
Expand Down
Loading