It was a convenient transition macro, but its presence was always
intended to be temporary. Expand it to ease the conversion of usage
sites that already have access to local player data through a local
variable.
In past releases, D1X-Rebirth played the title song even when the user
specified `-notitles`. Commit 29f79f0a6b
("Enable -notitles for Descent 2") fixed this. Unfortunately, despite
being called SONG_TITLE, users believe this to be main menu music, not
title screen music. This belief is reinforced by other code sites that
play the title song on returning to the main menu. Reintroduce the bug
by moving the call above the test for `-notitles`. This restores the
semantics that users expect.
It was a convenient transition macro, but its presence was always
intended to be temporary. Expand it to ease the conversion of usage
sites that already have access to local player data through a local
variable.
Descent demos do not record the time remaining on cloak/invulnerability,
so the demo system tries to fake it by forcing any cloaked player to
have a time remaining of 50%. Extend that hack to do the same for
invulnerability. The local player needs that hack. Remote players do
not need it, but the logic is simpler with it in the loop than with a
special case for just the local player.
Per comment, MK meant for this test to match the Helix cannon, but the
implementation was wrong. Primary weapon indexes cannot be compared to
weapon ID types. The two use different number spaces. Using proper
enum types for each causes the compiler to report this mistake. Fix the
test.
Define it where it is first used.
Skip adjusting damage in cases where it will not be used.
Fix obvious copy&paste error from Parallax.
if (condition)
statement; statement; statement;
is parsed as:
if (condition)
{
statement;
}
statement;
statement;
In context, all three statements were supposed to be guarded by the
condition. Add braces accordingly.