This commit is contained in:
fgsfds committed 2023-08-20 14:41:57 +02:00
commit 6fbb7e39ec
8 files changed
+60 -141

No files matched your search

+23 -32
View File
@@ -1297,29 +1297,20 @@ struct attackanimconfig g_RollAttackAnims[] = {
{ 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
};
struct attackanimconfig g_AttackAnimHeavyWalk = { ANIM_0030, 0, 0, 0, 0, -1, 0, 0, -1, -1, 0, 0, 0.87252569198608, -0.52351540327072, 0.52351540327072, -0.52351540327072, 1.3999999761581, 1.2999999523163 };
struct attackanimconfig g_AttackAnimHeavyRun = { ANIM_0031, 0, 0, 0, 0, -1, 0, 0, -1, -1, 0, 0, 0.87252569198608, -0.52351540327072, 0.52351540327072, -0.52351540327072, 1.1000000238419, 1.2000000476837 };
struct attackanimconfig g_AttackAnimLightWalk = { ANIM_0052, 0, 0, 0, 0, -1, 0, 0, -1, -1, 0, 0, 0.87252569198608, -0.52351540327072, 0.52351540327072, -0.52351540327072, 0, 0 };
struct attackanimconfig g_AttackAnimLightRun = { ANIM_0055, 0, 0, 0, 0, -1, 0, 0, -1, -1, 0, 0, 0.87252569198608, -0.52351540327072, 0.52351540327072, -0.52351540327072, 0, 0 };
struct attackanimconfig g_AttackAnimDualWalk = { ANIM_006C, 0, 0, 0, 0, -1, 0, 0, -1, -1, 0, 0, 0.87252569198608, -0.52351540327072, 0.52351540327072, -0.52351540327072, 0, 0 };
struct attackanimconfig g_AttackAnimDualRun = { ANIM_006E, 0, 0, 0, 0, -1, 0, 0, -1, -1, 0, 0, 0.87252569198608, -0.52351540327072, 0.52351540327072, -0.52351540327072, 0, 0 };
struct attackanimconfig g_AttackAnimDualCrossedWalk = { ANIM_006D, 0, 0, 0, 0, -1, 0, 0, -1, -1, 0, 0, 0.87252569198608, -0.52351540327072, 0.52351540327072, -0.52351540327072, 0, 0 };
struct attackanimconfig g_AttackAnimDualCrossedRun = { ANIM_006F, 0, 0, 0, 0, -1, 0, 0, -1, -1, 0, 0, 0.87252569198608, -0.52351540327072, 0.52351540327072, -0.52351540327072, 0, 0 };
#ifdef AVOID_UB
// don't depend on global var order
struct attackanimconfig *g_AttackAnimArray[] = {
&g_AttackAnimHeavyWalk,
&g_AttackAnimHeavyRun,
&g_AttackAnimLightWalk,
&g_AttackAnimLightRun,
&g_AttackAnimDualWalk,
&g_AttackAnimDualRun,
&g_AttackAnimDualCrossedWalk,
&g_AttackAnimDualCrossedRun,
NULL
};
struct attackanimconfig g_WalkAttackAnims[] = {
{ ANIM_0030, 0, 0, 0, 0, -1, 0, 0, -1, -1, 0, 0, 0.87252569198608, -0.52351540327072, 0.52351540327072, -0.52351540327072, 1.3999999761581, 1.2999999523163 },
{ ANIM_0031, 0, 0, 0, 0, -1, 0, 0, -1, -1, 0, 0, 0.87252569198608, -0.52351540327072, 0.52351540327072, -0.52351540327072, 1.1000000238419, 1.2000000476837 },
{ ANIM_0052, 0, 0, 0, 0, -1, 0, 0, -1, -1, 0, 0, 0.87252569198608, -0.52351540327072, 0.52351540327072, -0.52351540327072, 0, 0 },
{ ANIM_0055, 0, 0, 0, 0, -1, 0, 0, -1, -1, 0, 0, 0.87252569198608, -0.52351540327072, 0.52351540327072, -0.52351540327072, 0, 0 },
{ ANIM_006C, 0, 0, 0, 0, -1, 0, 0, -1, -1, 0, 0, 0.87252569198608, -0.52351540327072, 0.52351540327072, -0.52351540327072, 0, 0 },
{ ANIM_006E, 0, 0, 0, 0, -1, 0, 0, -1, -1, 0, 0, 0.87252569198608, -0.52351540327072, 0.52351540327072, -0.52351540327072, 0, 0 },
{ ANIM_006D, 0, 0, 0, 0, -1, 0, 0, -1, -1, 0, 0, 0.87252569198608, -0.52351540327072, 0.52351540327072, -0.52351540327072, 0, 0 },
{ ANIM_006F, 0, 0, 0, 0, -1, 0, 0, -1, -1, 0, 0, 0.87252569198608, -0.52351540327072, 0.52351540327072, -0.52351540327072, 0, 0 },
#ifndef PLATFORM_N64
// ensure this is terminated
{ 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
#endif
};
struct attackanimconfig var80067c50[] = {
{ ANIM_0057, 0, 0, 1.5707963705063, 0, -1, 0, 0, -1, -1, 0, 0, 0.87252569198608, -0.52351540327072, 0.52351540327072, -0.52351540327072, 0, 0 },
@@ -2385,9 +2376,9 @@ void chrAttackWalk(struct chrdata *chr, bool run)
if (style == 0) {
if (run) {
animcfg = &g_AttackAnimLightRun;
animcfg = &g_WalkAttackAnims[3];
} else {
animcfg = &g_AttackAnimLightWalk;
animcfg = &g_WalkAttackAnims[2];
}
if (flip) {
@@ -2397,17 +2388,17 @@ void chrAttackWalk(struct chrdata *chr, bool run)
}
} else if (style == 1) {
if (run) {
animcfg = &g_AttackAnimDualRun;
animcfg = &g_WalkAttackAnims[5];
} else {
animcfg = &g_AttackAnimDualWalk;
animcfg = &g_WalkAttackAnims[4];
}
firing[HAND_LEFT] = firing[HAND_RIGHT] = true;
} else {
if (run) {
animcfg = &g_AttackAnimDualCrossedRun;
animcfg = &g_WalkAttackAnims[7];
} else {
animcfg = &g_AttackAnimDualCrossedWalk;
animcfg = &g_WalkAttackAnims[6];
}
firing[HAND_LEFT] = firing[HAND_RIGHT] = true;
@@ -2417,9 +2408,9 @@ void chrAttackWalk(struct chrdata *chr, bool run)
flip = (bool)leftgun != false;
if (run) {
animcfg = &g_AttackAnimLightRun;
animcfg = &g_WalkAttackAnims[3];
} else {
animcfg = &g_AttackAnimLightWalk;
animcfg = &g_WalkAttackAnims[2];
}
if (flip) {
@@ -2431,9 +2422,9 @@ void chrAttackWalk(struct chrdata *chr, bool run)
flip = (bool)leftgun != false;
if (run) {
animcfg = &g_AttackAnimHeavyRun;
animcfg = &g_WalkAttackAnims[1];
} else {
animcfg = &g_AttackAnimHeavyWalk;
animcfg = &g_WalkAttackAnims[0];
}
if (flip) {
+2 -21
View File
@@ -119,33 +119,14 @@ u16 var8007fb3c[] = {
u16 var8007fb5c[] = {
0xff00, 0xff58, 0xff74, 0xff90, 0xffac, 0xffc8, 0xffe4, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
#ifndef AVOID_UB // these are actually loaded as one big palette
};
u16 var8007fb7c[] = {
#endif
0xff00, 0xff00, 0xff00, 0xff00, 0xff00, 0xff00, 0xff00, 0xff00,
0xff00, 0xff18, 0xff30, 0xff5c, 0xff88, 0xffb4, 0xffd8, 0xffff,
};
#if VERSION == VERSION_JPN_FINAL
u16 var800801d8jf[] = {
0xff00,
0xff11,
0xff22,
0xff33,
0xff44,
0xff55,
0xff66,
0xff77,
0xff88,
0xff99,
0xffaa,
0xffbb,
0xffcc,
0xffdd,
0xffee,
0xffff,
0xff00, 0xff11, 0xff22, 0xff33, 0xff44, 0xff55, 0xff66, 0xff77,
0xff88, 0xff99, 0xffaa, 0xffbb, 0xffcc, 0xffdd, 0xffee, 0xffff,
};
#endif
+28 -28
View File
@@ -4187,37 +4187,37 @@ struct var80070ba4 {
struct var80070ba4 var80070ba4[4][7] = { // [wieldmode][turnmode]
{
{ var80065be0, 0, 0.1, 79, 87, 1.0470308065414 },
{ &g_AttackAnimLightWalk, 0, 0.5, -1, -1, 1.0470308065414 },
{ &g_AttackAnimLightRun, 0, 0.5, -1, -1, 1.0470308065414 },
{ &var800709f4, 0, 0.001, 0, 0.1, 1.0470308065414 },
{ &var800709f4, 0, 0.503, -1, -1, 1.0470308065414 },
{ &var80070a3c, 0, 0.001, 0, 0.1, 0.52351540327072 },
{ &var80070a3c, 0, 0.45, -1, -1, 0.52351540327072 },
{ var80065be0, 0, 0.1, 79, 87, 1.0470308065414 },
{ &g_WalkAttackAnims[2], 0, 0.5, -1, -1, 1.0470308065414 },
{ &g_WalkAttackAnims[3], 0, 0.5, -1, -1, 1.0470308065414 },
{ &var800709f4, 0, 0.001, 0, 0.1, 1.0470308065414 },
{ &var800709f4, 0, 0.503, -1, -1, 1.0470308065414 },
{ &var80070a3c, 0, 0.001, 0, 0.1, 0.52351540327072 },
{ &var80070a3c, 0, 0.45, -1, -1, 0.52351540327072 },
}, {
{ var800656c0, 0, 0.05, 35, 40, 1.0470308065414 },
{ &g_AttackAnimHeavyWalk, 0, 0.5, -1, -1, 1.0470308065414 },
{ &g_AttackAnimHeavyRun, 0, 0.5, -1, -1, 1.0470308065414 },
{ &var80070a84, 0, 0.001, 0, 0.1, 1.0470308065414 },
{ &var80070a84, 0, 0.503, -1, -1, 1.0470308065414 },
{ &var80070acc, 0, 0.001, 0, 0.1, 0.52351540327072 },
{ &var80070acc, 0, 0.45, -1, -1, 0.52351540327072 },
{ var800656c0, 0, 0.05, 35, 40, 1.0470308065414 },
{ &g_WalkAttackAnims[0], 0, 0.5, -1, -1, 1.0470308065414 },
{ &g_WalkAttackAnims[1], 0, 0.5, -1, -1, 1.0470308065414 },
{ &var80070a84, 0, 0.001, 0, 0.1, 1.0470308065414 },
{ &var80070a84, 0, 0.503, -1, -1, 1.0470308065414 },
{ &var80070acc, 0, 0.001, 0, 0.1, 0.52351540327072 },
{ &var80070acc, 0, 0.45, -1, -1, 0.52351540327072 },
}, {
{ NULL, ANIM_006A, 0.25, 0, -1, 1.0470308065414 },
{ NULL, ANIM_006B, 0.5, -1, -1, 1.0470308065414 },
{ NULL, ANIM_RUNNING_ONEHANDGUN, 0.5, -1, -1, 1.0470308065414 },
{ NULL, ANIM_0280, 0.001, 0, 0.1, 1.0470308065414 },
{ NULL, ANIM_0280, 0.503, -1, -1, 1.0470308065414 },
{ NULL, ANIM_0284, 0.001, 0, 0.1, 0.52351540327072 },
{ NULL, ANIM_0284, 0.45, -1, -1, 0.52351540327072 },
{ NULL, ANIM_006A, 0.25, 0, -1, 1.0470308065414 },
{ NULL, ANIM_006B, 0.5, -1, -1, 1.0470308065414 },
{ NULL, ANIM_RUNNING_ONEHANDGUN, 0.5, -1, -1, 1.0470308065414 },
{ NULL, ANIM_0280, 0.001, 0, 0.1, 1.0470308065414 },
{ NULL, ANIM_0280, 0.503, -1, -1, 1.0470308065414 },
{ NULL, ANIM_0284, 0.001, 0, 0.1, 0.52351540327072 },
{ NULL, ANIM_0284, 0.45, -1, -1, 0.52351540327072 },
}, {
{ var800663d8, 0, 0.1, 32, 42, 1.0470308065414 },
{ &g_AttackAnimDualWalk, 0, 0.5, -1, -1, 1.0470308065414 },
{ &g_AttackAnimDualRun, 0, 0.5, -1, -1, 1.0470308065414 },
{ &var80070b14, 0, 0.001, 0, 0.1, 1.0470308065414 },
{ &var80070b14, 0, 0.503, -1, -1, 1.0470308065414 },
{ &var80070b5c, 0, 0.001, 0, 0.1, 0.52351540327072 },
{ &var80070b5c, 0, 0.45, -1, -1, 0.52351540327072 },
{ var800663d8, 0, 0.1, 32, 42, 1.0470308065414 },
{ &g_WalkAttackAnims[4], 0, 0.5, -1, -1, 1.0470308065414 },
{ &g_WalkAttackAnims[5], 0, 0.5, -1, -1, 1.0470308065414 },
{ &var80070b14, 0, 0.001, 0, 0.1, 1.0470308065414 },
{ &var80070b14, 0, 0.503, -1, -1, 1.0470308065414 },
{ &var80070b5c, 0, 0.001, 0, 0.1, 0.52351540327072 },
{ &var80070b5c, 0, 0.45, -1, -1, 0.52351540327072 },
},
};
+4 -4
View File
@@ -33,7 +33,7 @@ s32 portalConvertCoordinates(s32 portalnum, s32 *start, struct portalthing2 *thi
right->coord.y += mtx->m[3][1];
right->coord.z += mtx->m[3][2];
if (right->coord.z <= 0.0f) {
if (right->coord.z < 0.0f) {
right->behind = false;
} else {
right->behind = true;
@@ -72,14 +72,14 @@ s32 portalConvertCoordinates(s32 portalnum, s32 *start, struct portalthing2 *thi
left++;
numfinalvertices++;
mult = -(right[0].coord.z / (right[1].coord.z - right[0].coord.z));
mult = -right[0].coord.z / (right[1].coord.z - right[0].coord.z);
left->coord.x = (right[1].coord.x - right[0].coord.x) * mult + right[0].coord.x;
left->coord.y = (right[1].coord.y - right[0].coord.y) * mult + right[0].coord.y;
left->coord.z = 0.0f;
left++;
numfinalvertices++;
} else {
mult = -(right[0].coord.z / (right[1].coord.z - right[0].coord.z));
} else if (value == 2) {
mult = -right[0].coord.z / (right[1].coord.z - right[0].coord.z);
left->coord.x = (right[1].coord.x - right[0].coord.x) * mult + right[0].coord.x;
left->coord.y = (right[1].coord.y - right[0].coord.y) * mult + right[0].coord.y;
left->coord.z = 0.0f;
+1 -36
View File
@@ -59,33 +59,6 @@ s32 raceInitAnimGroup(struct attackanimconfig *configs)
return count;
}
#ifdef AVOID_UB
// TODO: make raceInitAnimGroup call this or something
s32 raceInitAnimConfigSingle(struct attackanimconfig *config)
{
s32 count = 0;
if (config->animnum != 0) {
u16 angle = raceGetAnimSumAngleAsInt(config->animnum, 0, floortoint(config->unk04));
if (config->unk04 > 0) {
if (angle < 0x8000) {
config->unk08 = angle * 0.00009585853695171f / config->unk04;
} else {
config->unk08 = (angle * 0.00009585853695171f - M_BADTAU) / config->unk04;
}
} else {
config->unk08 = 0;
}
count++;
}
return count;
}
#endif
void raceInitAnimGroups(struct attackanimgroup **groups)
{
s32 i;
@@ -152,13 +125,5 @@ void raceInitAnims(void)
}
raceInitAnimGroup(g_RollAttackAnims);
#ifdef AVOID_UB
// don't depend on globalvar order
for (s32 i = 0; g_AttackAnimArray[i]; ++i) {
raceInitAnimConfigSingle(g_AttackAnimArray[i]);
}
#else
raceInitAnimGroup(&g_AttackAnimHeavyWalk);
#endif
raceInitAnimGroup(g_WalkAttackAnims);
}
+1 -9
View File
@@ -181,15 +181,7 @@ extern struct attackanimgroup *g_KneelHeavyAttackAnims[][32];
extern struct attackanimgroup *g_KneelLightAttackAnims[][32];
extern struct attackanimgroup *g_KneelDualAttackAnims[][32];
extern struct attackanimconfig g_RollAttackAnims[];
extern struct attackanimconfig g_AttackAnimHeavyWalk;
extern struct attackanimconfig g_AttackAnimHeavyRun;
extern struct attackanimconfig g_AttackAnimLightWalk;
extern struct attackanimconfig g_AttackAnimLightRun;
extern struct attackanimconfig g_AttackAnimDualWalk;
extern struct attackanimconfig g_AttackAnimDualRun;
#ifdef AVOID_UB
extern struct attackanimconfig *g_AttackAnimArray[];
#endif
extern struct attackanimconfig g_WalkAttackAnims[];
extern u32 g_StageFlags;
extern struct chrdata *g_BgChrs;
extern s16 *g_BgChrnums;
-10
View File
@@ -4,16 +4,6 @@
#include "data.h"
#include "types.h"
extern struct attackanimconfig var800656c0[];
extern struct attackanimconfig var80065be0[];
extern struct attackanimconfig var800663d8[];
extern struct attackanimconfig g_AttackAnimHeavyWalk;
extern struct attackanimconfig g_AttackAnimHeavyRun;
extern struct attackanimconfig g_AttackAnimLightWalk;
extern struct attackanimconfig g_AttackAnimLightRun;
extern struct attackanimconfig g_AttackAnimDualWalk;
extern struct attackanimconfig g_AttackAnimDualRun;
f32 func0f02dff0(s16 animnum);
bool chrGoPosIsWaiting(struct chrdata *chr);
bool weaponIsOneHanded(struct prop *prop);
+1 -1
View File
@@ -1616,7 +1616,7 @@ f32 sinf(f32 radians)
if (t0 < 310) {
f14 = radians * 0.31830987334251f;
t1 = (s32) (f14 + 0.5f);
t1 = (s32) (f14 > 0.0f ? f14 + 0.5f : f14 - 0.5f);
f14 = t1;
f15 = M_PI;