{
  "version": 1,
  "comment": "AddSpeedはローカルプレイヤーのWalk Speed、Run Speed、Strafe Speedを現在値から1 m/s速くします。AddJumpは現在のGravity Strengthを考慮してジャンプ到達高度が約1 m高くなるようJump Impulseを変更します。Resetは各速度とJump ImpulseをVRChat標準値へ戻します。",
  "data": [
    {
      "name": "__player",
      "type": "VRCSDKBaseVRCPlayerApi",
      "value": null
    },
    {
      "name": "__one",
      "type": "SystemSingle",
      "value": 1
    },
    {
      "name": "__twoGravity",
      "type": "SystemSingle",
      "value": 19.62
    },
    {
      "name": "__walkBefore",
      "type": "SystemSingle",
      "value": 0
    },
    {
      "name": "__walkAfter",
      "type": "SystemSingle",
      "value": 0
    },
    {
      "name": "__runBefore",
      "type": "SystemSingle",
      "value": 0
    },
    {
      "name": "__runAfter",
      "type": "SystemSingle",
      "value": 0
    },
    {
      "name": "__strafeBefore",
      "type": "SystemSingle",
      "value": 0
    },
    {
      "name": "__strafeAfter",
      "type": "SystemSingle",
      "value": 0
    },
    {
      "name": "__jumpBefore",
      "type": "SystemSingle",
      "value": 0
    },
    {
      "name": "__jumpAfter",
      "type": "SystemSingle",
      "value": 0
    },
    {
      "name": "__gravityStrength",
      "type": "SystemSingle",
      "value": 0
    },
    {
      "name": "__jumpSquared",
      "type": "SystemSingle",
      "value": 0
    },
    {
      "name": "__heightTerm",
      "type": "SystemSingle",
      "value": 0
    },
    {
      "name": "__jumpSquaredAfter",
      "type": "SystemSingle",
      "value": 0
    },
    {
      "name": "__defaultWalk",
      "type": "SystemSingle",
      "value": 2
    },
    {
      "name": "__defaultRun",
      "type": "SystemSingle",
      "value": 4
    },
    {
      "name": "__defaultStrafe",
      "type": "SystemSingle",
      "value": 2
    },
    {
      "name": "__defaultJump",
      "type": "SystemSingle",
      "value": 3
    },
    {
      "name": "__walkPrefix",
      "type": "SystemString",
      "value": "Walk Speed: "
    },
    {
      "name": "__runPrefix",
      "type": "SystemString",
      "value": "Run Speed: "
    },
    {
      "name": "__strafePrefix",
      "type": "SystemString",
      "value": "Strafe Speed: "
    },
    {
      "name": "__jumpPrefix",
      "type": "SystemString",
      "value": "Jump Impulse: "
    },
    {
      "name": "__arrow",
      "type": "SystemString",
      "value": " -> "
    },
    {
      "name": "__resetMessage",
      "type": "SystemString",
      "value": "Movement reset: Walk Speed = 2, Run Speed = 4, Strafe Speed = 2, Jump Impulse = 3"
    },
    {
      "name": "__message",
      "type": "SystemString",
      "value": ""
    }
  ],
  "code": [
    {
      "name": "AddSpeed",
      "export": true,
      "instructions": [
        {
          "op": "EXTERN",
          "signature": "VRCSDKBaseNetworking.__get_LocalPlayer__VRCSDKBaseVRCPlayerApi",
          "argumentCount": 0,
          "return": "__player"
        },
        {
          "op": "POP"
        },
        {
          "op": "PUSH",
          "operand": "__player"
        },
        {
          "op": "EXTERN",
          "signature": "VRCSDKBaseVRCPlayerApi.__GetWalkSpeed__SystemSingle",
          "argumentCount": 1,
          "return": "__walkBefore"
        },
        {
          "op": "POP"
        },
        {
          "op": "PUSH",
          "operand": "__walkBefore"
        },
        {
          "op": "PUSH",
          "operand": "__one"
        },
        {
          "op": "EXTERN",
          "signature": "SystemSingle.__op_Addition__SystemSingle_SystemSingle__SystemSingle",
          "argumentCount": 2,
          "return": "__walkAfter"
        },
        {
          "op": "POP"
        },
        {
          "op": "PUSH",
          "operand": "__player"
        },
        {
          "op": "PUSH",
          "operand": "__walkAfter"
        },
        {
          "op": "EXTERN",
          "signature": "VRCSDKBaseVRCPlayerApi.__SetWalkSpeed__SystemSingle__SystemVoid",
          "argumentCount": 2
        },
        {
          "op": "PUSH",
          "operand": "__player"
        },
        {
          "op": "EXTERN",
          "signature": "VRCSDKBaseVRCPlayerApi.__GetRunSpeed__SystemSingle",
          "argumentCount": 1,
          "return": "__runBefore"
        },
        {
          "op": "POP"
        },
        {
          "op": "PUSH",
          "operand": "__runBefore"
        },
        {
          "op": "PUSH",
          "operand": "__one"
        },
        {
          "op": "EXTERN",
          "signature": "SystemSingle.__op_Addition__SystemSingle_SystemSingle__SystemSingle",
          "argumentCount": 2,
          "return": "__runAfter"
        },
        {
          "op": "POP"
        },
        {
          "op": "PUSH",
          "operand": "__player"
        },
        {
          "op": "PUSH",
          "operand": "__runAfter"
        },
        {
          "op": "EXTERN",
          "signature": "VRCSDKBaseVRCPlayerApi.__SetRunSpeed__SystemSingle__SystemVoid",
          "argumentCount": 2
        },
        {
          "op": "PUSH",
          "operand": "__player"
        },
        {
          "op": "EXTERN",
          "signature": "VRCSDKBaseVRCPlayerApi.__GetStrafeSpeed__SystemSingle",
          "argumentCount": 1,
          "return": "__strafeBefore"
        },
        {
          "op": "POP"
        },
        {
          "op": "PUSH",
          "operand": "__strafeBefore"
        },
        {
          "op": "PUSH",
          "operand": "__one"
        },
        {
          "op": "EXTERN",
          "signature": "SystemSingle.__op_Addition__SystemSingle_SystemSingle__SystemSingle",
          "argumentCount": 2,
          "return": "__strafeAfter"
        },
        {
          "op": "POP"
        },
        {
          "op": "PUSH",
          "operand": "__player"
        },
        {
          "op": "PUSH",
          "operand": "__strafeAfter"
        },
        {
          "op": "EXTERN",
          "signature": "VRCSDKBaseVRCPlayerApi.__SetStrafeSpeed__SystemSingle__SystemVoid",
          "argumentCount": 2
        },
        {
          "op": "PUSH",
          "operand": "__walkPrefix"
        },
        {
          "op": "PUSH",
          "operand": "__walkBefore"
        },
        {
          "op": "EXTERN",
          "signature": "SystemString.__Concat__SystemObject_SystemObject__SystemString",
          "argumentCount": 2,
          "return": "__message"
        },
        {
          "op": "PUSH",
          "operand": "__arrow"
        },
        {
          "op": "EXTERN",
          "signature": "SystemString.__Concat__SystemString_SystemString__SystemString",
          "argumentCount": 2,
          "return": "__message"
        },
        {
          "op": "PUSH",
          "operand": "__walkAfter"
        },
        {
          "op": "EXTERN",
          "signature": "SystemString.__Concat__SystemObject_SystemObject__SystemString",
          "argumentCount": 2,
          "return": "__message"
        },
        {
          "op": "EXTERN",
          "signature": "UnityEngineDebug.__Log__SystemObject__SystemVoid",
          "argumentCount": 1
        },
        {
          "op": "PUSH",
          "operand": "__runPrefix"
        },
        {
          "op": "PUSH",
          "operand": "__runBefore"
        },
        {
          "op": "EXTERN",
          "signature": "SystemString.__Concat__SystemObject_SystemObject__SystemString",
          "argumentCount": 2,
          "return": "__message"
        },
        {
          "op": "PUSH",
          "operand": "__arrow"
        },
        {
          "op": "EXTERN",
          "signature": "SystemString.__Concat__SystemString_SystemString__SystemString",
          "argumentCount": 2,
          "return": "__message"
        },
        {
          "op": "PUSH",
          "operand": "__runAfter"
        },
        {
          "op": "EXTERN",
          "signature": "SystemString.__Concat__SystemObject_SystemObject__SystemString",
          "argumentCount": 2,
          "return": "__message"
        },
        {
          "op": "EXTERN",
          "signature": "UnityEngineDebug.__Log__SystemObject__SystemVoid",
          "argumentCount": 1
        },
        {
          "op": "PUSH",
          "operand": "__strafePrefix"
        },
        {
          "op": "PUSH",
          "operand": "__strafeBefore"
        },
        {
          "op": "EXTERN",
          "signature": "SystemString.__Concat__SystemObject_SystemObject__SystemString",
          "argumentCount": 2,
          "return": "__message"
        },
        {
          "op": "PUSH",
          "operand": "__arrow"
        },
        {
          "op": "EXTERN",
          "signature": "SystemString.__Concat__SystemString_SystemString__SystemString",
          "argumentCount": 2,
          "return": "__message"
        },
        {
          "op": "PUSH",
          "operand": "__strafeAfter"
        },
        {
          "op": "EXTERN",
          "signature": "SystemString.__Concat__SystemObject_SystemObject__SystemString",
          "argumentCount": 2,
          "return": "__message"
        },
        {
          "op": "EXTERN",
          "signature": "UnityEngineDebug.__Log__SystemObject__SystemVoid",
          "argumentCount": 1
        }
      ]
    },
    {
      "name": "AddJump",
      "export": true,
      "instructions": [
        {
          "op": "EXTERN",
          "signature": "VRCSDKBaseNetworking.__get_LocalPlayer__VRCSDKBaseVRCPlayerApi",
          "argumentCount": 0,
          "return": "__player"
        },
        {
          "op": "POP"
        },
        {
          "op": "PUSH",
          "operand": "__player"
        },
        {
          "op": "EXTERN",
          "signature": "VRCSDKBaseVRCPlayerApi.__GetJumpImpulse__SystemSingle",
          "argumentCount": 1,
          "return": "__jumpBefore"
        },
        {
          "op": "POP"
        },
        {
          "op": "PUSH",
          "operand": "__player"
        },
        {
          "op": "EXTERN",
          "signature": "VRCSDKBaseVRCPlayerApi.__GetGravityStrength__SystemSingle",
          "argumentCount": 1,
          "return": "__gravityStrength"
        },
        {
          "op": "POP"
        },
        {
          "op": "PUSH",
          "operand": "__jumpBefore"
        },
        {
          "op": "PUSH",
          "operand": "__jumpBefore"
        },
        {
          "op": "EXTERN",
          "signature": "SystemSingle.__op_Multiplication__SystemSingle_SystemSingle__SystemSingle",
          "argumentCount": 2,
          "return": "__jumpSquared"
        },
        {
          "op": "POP"
        },
        {
          "op": "PUSH",
          "operand": "__twoGravity"
        },
        {
          "op": "PUSH",
          "operand": "__gravityStrength"
        },
        {
          "op": "EXTERN",
          "signature": "SystemSingle.__op_Multiplication__SystemSingle_SystemSingle__SystemSingle",
          "argumentCount": 2,
          "return": "__heightTerm"
        },
        {
          "op": "POP"
        },
        {
          "op": "PUSH",
          "operand": "__jumpSquared"
        },
        {
          "op": "PUSH",
          "operand": "__heightTerm"
        },
        {
          "op": "EXTERN",
          "signature": "SystemSingle.__op_Addition__SystemSingle_SystemSingle__SystemSingle",
          "argumentCount": 2,
          "return": "__jumpSquaredAfter"
        },
        {
          "op": "POP"
        },
        {
          "op": "PUSH",
          "operand": "__jumpSquaredAfter"
        },
        {
          "op": "EXTERN",
          "signature": "UnityEngineMathf.__Sqrt__SystemSingle__SystemSingle",
          "argumentCount": 1,
          "return": "__jumpAfter"
        },
        {
          "op": "POP"
        },
        {
          "op": "PUSH",
          "operand": "__player"
        },
        {
          "op": "PUSH",
          "operand": "__jumpAfter"
        },
        {
          "op": "EXTERN",
          "signature": "VRCSDKBaseVRCPlayerApi.__SetJumpImpulse__SystemSingle__SystemVoid",
          "argumentCount": 2
        },
        {
          "op": "PUSH",
          "operand": "__jumpPrefix"
        },
        {
          "op": "PUSH",
          "operand": "__jumpBefore"
        },
        {
          "op": "EXTERN",
          "signature": "SystemString.__Concat__SystemObject_SystemObject__SystemString",
          "argumentCount": 2,
          "return": "__message"
        },
        {
          "op": "PUSH",
          "operand": "__arrow"
        },
        {
          "op": "EXTERN",
          "signature": "SystemString.__Concat__SystemString_SystemString__SystemString",
          "argumentCount": 2,
          "return": "__message"
        },
        {
          "op": "PUSH",
          "operand": "__jumpAfter"
        },
        {
          "op": "EXTERN",
          "signature": "SystemString.__Concat__SystemObject_SystemObject__SystemString",
          "argumentCount": 2,
          "return": "__message"
        },
        {
          "op": "EXTERN",
          "signature": "UnityEngineDebug.__Log__SystemObject__SystemVoid",
          "argumentCount": 1
        }
      ]
    },
    {
      "name": "Reset",
      "export": true,
      "instructions": [
        {
          "op": "EXTERN",
          "signature": "VRCSDKBaseNetworking.__get_LocalPlayer__VRCSDKBaseVRCPlayerApi",
          "argumentCount": 0,
          "return": "__player"
        },
        {
          "op": "POP"
        },
        {
          "op": "PUSH",
          "operand": "__player"
        },
        {
          "op": "PUSH",
          "operand": "__defaultWalk"
        },
        {
          "op": "EXTERN",
          "signature": "VRCSDKBaseVRCPlayerApi.__SetWalkSpeed__SystemSingle__SystemVoid",
          "argumentCount": 2
        },
        {
          "op": "PUSH",
          "operand": "__player"
        },
        {
          "op": "PUSH",
          "operand": "__defaultRun"
        },
        {
          "op": "EXTERN",
          "signature": "VRCSDKBaseVRCPlayerApi.__SetRunSpeed__SystemSingle__SystemVoid",
          "argumentCount": 2
        },
        {
          "op": "PUSH",
          "operand": "__player"
        },
        {
          "op": "PUSH",
          "operand": "__defaultStrafe"
        },
        {
          "op": "EXTERN",
          "signature": "VRCSDKBaseVRCPlayerApi.__SetStrafeSpeed__SystemSingle__SystemVoid",
          "argumentCount": 2
        },
        {
          "op": "PUSH",
          "operand": "__player"
        },
        {
          "op": "PUSH",
          "operand": "__defaultJump"
        },
        {
          "op": "EXTERN",
          "signature": "VRCSDKBaseVRCPlayerApi.__SetJumpImpulse__SystemSingle__SystemVoid",
          "argumentCount": 2
        },
        {
          "op": "PUSH",
          "operand": "__resetMessage"
        },
        {
          "op": "EXTERN",
          "signature": "UnityEngineDebug.__Log__SystemObject__SystemVoid",
          "argumentCount": 1
        }
      ]
    }
  ]
}
