Originally Posted by
kth_prkns
lol nice =P must be a different type of movement state. ALso, your progrably right since they are all 4 byte but it still gives the same effect with mine so ill leave it.
1. The offset is wrong.
2. They're not a different type of state you're just off by a few bytes so you're modifying some of it not all of it.
3. Its not a float its a bitmask, view it as an Int32 and convert it to hex.
If you want some proof look at the following subroutines:
Code:
.data:0093E738 off_93E738 dd offset aJumporascendst ; DATA XREF: sub_6869B0+9r
.data:0093E738 ; sub_6869E0:loc_6869E3r
.data:0093E738 ; "JumpOrAscendStart"
.data:0093E73C off_93E73C dd offset sub_687D00 ; DATA XREF: sub_6869B0:loc_6869B3r
.data:0093E740 dd offset aAscendstop ; "AscendStop"
.data:0093E744 dd offset sub_687E10
.data:0093E748 dd offset aDescendstop ; "DescendStop"
.data:0093E74C dd offset sub_687E80
.data:0093E750 dd offset aTogglerun ; "ToggleRun"
.data:0093E754 dd offset sub_687880
.data:0093E758 dd offset aToggleautorun ; "ToggleAutoRun"
.data:0093E75C dd offset sub_687EB0
.data:0093E760 dd offset aMoveforwardsta ; "MoveForwardStart"
.data:0093E764 dd offset sub_687EF0
.data:0093E768 dd offset aMoveforwardsto ; "MoveForwardStop"
.data:0093E76C dd offset sub_687F20
.data:0093E770 dd offset aMovebackward_0 ; "MoveBackwardStart"
.data:0093E774 dd offset sub_687F50
.data:0093E778 dd offset aMovebackwardst ; "MoveBackwardStop"
.data:0093E77C dd offset sub_687F80
.data:0093E780 dd offset aTurnleftstart ; "TurnLeftStart"
.data:0093E784 dd offset sub_687FB0
.data:0093E788 dd offset aTurnleftstop ; "TurnLeftStop"
.data:0093E78C dd offset sub_687FE0
.data:0093E790 dd offset aTurnrightstart ; "TurnRightStart"
.data:0093E794 dd offset sub_688010
.data:0093E798 dd offset aTurnrightstop ; "TurnRightStop"
.data:0093E79C dd offset sub_688040
.data:0093E7A0 dd offset aStrafeleftstar ; "StrafeLeftStart"
.data:0093E7A4 dd offset sub_688070
.data:0093E7A8 dd offset aStrafeleftstop ; "StrafeLeftStop"
.data:0093E7AC dd offset sub_6880A0
.data:0093E7B0 dd offset aStraferightsta ; "StrafeRightStart"
.data:0093E7B4 dd offset sub_6880D0
.data:0093E7B8 dd offset aStraferightsto ; "StrafeRightStop"
.data:0093E7BC dd offset sub_688100
.data:0093E7C0 dd offset aPitchupstart ; "PitchUpStart"
.data:0093E7C4 dd offset sub_688130
.data:0093E7C8 dd offset aPitchupstop ; "PitchUpStop"
.data:0093E7CC dd offset sub_688160
.data:0093E7D0 dd offset aPitchdownstart ; "PitchDownStart"
.data:0093E7D4 dd offset sub_688190
.data:0093E7D8 dd offset aPitchdownstop ; "PitchDownStop"
.data:0093E7DC dd offset sub_6881C0
.data:0093E7E0 dd offset aTurnoraction_0 ; "TurnOrActionStart"
.data:0093E7E4 dd offset sub_6881F0
.data:0093E7E8 dd offset aTurnoractionst ; "TurnOrActionStop"
.data:0093E7EC dd offset sub_688230
.data:0093E7F0 dd offset aCameraorsele_0 ; "CameraOrSelectOrMoveStart"
.data:0093E7F4 dd offset sub_688260
.data:0093E7F8 dd offset aCameraorselect ; "CameraOrSelectOrMoveStop"
.data:0093E7FC dd offset sub_6882A0
.data:0093E800 dd offset aMoveandsteer_0 ; "MoveAndSteerStart"
.data:0093E804 dd offset sub_6882F0
.data:0093E808 dd offset aMoveandsteerst ; "MoveAndSteerStop"
.data:0093E80C dd offset sub_688340
.data:0093E810 dd offset aSetmouselookov ; "SetMouselookOverrideBinding"
.data:0093E814 dd offset sub_688EC0
.data:0093E818 dd offset aMouselookstart ; "MouselookStart"
.data:0093E81C dd offset sub_688640
.data:0093E820 dd offset aMouselookstop ; "MouselookStop"
.data:0093E824 dd offset sub_688380
.data:0093E828 dd offset aIsmouselooking ; "IsMouselooking"
.data:0093E82C dd offset sub_686B90
They call the following function:
Example = sub_687CA0(0x200, 1, dword_E7FC9C, 0); <-- TurnRightStart
Generic = SetControlBit(int ControlBit, BOOL Enable, int GetTickCount, int DoesntMatter = 0)
You'll notice that they're setting a BITMASK. If you trace through to the offset they're setting you can get the correct address.
Here's a list of some of the states:
0x1 moving forward
0x2 moving backward
0x4 strafing left
0x8 strafing right
0x10 turning left
0x20 turning right
0x100 walking
0x1000 dead
0x4000 Fall Forward
0x8000 Fall Backwards
0x2000 in freefall/jumping
0x10000 happens when you jump then strafe
0x200000 swimming
0x10000000 spirit form
(copypaste from EoN, don't have access to Visual Studio to pull down my enum from this computer)