forked from Ports/perfect_dark
port: measure nbomb age based on timestamps
makes them last the same amount of time regardless of fps
This commit is contained in:
1 parent
523e6ba9d9
commit
4a3c3a29b7
2 files changed
+12
-1
No files matched your search
+9
-1
@@ -281,6 +281,9 @@ void nbombReset(struct nbomb *nbomb)
|
|||||||
#if VERSION >= VERSION_PAL_BETA
|
#if VERSION >= VERSION_PAL_BETA
|
||||||
nbomb->radius = 0;
|
nbomb->radius = 0;
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef PLATFORM_N64
|
||||||
|
nbomb->spawnframe240 = g_Vars.lvframe240;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -523,9 +526,14 @@ void nbombTick(struct nbomb *nbomb)
|
|||||||
{
|
{
|
||||||
if (nbomb->age240 >= 0) {
|
if (nbomb->age240 >= 0) {
|
||||||
s32 age60;
|
s32 age60;
|
||||||
|
#ifdef PLATFORM_N64
|
||||||
s32 increment = (g_Vars.lvupdate240 + 2) >> 2;
|
s32 increment = (g_Vars.lvupdate240 + 2) >> 2;
|
||||||
|
|
||||||
nbomb->age240 += increment;
|
nbomb->age240 += increment;
|
||||||
|
#else
|
||||||
|
s32 oldage240 = nbomb->age240;
|
||||||
|
nbomb->age240 = (g_Vars.lvframe240 - nbomb->spawnframe240) >> 2;
|
||||||
|
s32 increment = nbomb->age240 - oldage240;
|
||||||
|
#endif
|
||||||
|
|
||||||
if (nbomb->age240 < TICKS(80)) {
|
if (nbomb->age240 < TICKS(80)) {
|
||||||
nbomb->radius = nbomb->age240 / (PAL ? 66.0f : 80.0f);
|
nbomb->radius = nbomb->age240 / (PAL ? 66.0f : 80.0f);
|
||||||
|
|||||||
@@ -5510,6 +5510,9 @@ struct nbomb {
|
|||||||
struct prop *ownerprop;
|
struct prop *ownerprop;
|
||||||
struct sndstate *audiohandle20;
|
struct sndstate *audiohandle20;
|
||||||
struct sndstate *audiohandle24;
|
struct sndstate *audiohandle24;
|
||||||
|
#ifndef PLATFORM_N64
|
||||||
|
s32 spawnframe240; // spawned on this frame
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
struct roomacousticdata {
|
struct roomacousticdata {
|
||||||
|
|||||||
Reference in new issue
Block a user