Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CREDITS.md
Original file line number Diff line number Diff line change
Expand Up @@ -538,6 +538,7 @@ This page lists all the individual contributions to the project by their author.
- Fix an issue that `FireAngle` was not taken into account when drawing barrel in `TurretShadow`
- Fix an issue that barrel anim data will be incorrectly overwritten by turret anim data if the techno's section exists in the map file
- Jumpjet Climbing Logic Enhancement
- Fix for pathfinding crashes on big maps due to too small pathfinding node buffer
- **Ollerus**:
- Build limit group enhancement
- Customizable rocker amplitude
Expand Down
1 change: 1 addition & 0 deletions docs/Fixed-or-Improved-Logics.md
Original file line number Diff line number Diff line change
Expand Up @@ -255,6 +255,7 @@ This page describes all ingame logics that are fixed or improved in Phobos witho
- Fixed the fact that when the selected unit is in a rearmed state, it can unconditionally use attack mouse on the target.
- When `Speed=0` or the TechnoTypes cell cannot move due to `MovementRestrictedTo`, vehicles cannot attack targets beyond the weapon's range. `Area Guard` and `Hunt` missions will also become ineffective.
- Fixed an issue that barrel anim data will be incorrectly overwritten by turret anim data if the techno's section exists in the map file.
- Fixed pathfinding crashes (EIP 0x42A525, 0x42C507, 0x42C554) that happened on bigger maps due to too small pathfinding node buffer.

## Fixes / interactions with other extensions

Expand Down
1 change: 1 addition & 0 deletions docs/Whats-New.md
Original file line number Diff line number Diff line change
Expand Up @@ -772,6 +772,7 @@ Vanilla fixes:
- Fixed the bug that Locomotor warhead won't stop working when firer (except for vehicle) stop firing (by NetsuNegi)
- Fixed the bug that hover vehicle will sink if destroyed on bridge (by NetsuNegi)
- Fixed the fact that when the selected unit is in a rearmed state, it can unconditionally use attack mouse on the target (by FlyStar)
- Fixed pathfinding crashes (EIP 0x42A525, 0x42C507, 0x42C554) that happened on bigger maps due to too small pathfinding node buffer (by CrimRecya)

Phobos fixes:
- Fixed a few errors of calling for superweapon launch by `LaunchSW` or building infiltration (by Trsdy)
Expand Down
27 changes: 27 additions & 0 deletions src/Misc/Hooks.BugFixes.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2493,3 +2493,30 @@ DEFINE_HOOK(0x6FC8F5, TechnoClass_CanFire_SkipROF, 0x6)
}

#pragma endregion

#pragma region AStarBuffer

// AStarClass_CTOR
// Path queue nodes buffer doubled

// 42A74F: 68 04 00 04 00
// For `new` to use (sizeof(Node*) == 4)
DEFINE_PATCH(0x42A752, 0x08);
// push 40004h ((65536 + 1) * 4) -> push 80004h ((131072 + 1) * 4)

// 42A760: C7 47 04 00 00 01 00
// Set the total amount of valid nodes
DEFINE_PATCH(0x42A765, 0x02);
// mov dword ptr [edi+4], 10000h (65536) -> mov dword ptr [edi+4], 20000h (131072)

// 42A7E0: 68 04 00 10 00
// For `new` to use (sizeof(Node) == 16)
DEFINE_PATCH(0x42A7E3, 0x20);
// push 100004h ((65536 + 1) * 16) -> push 200004h ((131072 + 1) * 16)

// 42A7F7: BA 00 00 01 00
// Set the loops count of initialization
DEFINE_PATCH(0x42A7FA, 0x02);
// mov edx, 10000h (65536) -> mov edx, 20000h (131072)

#pragma endregion
Loading