|
|
|
@ -21,7 +21,7 @@ namespace MapMarkerPlacement |
|
|
|
|
void InstallPlacementDiscoveredFix() |
|
|
|
|
{ |
|
|
|
|
// Place a marker, if a location has been discovered and fast travel is disabled
|
|
|
|
|
// Checked: 1.5.97, 1.6.640, 1.6.659, 1.6.1130
|
|
|
|
|
// Checked: 1.5.97, 1.6.640, 1.6.659, 1.6.1130, 1.6.1170, 1.6.1179
|
|
|
|
|
REL::Relocation<std::uintptr_t> target{ REL::RelocationID(52208, 53095), REL::Relocate(0x2C5, 0x328, 0x358) }; |
|
|
|
|
SKSE::AllocTrampoline(14); |
|
|
|
|
IsFastTravelEnabled::func = SKSE::GetTrampoline().write_call<5>(target.address(), IsFastTravelEnabled::thunk); |
|
|
|
@ -32,7 +32,7 @@ namespace MapMarkerPlacement |
|
|
|
|
void InstallPlacementUndiscoveredFix() |
|
|
|
|
{ |
|
|
|
|
// Place a marker without asking, if a location isn't discovered yet
|
|
|
|
|
// Checked: 1.5.97, 1.6.640, 1.6.659, 1.6.1130
|
|
|
|
|
// Checked: 1.5.97, 1.6.640, 1.6.659, 1.6.1130, 1.6.1170, 1.6.1179
|
|
|
|
|
REL::Relocation<std::uintptr_t> target2{ REL::RelocationID(52208, 53095), REL::Relocate(0x17A, 0x183) }; |
|
|
|
|
std::uint8_t code[] = { 0xB0, 0x01, REL::NOP, REL::NOP, REL::NOP }; // mov al,0x1
|
|
|
|
|
REL::safe_write(target2.address(), code, sizeof(code)); |
|
|
|
|