Skip to content

bsq-ports/NoodleExtensions

Repository files navigation

Noodle Extensions

A port of the Noodle Extensions mod made originally for the PC version of Beat Saber to the Oculus Quest platform.

1.40.8 To-Do

This list is not final and will continue to grow

  • Fix note jump animation (notes simply pop into existence rather than flying into view)
  • Fix notes being invisible on pretty much all modcharts. Perhaps notes that are on a track?
  • Fix audio being drowned out for seemingly no reason. Common in Doppelganger. Perhaps an issue with walls?
  • Fix notes looking towards (0, 0, 0). Maybe calculated in src/hooks/NoteJump.cpp
  • Fix start beat offset
  • Fix no badcut
  • Fix crashes when restarting a modchart
  • Fix crash when Replay tries to load a modchart replay
  • Remove wall adjustments. Not only do they look different, but they were first added to get around poorly acting distortion effects, which is a solved problem with GraphicsTweaks
  • Investigate jump distance / speed
  • Implement saber trail parenting to player track
  • Fix parenting inconsistencies (likely order based e.g "Make a Wish")
  • Fix obstacle spawn, duration and speed e.g Try This the arrows are in the lane before moved.
  • Fix obstacle rotation e.g flower in Try.
  • The texture on some scaled obstacles will bleed outside the obstacle
  • Obstacle dissolve apparently doesn't work above 1.37
  • Fix Chroma not overriding player's override environment and colors
  • Fix lighting

Dates are (year/month/day)

  • 1015 (25/12/23)
    • Crashes
    • 0:00 Obstacles are missing their frame outline
    • 1:35 Weird environment geometry under player (Also 1.37)
    • 1:51 Obstacle dissolve doesn't work
  • Analys (25/11/25)
    • 0:50 The obstacles next to the player may not be positioned correctly
    • 0:56 Track does not rotate smoothly
    • 1:34 Circle of arrows despawn or does not follow player (Also 1.37)
  • As the World Caves In (25/12/4)
    • [Awaiting analysis]
  • BSSDHUYR Megamix 2023 (25/12/23)
    • Crashes
    • Lighting is broken
    • 1:50 Unintentional hyper walls
    • 2:40 Floor obstacles don't move along the track
    • 3:20 Notes with base provider animated color are black (Also 1.37)
    • 5:12 The "2023" wall text doesn't appear in the mirror
    • 5:27 The "4" wall text doesn't glow the same as the rest of the wall text (Also 1.37)
  • Centipede (25/12/4)
    • So many notes missing
  • Change of Scene (25/12/4)
    • Player is slightly elevated above the track
    • 0:00 Title shows as CHANGE OF SCE--:
    • 1:49 Track doesn't follow player
    • [Awaiting analysis]
  • C18H27NO3 (Mawntee) (25/11/26)
    • [Awaiting analysis]
  • Disaster (25/12/4)
    • [Awaiting analysis]
  • Doppelganger (25/12/23)
    • Audio being drowned out
    • Obstacles are scaled weirdly
    • Exaggerated note movement
    • Note dissolve isn't removed
    • 1:23 Obstacle is positioned weirdly
    • 1:37 Obstacle scales while dissolving (currently just disabled)
    • 2:08 Obstacles are at the wrong Y position
    • 3:04 Obstacle timing issues
    • 3:04 Track teleports with no smoothing
  • Echo (25/12/4)
    • Environment cubes that make up the screen are missing
    • Environment cubes that make up the screen are slightly smaller than intended
    • Notes are being reflected in a mirror
    • Environment spike things are positioned incorrectly or missing
    • 2:20 Rotated tracks are missing
  • Glorious Octagon of Destiny (25/11/26)
    • 0:19 "VIVA" text comes in from top and bottom rather than spinning in from sides
    • 0:25 Obstacle field is missing (Also 1.37)
    • 0:39 Obstacles are missing
    • 0:47 Note arrows don't disappear on cut (Also 1.37)
    • 0:52 Unintentional hyper walls
    • 1:16 The two tracks are positioned on top of each other
    • 1:30 Unintentional fast walls
    • 1:44 Track doesn't rotate with player
    • 1:47 Wall text doesn't move
    • 2:46 Some walls are unintentionally hyper, some aren't
    • 3:05 Wall text is centered and doesn't scroll
    • 3:14 Notes are missing
    • 3:14 Obstacles are missing
    • 4:00 Many small white cubes float in the air
    • 4:10 Notes and Super Hexagon obstacles are missing
    • 4:31 "LEVEL FAILED" text is either further away or smaller than normal
    • 4:31 Funny wall in first quadrant of recording
    • 4:31 Notes are missing
    • 4:52 Wall text is missing
    • 5:21 Unintentional hyper walls
    • 5:21 The "printing" obstacle doesn't move
    • 5:33 Wall sign is far away
    • 5:33 Wall sign is difficult to see
    • 5:42 Notes are missing
    • 5:57 Wall arrows are on top of each other
    • 5:57 Wall arrows don't duplicate (Also 1.37)
    • 6:09 Wall arrows don't fully disappear (Also 1.37)
    • 6:26 Notes are positioned next to player
    • 6:51 Unintentional hyper walls in Papyrus section
    • 7:27 Wall text missing letters (Also 1.37)
  • Heliov (25/12/23)
    • Lighting is broken
    • Fog is missing
    • 0:00 Saber trail disappears and reappears several times
    • 3:53 This environment scene can't be seen at all
    • 4:12 Bottom part of environment seems cut off
    • 4:15 Clouds are missing
  • IGDWUTSWHWHMTC (QueenChief) (25/11/26)
  • Lucy, The God Of Time (25/12/23)
    • Some walls aren't glowy enough
  • Make a Wish (25/12/4)
    • 0:40 Unintentional hyper walls
  • Midnight Lady (25/12/4)
    • 0:46 Saxaphones have certain walls that rotate in opposite directions
    • [Awaiting analysis]
  • Noodle Animation Stuff (25/12/4)
    • [Awaiting analysis]
  • NULCTRL Meiso Flip (25/11/25)
    • All the white glowing walls are slightly transparent instead of solid white
    • 0:39 Walls are supposed to cover the wall text
    • 1:09 Arrows animation begins with max offset instead of slowly increasing offset
    • 1:18 Arrows are abnormally bright
    • 1:38 Note for later fixes: These walls don't have bleeding textures
  • Over Again (25/12/4)
    • [Awaiting analysis]
  • Paradigm (25/11/25)
    • Crashes
    • Lighting is broken
    • Fog is missing (but maybe a PC only feature?)
    • 1:16 Sabers appear to fly in from above instead of from the front
    • 4:37 Head follows the sabers
    • 6:49 Something is obscuring light rays below the horizon
  • PAUSE (25/11/25)
    • Notes are missing during the pause effect
    • 1:18 Unintentional hyper walls
  • Pictured as Perfect (25/12/4)
    • [Awaiting analysis]
  • Real or Lie (Pixelguy) (25/11/26)
  • Signager (26/11/25)
    • [Awaiting analysis]
  • Six Forty Seven (Reddek) (25/12/4)
    • All of the wall decorations are positioned very very wrong
    • [Awaiting analysis]
  • Six Forty Seven (SuperMemer417, nasafrasa) (25/11/26)
    • Environment pieces aren't being removed (Probably fixed, just needs a replay)
  • Takeoff (25/12/4)
    • Crashes
  • Try (25/12/4)
    • 0:00 Flower is messed up
    • [Awaiting analysis]
  • Try This (25/11/26)
    • Arrow walls disappear early
    • 0:31 Unintentional hyper wall
  • UUUUUUUUUUUUUUUUUUUUh (25/12/23)
    • 2:00 Platform isn't moved down
  • Up & Down (25/11/25)
    • Environment pieces aren't being removed
    • 1:00 Animated notes spawn in late
  • Up & Down (Remastered) (25/12/23)
    • Large column environment pieces are missing
    • 0:03 Track doesn't rotate with the player
    • 0:33 Decorative obstacles are missing
    • 0:33 Half the notes are missing
    • 1:05 Notes are missing
    • 1:05 Notes don't change color
    • 1:54 Tease notes are missing
  • Wavetapper (25/12/23)
    • White background is missing

Bonus 1.40.8 fixes / features

These would be nice to fix and implement, but were already broken / missing in 1.37 and therefore aren't required if I'm simply going for 1.37 parity.

  • Iirc saber animation was broken

FAQ (Frequently Asked Questions)

  • Why are the wall colors not the same as PC (desaturated, transparent etc.)?
    • Due to the Quest not having distortion on walls, Noodle Extensions will attempt to change the walls materials to solid if these conditions are met:
      • Wall color alpha (controlled by Chroma) is greater than or equal 0
      • Dissolve animation is being applied
  • Bombs are not coloring/are always black
    • A bug specific to Quest causes bombs to lose their color/default to black when dissolve animation is being applied. It is not certain if this bug will be fixed or worked around.
  • Why does Noodle Extensions disable my Qosmetics notes/walls?
    • Qosmetics notes/walls drastically reduce performance especially in Noodle maps and also ruin the artistic experience.
  • Why do you suggest disabling Mapping Extensions? It works fine for me
    • While it could work, we didn't extensively test the impact of performance or stability using Mapping Extensions. It's at your discretion if you choose to use Mapping Extensions simultaneously with Noodle.
    • While some maps do "require" both Noodle Extensions and Mapping Extensions, this is not a supported scenario in either PC or Quest and should be discouraged.
  • Where are Tracks/CustomJSONData QMod downloads?
    • Noodle Extensions and Chroma will download these dependencies automatically
  • Noodle Extensions isn't loading/working and PinkCore says I don't have the mod installed
    • Try to reinstall Noodle Extensions and update Chroma to at least version 2.5.7 or newer.
  • I found a map that doesn't work!!!!11!!11!/Noodle is missing a feature
    • You most likely downloaded the wrong map as most Noodle features are supported (no exceptions except the TODO)
    • In the case you are absolutely certain you found a bug/missing feature, report it in GitHub issues along with a log and steps to reproduce the issue. Footage of said map is also recommended being provided.

Building from Source

You'll need qpm_rust, Powershell, Ninja, and CMake in PATH.

You'll also need the latest Android NDK. Create a file called ndkpath.txt containing the path to the directly where you extracted the ndk to.

qpm-rust restore
qpm-rust cache legacy-fix
pwsh ./build.ps1
pwsh ./createqmod.ps1 noodle_extensions

What still needs to be done?

  • Left handed mode
  • Beatmap note/obstacle/bomb count (includes fakes)
  • Some maps such as Centipede by totally balloon have fake notes registered as real notes
  • Make Noodle only run on Noodle maps