Skip to content

MapObj: Implement Motorcycle - #1325

Open
german77 wants to merge 2 commits into
MonsterDruide1:masterfrom
german77:motorcycle2
Open

MapObj: Implement Motorcycle#1325
german77 wants to merge 2 commits into
MonsterDruide1:masterfrom
german77:motorcycle2

Conversation

@german77

@german77 german77 commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Finally this requested class is almost fully done. With the exception of Motorcycle::movement https://decomp.me/scratch/B2j7L everything else is implemented. Requires open-ead/sead#276 for init to match.

The motorcycle is a complicated actor. First of all it can do quite a bit of stuff like having a "puppet" driving it. It can jump, crash and is affected by water.

Huge thanks to GRA for all the help provided. It made this PR arrive much earlier than expected.


This change is Reviewable


Report for 1.0 (4a87ded - 25beda3)

📈 Matched code: 15.71% (+0.22%, +28128 bytes)

✅ 90 new matches
Unit Item Bytes Before After
MapObj/Motorcycle Motorcycle::receiveMsg(al::SensorMsg const*, al::HitSensor*, al::HitSensor*) +2492 0.00% 100.00%
MapObj/Motorcycle updateRunningVelocity(Motorcycle*, float) +1352 0.00% 100.00%
MapObj/Motorcycle updateOrientation(Motorcycle*, float) +1232 0.00% 100.00%
MapObj/Motorcycle Motorcycle::exeRideRunJump() +1208 0.00% 100.00%
MapObj/Motorcycle tryParking(Motorcycle*, IUsePlayerPuppet*, ParkingParams*, MotorcyclePose*) +1056 0.00% 100.00%
MapObj/Motorcycle Motorcycle::exeRideWaitJump() +1032 0.00% 100.00%
MapObj/Motorcycle Motorcycle::exeRideRun() +1000 0.00% 100.00%
MapObj/Motorcycle Motorcycle::exeRideRunStart() +880 0.00% 100.00%
MapObj/Motorcycle Motorcycle::exeRideRunCollide() +880 0.00% 100.00%
MapObj/Motorcycle updateSteerAngleAndAccel(Motorcycle*, IUsePlayerPuppet*, AccelerationState*, float*) +868 0.00% 100.00%
MapObj/Motorcycle updateSeRumble(SeRumbleState*, Motorcycle*, IUsePlayerPuppet*, float, bool) +756 0.00% 100.00%
MapObj/Motorcycle Motorcycle::exeRideRunLand() +724 0.00% 100.00%
MapObj/Motorcycle updateBoundPhysics(Motorcycle*, IUsePlayerPuppet*, float*, SeRumbleState*, bool) +644 0.00% 100.00%
MapObj/Motorcycle Motorcycle::exeRideRunWheelie() +604 0.00% 100.00%
MapObj/Motorcycle calcInputStick(sead::Vector2<float>*, Motorcycle*, IUsePlayerPuppet*) +572 0.00% 100.00%
MapObj/Motorcycle Motorcycle::exeRideRunFall() +572 0.00% 100.00%
MapObj/Motorcycle startGetOff(Motorcycle*, IUsePlayerPuppet**, int*, MotorcyclePlayerAnimator*, al::CameraTargetBase*, al::TransCameraSubTarget*) +544 0.00% 100.00%
MapObj/Motorcycle updateAirOrientation(Motorcycle*) +512 0.00% 100.00%
MapObj/Motorcycle tryLand(Motorcycle*) +508 0.00% 100.00%
MapObj/Motorcycle tryBound(Motorcycle*) +452 0.00% 100.00%
MapObj/Motorcycle Motorcycle::exeRideWait() +444 0.00% 100.00%
MapObj/Motorcycle Motorcycle::exeWait() +440 0.00% 100.00%
MapObj/Motorcycle Motorcycle::exeRideWaitLand() +428 0.00% 100.00%
MapObj/Motorcycle Motorcycle::updateCollider() +412 0.00% 100.00%
MapObj/Motorcycle tryHandleWallCollision(Motorcycle*) +408 0.00% 100.00%
MapObj/Motorcycle TryWheelieOrFall(Motorcycle*) +404 0.00% 100.00%
MapObj/Motorcycle syncPuppetPose(IUsePlayerPuppet*, Motorcycle*, sead::Quat<float> const&, sead::Vector3<float> const&) +400 0.00% 100.00%
MapObj/Motorcycle Motorcycle::exeJump() +396 0.00% 100.00%
MapObj/Motorcycle tryHandleHighSpeedWallCollision(Motorcycle*, sead::Vector3<float> const&) +392 0.00% 100.00%
MapObj/Motorcycle Motorcycle::exeCreep() +384 0.00% 100.00%

...and 60 more new matches

📈 2 improvements in unmatched items
Unit Item Bytes Before After
MapObj/Motorcycle Motorcycle::movement() +897 0.00% 25.00%
MapObj/Motorcycle Motorcycle::init(al::ActorInitInfo const&) +409 0.00% 25.00%

@github-actions github-actions Bot added the status:waiting for review This PR is ready to take the first or another look at it! label Jul 24, 2026
german77 and others added 2 commits August 4, 2026 11:31
Co-authored-by: GRAnimated <devin@nhscan.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

status:waiting for review This PR is ready to take the first or another look at it!

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant