mirror of
https://github.com/LostArtefacts/TRX.git
synced 2025-04-28 20:58:07 +03:00
tr2/objects/bird_guardian: remove hard-coded end level behaviour
This removes the hard-coded end level behaviour of the bird guardian in TR2. For OG, an injection is provided to add a command to the death animation to yield the same result; custom levels can modify the object accordingly externally. Resolves #1583.
This commit is contained in:
parent
0674d546c4
commit
adf2703305
7 changed files with 28 additions and 11 deletions
|
@ -309,6 +309,7 @@
|
|||
],
|
||||
"injections": [
|
||||
"data/injections/common_pickup_meshes.bin",
|
||||
"data/injections/guardian_death_commands.bin",
|
||||
"data/injections/palace_fd.bin",
|
||||
"data/injections/palace_itemrots.bin",
|
||||
],
|
||||
|
|
|
@ -106,6 +106,9 @@
|
|||
{"type": "total_stats", "background_path": "data/images/end.png"},
|
||||
{"type": "level_complete"},
|
||||
],
|
||||
"injections": [
|
||||
"data/injections/guardian_death_commands.bin",
|
||||
],
|
||||
},
|
||||
|
||||
// 5. Nightmare in Vegas
|
||||
|
@ -124,6 +127,9 @@
|
|||
{"type": "level_stats"},
|
||||
{"type": "level_complete"},
|
||||
],
|
||||
"injections": [
|
||||
"data/injections/guardian_death_commands.bin",
|
||||
],
|
||||
},
|
||||
],
|
||||
|
||||
|
|
BIN
data/tr2/ship/data/injections/guardian_death_commands.bin
Normal file
BIN
data/tr2/ship/data/injections/guardian_death_commands.bin
Normal file
Binary file not shown.
|
@ -1376,7 +1376,22 @@ provided with the game achieves.
|
|||
|
||||
#### TR2
|
||||
|
||||
TBD
|
||||
<table>
|
||||
<tr valign="top" align="left">
|
||||
<th>Injection file</th>
|
||||
<th>Purpose</th>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<td>
|
||||
<code>guardian_death_commands.bin</code>
|
||||
</td>
|
||||
<td>
|
||||
Injects an animation command for the bird guardian to end the level on the
|
||||
final frame of its death animation. The original hard-coded end-level
|
||||
behaviour is removed in TR2X.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## FMVs
|
||||
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
- fixed the console opening when remapping its key (#2641)
|
||||
- fixed sprites rendering black if no shade value is assigned in the level (#2701, regression from 0.8)
|
||||
- removed the need to specify in the game flow levels that have no secrets (secrets will be automatically counted) (#1582)
|
||||
- removed the hard-coded end-level behaviour of the bird guardian for custom levels (#1583)
|
||||
|
||||
## [0.10](https://github.com/LostArtefacts/TRX/compare/tr2-0.9.2...tr2-0.10) - 2025-03-18
|
||||
- added support for 60 FPS rendering
|
||||
|
|
|
@ -308,6 +308,7 @@ as Notepad.
|
|||
- added developer console (accessible with `/`, see [COMMANDS.md](COMMANDS.md) for details)
|
||||
- added ability to disable FMVs
|
||||
- added per-level customizable fog distance
|
||||
- removed the hard-coded end-level behaviour of the bird guardian for custom levels
|
||||
|
||||
#### Miscellaneous
|
||||
- added Linux builds
|
||||
|
|
|
@ -17,7 +17,6 @@
|
|||
#define BIRD_GUARDIAN_ATTACK_1_RANGE SQUARE(WALL_L) // = 1048576
|
||||
#define BIRD_GUARDIAN_ATTACK_2_RANGE SQUARE(WALL_L * 2) // = 4194304
|
||||
#define BIRD_GUARDIAN_PUNCH_DAMAGE 200
|
||||
#define BIRD_GUARDIAN_DEATH_FRAME 158
|
||||
// clang-format on
|
||||
|
||||
typedef enum {
|
||||
|
@ -187,17 +186,11 @@ static void M_Control(const int16_t item_num)
|
|||
default:
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
if (item->current_anim_state != BIRD_GUARDIAN_STATE_DEATH) {
|
||||
} else if (item->current_anim_state != BIRD_GUARDIAN_STATE_DEATH) {
|
||||
Item_SwitchToAnim(item, BIRD_GUARDIAN_ANIM_DEATH, 0);
|
||||
item->current_anim_state = BIRD_GUARDIAN_STATE_DEATH;
|
||||
}
|
||||
|
||||
if (Item_TestFrameEqual(item, BIRD_GUARDIAN_DEATH_FRAME)) {
|
||||
g_LevelComplete = true;
|
||||
}
|
||||
}
|
||||
|
||||
Creature_Head(item, head);
|
||||
Creature_Animate(item_num, angle, 0);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue