Shantae: Risky's Revenge - Director's Cut

Shantae: Risky's Revenge - Director's Cut

View Stats:
v00d00m4n Apr 24, 2015 @ 2:07am
Gamepad Accept \ Back fix and proper gamepad rebind fix
Tried %appdata%\Wayforward but wfEngine does not story any keyboard binds. Tried to trace file and registry writes in procmon, still cant catch the file or registry key it writes too. Even tried \277890\remote in steam but it only has cloud save file and it seems that it has not key binds.

So its just a mystery to me, where does it stores key binds? Im looking for it because i want to manually fix problem with bind (inability to bind 2 functions on same button, messed up accept\back, inability to rebind enter and esc and more issues like this).

Update: tried to trace steam.exe instead, so it actually writes config to \277890\remote\save0.sav via steam. Now i have to analyze bytes in hex editor and find offsets and values to edit, doh. Never save key bind in binary form!

I have analyzed save and fully remmaped gamepad buttons the way i wanted (except for lack of separated talk\accept button) by hex editin file and here are my notes:

Hex values and buttons the represent (depends from SDL config may be different for non xinput devices) 00 = UP 01 = RIGHT 02 = DOWN 03 = LEFT 04 = Y 05 = B 06 = A 07 = X 08 = LB 09 = LT 0A = LS 0B = RB 0C = RT 0D = RS 0E = START 0F = BACK Adress in hex editor (i was lazy to write 0x before each one) = default hex value = function: 55C = 07 = ATTACK 560 = 06 = CANCEL 564 = 04 = DANCE 568 = 08 = BACKDASH 56C = 02 = DOWN 570 = 05 = CONFIRM | TALK 574 = OE = INVENTORY 578 = 06 = JUMP 57C = 03 = LEFT 580 = 0B = ITEM 584 = 01 = RIGHT 588 = 0F = PAUSE | SKIP 58C = 00 = UP You should not touch that, but could be handy as well: 590 = 01 = AXIS ??? 594 = 00 = AXIS??? DUBLICATE SET OF VALUES THAT GOT FILLED AFTER RESTORING DEFAULTS? 598 = 07 59C = 06 5A0 = 04 5A4 = 08 5A8 = 02 5AC = 05 5B0 = 0E 5B4 = 06 5B8 = 03 5BC = 0B 5C0 = 01 5C4 = 0F 5C8 = 00

I sat talk\accept to A, and also set Jump to A, this works ok since if you are near someone tot talk jump canceled and you talk instead, moved belly dance-transform to B and item activation to Y, also set dash to RT and swapped inventory and options buttons, now it feels more comfortable.

so my settings (this needs to be hex edited in every save file to persist) are:

55C = 07 = ATTACK 560 = 05 = CANCEL 564 = 05 = DANCE 568 = 0C = BACKDASH 56C = 02 = DOWN 570 = 06 = CONFIRM | TALK 574 = OF = INVENTORY 578 = 06 = JUMP 57C = 03 = LEFT 580 = 04 = ITEM 584 = 01 = RIGHT 588 = 0E = PAUSE | SKIP 58C = 00 = UP

The only little flaw - sometime when you are not properly aligned near NPC jump animation starts and then it canceled and sprite of Shantae moved from air to ground to start conversation. WF need to add extra trigger to check if jump and talk triggered at same time and give talk priority without performing jump when you are very close to NPC.
Last edited by v00d00m4n; Apr 24, 2015 @ 7:45am
< >
Showing 1-1 of 1 comments
v00d00m4n Apr 24, 2015 @ 7:32am 
this line only tells defaul SDL binds for gamepad. I replaced it with sdl_gamecontroller="00000000000000000000000000000000,X360 Controller,a:b10,b:b11,x:b12,y:b13,back:b5,guide:b14,start:b4,leftstick:b6,rightstick:b7,leftshoulder:b8,rightshoulder:b9,dpup:b0,dpdown:b1,dpleft:b2,dpright:b3,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,platform:Windows,"
which is correct for xinput devices and also swapped A and B via ini. but that was not comfortable to play, and still aint allowed me to use few functions on single button.

I have analyzed save and fully remmaped gamepad buttons the way i wanted (except for lack of separated talk\accept button) by hex editin file and here are my notes:

Hex values and buttons the represent (depends from SDL config may be different for non xinput devices) 00 = UP 01 = RIGHT 02 = DOWN 03 = LEFT 04 = Y 05 = B 06 = A 07 = X 08 = LB 09 = LT 0A = LS 0B = RB 0C = RT 0D = RS 0E = START 0F = BACK Adress in hex editor (i was lazy to write 0x before each one) = default hex value = function: 55C = 07 = ATTACK 560 = 06 = CANCEL 564 = 04 = DANCE 568 = 08 = BACKDASH 56C = 02 = DOWN 570 = 05 = CONFIRM | TALK 574 = OE = INVENTORY 578 = 06 = JUMP 57C = 03 = LEFT 580 = 0B = ITEM 584 = 01 = RIGHT 588 = 0F = PAUSE | SKIP 58C = 00 = UP You should not touch that, but could be handy as well: 590 = 01 = AXIS ??? 594 = 00 = AXIS??? DUBLICATE SET OF VALUES THAT GOT FILLED AFTER RESTORING DEFAULTS? 598 = 07 59C = 06 5A0 = 04 5A4 = 08 5A8 = 02 5AC = 05 5B0 = 0E 5B4 = 06 5B8 = 03 5BC = 0B 5C0 = 01 5C4 = 0F 5C8 = 00

I sat talk\accept to A, and also set Jump to A, this works ok since if you are near someone tot talk jump canceled and you talk instead, moved belly dance-transform to B and item activation to Y, also set dash to RT and swapped inventory and options buttons, now it feels more comfortable.

so my settings (this needs to be hex edited in every save file to persist) are:

55C = 07 = ATTACK 560 = 05 = CANCEL 564 = 05 = DANCE 568 = 0C = BACKDASH 56C = 02 = DOWN 570 = 06 = CONFIRM | TALK 574 = OF = INVENTORY 578 = 06 = JUMP 57C = 03 = LEFT 580 = 04 = ITEM 584 = 01 = RIGHT 588 = 0E = PAUSE | SKIP 58C = 00 = UP

The only little flaw - sometime when you are not properly aligned near NPC jump animation starts and then it canceled and sprite of Shantae moved from air to ground to start conversation. WF need to add extra trigger to check if jump and talk triggered at same time and give talk priority without performing jump when you are very close to NPC.
Last edited by v00d00m4n; Apr 24, 2015 @ 7:35am
< >
Showing 1-1 of 1 comments
Per page: 1530 50