Skip to content

Held and thrown 3D objects render at the bottom-left #3

Description

@SplashDev88

Summary

Some New Super Mario Bros. objects that previously appeared to be missing are actually rendered near the bottom-left corner of the screen instead of at their correct world position.

This should be tracked separately from #1 because the geometry appears to exist and reach the renderer. The common incorrect position suggests a 3D transform, viewport, command-ordering, or frame-synchronization problem rather than simply a failed cartridge read.

Observed symptoms

  • When Mario picks up a shell, his holding animation plays but the shell is not in his hands. The shell can be seen near the bottom-left, partially off-screen.
  • When Fire Mario throws a fireball, the throw animation plays but the fireball appears near the bottom-left instead of spawning at Mario and following its normal path.

Required diagnostic

Capture the affected object from its first GX command through HPS publication and compare it with the melonDS oracle:

  • GX command sequence and packet/frame identifiers.
  • Current position, projection, and texture matrices.
  • Viewport and polygon attributes.
  • Submitted vertex coordinates.
  • FPGA producer and HPS consumer sequence numbers.
  • DS frame number and published 3D frame number.
  • The first state or command that differs from melonDS.

Determine whether the object uses a stale matrix, a command from the wrong frame, an incorrect viewport/coordinate conversion, or corrupted vertex data. Do not assume cartridge latency without confirming the cart transaction and object data.

Acceptance criteria

  • A held shell remains aligned with Mario throughout pickup, carrying, movement, and release.
  • Fireballs spawn at Mario, follow the correct path, and collide normally.
  • Repeated shell pickups and fireball throws do not place geometry at a screen corner.
  • Other 3D actors and map objects do not regress.

Related issue

Evidence

The supplied photo shows the misplaced object at the lower edge of the rendered screen while Mario is elsewhere in the scene. This supports treating the symptom as incorrect geometry positioning rather than a completely missing asset.

New Super Mario Bros. gameplay showing a misplaced object at the lower edge of the screen

Public-data safety

Do not attach or link to commercial ROMs, save files, BIOS/firmware dumps, or private data. A game title, region, revision, and game code are sufficient.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions