Claim set · data/claims/symphony-of-the-night.yaml

Castlevania: Symphony of the Night (USA PlayStation), read through sotn-decomp

Game: Castlevania: Symphony of the Night.

In Symphony of the Night a jump from the ground sets Alucard's upward speed to 4.875 px/frame, and his horizontal speed to 1.5 px/frame toward a held direction, or 0. symphony-of-the-night/jump-speed

About: Castlevania: Symphony of the Night Jump

Value
{
 "up": 4.875,
 "side": 1.5
}
Codesotn-decomp: a decompilation of Castlevania: Symphony of the Night · src/dra/6E42C.c#L151-L167if (CheckMoveDirection()) { … SetSpeedX(FIX(1.5)); … PLAYER.velocityX = 0; … PLAYER.velocityY = FIX(-4.875); SetPlayerStep(Player_Jump);sotn-decomp: a decompilation of Castlevania: Symphony of the Night · include/common.h#L95#define FIX(x) ((s32)((x) * 65536.0))Checked by claude, 2026-10-21 — read the decompilation at the pinned commit

The function isn't named in the decompilation (func_8010E83C); it sets the jump step, and a dive kick's bounce reuses it.

Cited by: Castlevania: Symphony of the Night, Jump

While Alucard rises faster than 1 px/frame in a jump, letting go of the jump button (Cross) sets his upward speed to 1 px/frame. symphony-of-the-night/release-cap

About: Castlevania: Symphony of the Night Variable jump height

Value: 1 px/frame

Codesotn-decomp: a decompilation of Castlevania: Symphony of the Night · src/dra/71830.c#L575-L585void PlayerStepJump(void) { … if (PLAYER.velocityY < FIX(-1)) { … !(g_Player.padPressed & PAD_CROSS)) { PLAYER.velocityY = FIX(-1);Checked by claude, 2026-10-21 — read the decompilation at the pinned commit

A flag (unk44 bit 6) skips the cut; it's set after a dive kick's bounce.

Cited by: Castlevania: Symphony of the Night, Variable jump height

Each jumping frame adds 0.171875 px/frame² to Alucard's vertical speed, a fifth of that while Cross is held near the top (between 0.125 px/frame up and 0.375 down), and caps a fall at 7 px/frame. symphony-of-the-night/gravity

About: Castlevania: Symphony of the Night Gravity

Value
{
 "gravity": 0.171875,
 "apex": 0.034375,
 "maxFall": 7
}
Codesotn-decomp: a decompilation of Castlevania: Symphony of the Night · src/dra/71830.c#L591 — the jump step passes flags including 0x10000if (func_8010FDF8(0x11029)) {sotn-decomp: a decompilation of Castlevania: Symphony of the Night · src/dra/6FDF8.c#L17-L44if (branchFlags & 0x10000) { … g_Player.padPressed & PAD_CROSS) { YAccel = FIX(22.0 / 128 / 5); } else { YAccel = FIX(22.0 / 128); } … PLAYER.velocityY += YAccel; … if (PLAYER.velocityY > FIX(7)) { PLAYER.velocityY = FIX(7);Checked by claude, 2026-10-21 — read the decompilation at the pinned commit

The lighter apex gravity also needs a flag (unk44 bit 5) clear, which a ceiling bump sets. A global counter above 40 divides the gravity by 4; the atlas hasn't traced what it is.

Cited by: Castlevania: Symphony of the Night, Gravity

In Symphony of the Night's jump a held direction sets Alucard's horizontal speed to 1.5 px/frame that way at once, turning him if needed, and every jumping frame first slows it by 1/16 px/frame toward 0, so a released d-pad fades the speed out; Castlevania's take-off fixes Simon's direction for the whole jump. symphony-of-the-night/air-control

About: Castlevania: Symphony of the Night Air control

Value
{
 "speed": 1.5,
 "decay": 0.0625
}
Codesotn-decomp: a decompilation of Castlevania: Symphony of the Night · src/dra/71830.c#L579-L603DecelerateX(FIX(1.0 / 16)); … walkResult = CheckMoveDirection(); if (walkResult != 0) { … SetSpeedX(FIX(1.5));sotn-decomp: a decompilation of Castlevania: Symphony of the Night · src/decelerate.h#L3-L15void DecelerateX(s32 amount) {sotn-decomp: a decompilation of Castlevania: Symphony of the Night · src/dra/6DF70.c#L101-L115s32 CheckMoveDirection(void) { … if (g_Player.padPressed & PAD_RIGHT) { PLAYER.facingLeft = 0;Castlevania (USA) (Rev 1) · 0x19411-0x1944B — Castlevania's take-off copying the held Left and Right into Simon's direction (castlevania/jump-start)Checked by claude, 2026-10-21 — read the decompilation at the pinned commit and the Castlevania range in the ROM

The falling half of the jump (step_s 1) runs the same check and speed. Not measured.

Cited by: Air control, Castlevania: Symphony of the Night