mirror of
https://github.com/perfect-dark-pc-port/perfect_dark.git
synced 2026-10-23 15:52:41 +02:00
Merge branch 'master' of https://github.com/n64decomp/perfect_dark into port
This commit is contained in:
commit
6fbb7e39ec
8 files changed
+60
-141
No files matched your search
+23
-32
@@ -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
@@ -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
@@ -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 },
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@@ -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
@@ -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
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in new issue
Block a user