/ScuffedWalls

A tool for making NE 2.0 beat saber maps.

Primary LanguageC#GNU General Public License v3.0GPL-3.0

ScuffedWalls

A command line tool for making Noodle Extensions 2.0 beat saber maps & modcharts.

This tool does not do the same thing as beatwalls.

Features:

  • Create custom events
  • Import/Combine map objects from other map files
  • Add noodle/chroma data to map objects
  • Work without code
  • 3d model converter
  • Image converter
  • Text converter

Usage:

  • Place the program in the map folder
  • Open the program
  • Input the number of the map file to write to (Will overwrite anything in this map file)
  • Write in the generated _ScuffedWalls.sw file.
  • Saving the _ScuffedWalls.sw file causes the program to write to the map files.

Get Started:

  • Intro and Setup video tutorial by #Rizthesnuggie2634 -> right here
  • Functions + Explanations -> here
  • 3d modeling for wall conversion -> here
  • TextToWall -> here

Rizthesnuggie's full intro documentation can be found here

Windows will probably bother you about this being malware. If you dont trust it, clone the repo and build it yourself.

If everything doesnt work and your in a country that uses , as the decimal symbol, changing regional settings is a common fix.

Example Maps

Try

Try

Try

Try

For Developers

To create a function,

  • clone the repo and navigate to ScuffedWalls -> Program -> Functions.
  • Create a new .cs file. All classes under the namespace ScuffedWalls.Functions that are decorated with the SFunction attribute will be populated as a function. The params string constructor is used to define the name or names of the function.
  • Your class must inherit from ScuffedFunction which contains an array of parameters, the InstanceWorkspace, the InstanceParser, the GetParam method, and the virtual method Run.
  • The starting point for your code must be in an override of the virtual method Run.
  • If you use a parameter without calling GetParam you must mark the parameter as used by setting WasUsed to true.
  • InstanceWorkspace contains the lists of mapobjects that are present in the workspace that the function was called from.