mirror of
https://github.com/TombEngine/TombEngine.git
synced 2025-04-28 15:57:59 +03:00
Fix Trigger Triggerer (#1565)
* Fix * Update CHANGELOG.md * Update trigger.cpp --------- Co-authored-by: Stranger1992 <84292688+Stranger1992@users.noreply.github.com>
This commit is contained in:
parent
8316062e3a
commit
89d5b74298
2 changed files with 10 additions and 1 deletions
|
@ -6,6 +6,7 @@ TombEngine releases are located in this repository (alongside with Tomb Editor):
|
|||
## [Version 1.7.X] (link to release) - yyyy-mm-dd
|
||||
|
||||
### Bug fixes
|
||||
* Fixed Trigger_Triggerer not working.
|
||||
* Fixed display pickup numeric string not being interpolated in high framerate mode.
|
||||
* Fixed two block platform room portal traversal failing in some cases.
|
||||
* Fixed incorrect handling of dynamic light shadows.
|
||||
|
|
|
@ -429,6 +429,10 @@ void TestTriggers(int x, int y, int z, FloorInfo* floor, Activator activator, bo
|
|||
if (!data)
|
||||
return;
|
||||
|
||||
// Don't process legacy triggers if Triggerer flag was used in editor and Trigger_Triggerer wasn't activated or used.
|
||||
if (floor->Flags.MarkTriggerer && !floor->Flags.MarkTriggererActive)
|
||||
return;
|
||||
|
||||
short triggerType = (*(data++) >> 8) & TRIGGER_BITS;
|
||||
short flags = *(data++);
|
||||
short timer = flags & TIMER_BITS;
|
||||
|
@ -842,6 +846,10 @@ void TestTriggers(ItemInfo* item, bool isHeavy, int heavyFlags)
|
|||
short roomNumber = item->RoomNumber;
|
||||
auto floor = GetFloor(item->Pose.Position.x, item->Pose.Position.y, item->Pose.Position.z, &roomNumber);
|
||||
|
||||
// Don't process legacy triggers if Triggerer flag was used in editor and Trigger_Triggerer wasn't activated or used.
|
||||
if (floor->Flags.MarkTriggerer && !floor->Flags.MarkTriggererActive)
|
||||
return;
|
||||
|
||||
TestTriggers(item->Pose.Position.x, item->Pose.Position.y, item->Pose.Position.z, floor, (Activator)short(item->Index), isHeavy, heavyFlags);
|
||||
}
|
||||
|
||||
|
@ -850,7 +858,7 @@ void TestTriggers(int x, int y, int z, short roomNumber, bool heavy, int heavyFl
|
|||
auto roomNum = roomNumber;
|
||||
auto floor = GetFloor(x, y, z, &roomNum);
|
||||
|
||||
// Don't process legacy triggers if trigger triggerer wasn't used
|
||||
// Don't process legacy triggers if Triggerer flag was used in editor and Trigger_Triggerer wasn't activated or used.
|
||||
if (floor->Flags.MarkTriggerer && !floor->Flags.MarkTriggererActive)
|
||||
return;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue