Fixed the tween menu patch on 1.5.97, new controlmap.txt

This commit is contained in:
Eddoursul 2023-12-18 16:48:07 +01:00
parent d1e5a1ceac
commit a3192c6036
5 changed files with 221 additions and 4 deletions

BIN
SKSE/Plugins/EnderalSE.dll (Stored with Git LFS)

Binary file not shown.

View File

@ -0,0 +1,217 @@
// 1st field: User event name. DO NOT ALTER! This field is used to ID events in the code
// 2nd: Keyboard key ID that will proc this event. A value of 0xff means the event is unmapped for this device.
// 3rd: Mouse button ID that will proc this event.
// 4th: Gamepad button ID that will proc this event.
// 5th: If set to 1, this event can be remapped to a keyboard key
// 6th: If set to 1, this event can be remapped to a mouse button
// 7th: If set to 1, this event can be remapped to a gamepad button
// 8th (Optional): User event binary flag. Used to group together related user events, like "Movement" or
// "Menu", so they can be toggled on and off together
//
// Blank lines signify the start of a new input context.
// See ControlMap.h for more details on input contexts.
//
// Main Gameplay
Forward 0x11 0xff 0xff 1 1 0 0x801
Back 0x1f 0xff 0xff 1 1 0 0x801
Strafe Left 0x1e 0xff 0xff 1 1 0 0x801
Strafe Right 0x20 0xff 0xff 1 1 0 0x801
Move 0xff 0xff 0x000b 0 0 0 0x801
Look 0xff 0xa 0x000c 0 0 0 0x2
Left Attack/Block 0xff 0x1 0x0009 1 1 1 0x841
Right Attack/Block 0xff 0x0 0x000a 1 1 1 0x841
Activate 0x12 0xff 0x1000 1 1 1 0x804
Ready Weapon 0x13 0xff 0x4000 1 1 1 0x840
Tween Menu 0x0f 0xff 0x2000 1 1 1 0x908
Toggle POV 0x21 0xff 0x0080 1 1 1 0x820
Zoom Out 0xff 0x9 0xff 0 0 0 0x220
Zoom In 0xff 0x8 0xff 0 0 0 0x220
Jump 0x39 0xff 0x8000 1 1 1 0xC01
Sprint 0x2a 0xff 0x0100 1 1 1 0x801
Shout 0x2c 0xff 0x0200 1 1 1 0x840
Sneak 0x1d 0xff 0x0040 1 1 1 0x881
Run 0x38 0xff 0xff 1 1 0 0x801
Toggle Always Run 0x3a 0xff 0xff 1 1 0 0x801
Auto-Move 0x2e 0xff 0xff 1 1 0 0x801
Favorites 0x10 0xff 0x0001,0x0002 1 1 0 0x908
Hotkey1 0x02,0x4f 0xff 0x0004 0 0 0 0x908
Hotkey2 0x03,0x50 0xff 0x0008 0 0 0 0x908
Hotkey3 0x04,0x51 0xff 0xff 0 0 0 0x908
Hotkey4 0x05,0x4b 0xff 0xff 0 0 0 0x908
Hotkey5 0x06,0x4c 0xff 0xff 0 0 0 0x908
Hotkey6 0x07,0x4d 0xff 0xff 0 0 0 0x908
Hotkey7 0x08,0x47 0xff 0xff 0 0 0 0x908
Hotkey8 0x09,0x48 0xff 0xff 0 0 0 0x908
Quicksave 0x3f 0xff 0xff 1 0 0
Quickload 0x43 0xff 0xff 1 0 0
Wait 0x14 0xff 0x0020 1 1 1 0x808
Journal 0x24 0xff 0x0010 1 1 1 0x808
Pause 0x1 0xff 0xff 1 1 0 0x8
Screenshot 0xb7 0xff 0xff 0 0 0
Multi-Screenshot 0x1d+0xb7,0x9d+0xb7 0xff 0xff 0 0 0
Console 0x29,0x94 0xff 0xff 0 0 0 0x10
CameraPath 0x58 0xff 0xff 0 0 0
Quick Inventory 0x17 0xff 0xff 1 1 0 0x908
Quick Magic 0x19 0xff 0xff 1 1 0 0x908
Quick Stats 0x23 0xff 0xff 1 1 0 0x908
Quick Map 0x32 0xff 0xff 1 1 0 0x908
// Menu Mode
Accept !0,Activate !0,Activate 0x1000 0 0 0 0x8
Cancel !0,Tween Menu,!0,Pause !0,Tween Menu,!0,Pause 0x2000 0 0 0 0x8
Up !0,Forward !0,Forward 0x0001 0 0 0 0x8
Down !0,Back !0,Back 0x0002 0 0 0 0x8
Left !0,Strafe Left !0,Strafe Left 0x0004 0 0 0 0x8
Right !0,Strafe Right !0,Strafe Right 0x0008 0 0 0 0x8
Left Stick 0xff 0xff 0x000b 0 0 0 0x8
Console 0x29 0xff 0xff 0 0 0 0x10
DownloadAll 0xff 0xff 0x8000 0 0 0 0x8
// Console
PickPrevious 0xff 0x8 0x0002 0 0 0 0x10
PickNext 0xff 0x9 0x0001 0 0 0 0x10
Up 0xc8 0xff 0xff 0 0 0 0x10
Down 0xd0 0xff 0xff 0 0 0 0x10
PageUp 0xc9 0xff 0xff 0 0 0 0x10
PageDown 0xd1 0xff 0xff 0 0 0 0x10
Console 0x29 0xff 0xff 0 0 0 0x10
NextFocus 0x0f 0xff 0x0200 0 0 0 0x10
PreviousFocus 0x2a+0x0f,0x36+0x0f 0xff 0x0100 0 0 0 0x10
// Item Menus
LeftEquip !0,Left Attack/Block !0,Left Attack/Block !0,Left Attack/Block 0 0 0 0x8
RightEquip !0,Right Attack/Block !0,Right Attack/Block !0,Right Attack/Block 0 0 0 0x8
Item Zoom 0x2e 0xff 0x0080 0 0 0 0x8
Rotate 0xff 0xff 0x000c 0 0 0 0x8
XButton !0,Ready Weapon !0,Ready Weapon 0x4000 0 0 0 0x8
YButton !0,Toggle POV !0,Toggle POV 0x8000 0 0 0 0x8
Cursor 0xff 0xa 0xff 0 0 0 0x8
// Inventory
ChargeItem !0,Wait !0,Wait !0,Shout 0 0 0 0x8
// Debug Text
PrevPage 0xc8 0xff 0xff 0 0 0 0x10
NextPage 0xd0 0xff 0xff 0 0 0 0x10
PrevSubPage 0xc9 0xff 0xff 0 0 0 0x10
NextSubPage 0xd1 0xff 0xff 0 0 0 0x10
// Favorites menu
Up !0,Forward !0,Forward 0x0001 0 0 0 0x8
Down !0,Back !0,Back 0x0002 0 0 0 0x8
Accept !0,Activate !0,Activate 0x1000 0 0 0 0x8
Cancel !0,Favorites,!0,Tween Menu,!0,Pause !0,Favorites,!0,Tween Menu,!0,Pause 0x2000 0 0 0 0x8
Left Stick 0xff 0xff 0x000b 0 0 0 0x8
Cursor 0xff 0xa 0xff 0 0 0 0x8
// Map Menu
Cancel !0,Tween Menu,!0,Pause !0,Tween Menu,!0,Pause 0x2000 0 0 0 0x8
Look 0xff 0xff 0x000c 0 0 0 0x8
Zoom In 0xff 0x8 0x000a 0 0 0 0x8
Zoom Out 0xff 0x9 0x0009 0 0 0 0x8
MapLookMode 0xff 0x1 0xff 0 0 0 0x8
Click 0xff 0xff 0x1000 0 0 0 0x8
PlacePlayerMarker 0x19 0xff 0xff 0 0 0 0x8
Cursor 0xff 0xa 0x000b 0 0 0 0x8
PlayerPosition 0x12 0xff 0x8000 0 0 0 0x8
LocalMap 0x26 0xff 0x4000 0 0 0 0x8
LocalMapMoveMode 0xff 0x0 0xff 0 0 0 0x8
Journal 0x24 0xff 0x0004 0 0 0 0x8
Up !0,Forward !0,Forward 0xff 0 0 0 0x8
Down !0,Back !0,Back 0xff 0 0 0 0x8
Left !0,Strafe Left !0,Strafe Left 0xff 0 0 0 0x8
Right !0,Strafe Right !0,Strafe Right 0xff 0 0 0 0x8
// Stats
Rotate 0xff 0xff 0x000b 0 0 0 0x8
// Cursor
Cursor 0xff 0xa 0x000c 0 0 0 0x10
Click 0xff 0x0 0x1000 0 0 0 0x10
// Book
PrevPage 0xcb,0x1e 0x0,0x9 0x0004 0 0 0 0x8
NextPage 0xcd,0x20 0x1,0x8 0x0008 0 0 0 0x8
// Debug overlay
Console 0x29 0xff 0xff 0 0 0 0x10
NextFocus 0x0f 0xff 0x0200 0 0 0 0x10
PreviousFocus 0x2a+0x0f,0x36+0x0f 0xff 0x0100 0 0 0 0x10
Up 0xc8 0xff 0x0001 0 0 0 0x10
Down 0xd0 0xff 0x0002 0 0 0 0x10
Left 0xcb 0xff 0x0004 0 0 0 0x10
Right 0xcd 0xff 0x0008 0 0 0 0x10
PageUp 0xc9 0xff 0xff 0 0 0 0x10
PageDown 0xd1 0xff 0xff 0 0 0 0x10
ToggleMinimize 0x3f 0xff 0x0020 0 0 0 0x10
ToggleMove 0x3e 0xff 0x0080 0 0 0 0x10
Close 0x40 0xff 0xff 0 0 0 0x10
F1 0x3b 0xff 0xff 0 0 0 0x10
F2 0x3c 0xff 0xff 0 0 0 0x10
F3 0x3d 0xff 0xff 0 0 0 0x10
F7 0x41 0xff 0xff 0 0 0 0x10
F8 0x42 0xff 0xff 0 0 0 0x10
F9 0x43 0xff 0xff 0 0 0 0x10
F10 0x44 0xff 0xff 0 0 0 0x10
F11 0x57 0xff 0xff 0 0 0 0x10
F12 0x58 0xff 0xff 0 0 0 0x10
LTrigger 0xff 0xff 0x0009 0 0 0 0x10
RTrigger 0xff 0xff 0x000a 0 0 0 0x10
Backspace 0x0e 0xff 0xff 0 0 0 0x10
Enter 0x1c 0xff 0xff 0 0 0 0x10
B 0xff 0xff 0x2000 0 0 0 0x10
Y 0xff 0xff 0x8000 0 0 0 0x10
X 0xff 0xff 0x4000 0 0 0 0x10
// Journal
Zoom In 0xff 0x8 0xff 0 0 0 0x8
Zoom Out 0xff 0x9 0xff 0 0 0 0x8
XButton 0x2d,0x32 0xff 0x4000 0 0 0 0x8
YButton 0x14 0xff 0x8000 0 0 0 0x8
TabSwitch 0xff 0xff 0x0009,0x000a 0 0 0 0x8
// TFC mode
CameraZUp 0xff 0x8 0x000a 0 0 0
CameraZDown 0xff 0x9 0x0009 0 0 0
WorldZUp 0xff 0x0 0x0200 0 0 0
WorldZDown 0xff 0x1 0x0100 0 0 0
LockToZPlane 0xff 0xff 0x4000 0 0 0
// Debug Map Menu-like mode (but not the actual map menu)
Look 0xff 0xff 0x000c 0 0 0 0x8
Zoom In 0xff 0x8 0x000a 0 0 0 0x8
Zoom Out 0xff 0x9 0x0009 0 0 0 0x8
Move 0xff 0xa 0x000b 0 0 0 0x8
// Lockpicking
RotatePick 0xff 0xa 0x000b 0 0 0 0x8
RotateLock !0,Forward,!0,Back,!0,Strafe Left,!0,Strafe Right !0,Forward,!0,Back,!0,Strafe Left,!0,Strafe Right 0x000c 0 0 0 0x8
DebugMode 0x35 0xff 0x4000 0 0 0 0x8
Cancel !0,Tween Menu,!0,Pause !0,Tween Menu,!0,Pause 0x2000 0 0 0 0x8
// Creations Menu
Accept 0x12,0x1c 0xff 0x1000 0 0 0 0x8
Cancel 0x0f,0x1 0xff 0x2000 0 0 0 0x8
Up 0x11,0xc8 0xff 0x0001 0 0 0 0x8
Down 0x1f,0xd0 0xff 0x0002 0 0 0 0x8
Left 0x1e,0xcb 0xff 0x0004 0 0 0 0x8
Right 0x20,0xcd 0xff 0x0008 0 0 0 0x8
HomeKey 0xc7 0xff 0xff 0 0 0 0x8
EndKey 0xcf 0xff 0xff 0 0 0 0x8
DeleteKey 0xd3 0xff 0xff 0 0 0 0x8
MouseClickAccept 0xff 0x0 0xff 0 0 0 0x8
Options 0x18 0xff 0x0010 0 0 0 0x8
Left Stick 0xff 0xff 0x000b 0 0 0 0x8
Console 0x29 0xff 0xff 0 0 0 0x10
MouseScrollDown 0xff 0x9 0xff 0 0 0 0x8
MouseScrollUp 0xff 0x8 0xff 0 0 0 0x8
LoadOrderAndDelete 0x14 0xff 0x8000 0 0 0 0x8
CategorySideBar 0x2a 0xff 0x0009 0 0 0 0x8
LikeUnlike 0x26 0xff 0x0200 0 0 0 0x8
SearchEdit 0x2d 0xff 0x0100 0 0 0 0x8
Filter 0x2f 0xff 0x000a 0 0 0 0x8
F1 0x3b 0xff 0xff 0 0 0 0x8
PurchaseCredits 0x19 0xff 0x4000 0 0 0 0x8
// Favor
Cancel !0,Tween Menu,!0,Pause !0,Tween Menu,!0,Pause 0x2000 0 0 0 0x108

Binary file not shown.

View File

@ -8,14 +8,14 @@ public:
REL::Relocation<uintptr_t> vtbl(RE::VTABLE_TweenMenu[0]);
_AcceptFn = vtbl.write_vfunc(0x1, &AcceptEx);
REL::Relocation<std::uintptr_t> target{ REL::RelocationID(51400, 52249), REL::Relocate(0x409, 0x421) };
REL::Relocation<std::uintptr_t> target{ REL::RelocationID(51400, 52249), REL::Relocate(0x41E, 0x421) };
REL::safe_fill(target.address(), REL::NOP, 45);
auto& trampoline = SKSE::GetTrampoline();
SKSE::AllocTrampoline(14);
_OpenStats = trampoline.write_call<5>(target.address(), OpenStats);
REL::Relocation<std::uintptr_t> target2{ REL::RelocationID(51400, 52249), REL::Relocate(0x409, 0x439) };
REL::Relocation<std::uintptr_t> target2{ REL::RelocationID(51400, 52249), REL::Relocate(0x436, 0x439) };
std::uint8_t code[] = { 0x40, 0xB5, 0x01 };
REL::safe_write(target2.address(), code, sizeof(code));
}

View File

@ -26,7 +26,7 @@ EndEvent
state TryToOpen
Event OnBeginState()
If (! Utility.IsInMenuMode() || UI.IsMenuOpen("TweenMenu")) && ! UI.IsTextInputEnabled() && GetReference().GetCurrentLocation() != _00E_Dreamworld_Location
If (! Utility.IsInMenuMode() || UI.IsMenuOpen("TweenMenu")) && ! UI.IsTextInputEnabled()
GotoState("Active")
else
GotoState("")