From Sonic Retro

This page describes an obsolete hacking tool that should not be used for new hacks/projects or with new disassemblies/tools.
This page (and associated files) is being kept for historical purposes only, as it documents and archives the history of the Sonic scene.
SADXLVL2 from SA Tools is an improved successor to this program.
Category: Level editor
Version: 34.2
Status: Inactive
System: Microsoft Windows
Supported Games: Sonic Adventure DX: Director's Cut PC
Credits: MainMemory

SADXLVL is a tool for editing level layouts and other level-specific data in the PC version of Sonic Adventure DX: Director's Cut. It was written by MainMemory in Visual Basic .NET. It requires the .NET Framework 3.5 and the DirectX Runtimes to run.


  • Has (optional) automatic updates on startup.
  • Allows you to move and rotate level models.
  • Allows you to move many models at once by holding control while clicking.
  • Allows you to move death planes.
  • Allows you to import .vt files over a selected model.
  • Allows you to import new .nj files over a selected model.
  • Allows you to import new .obj files over a selected model.
  • Allows you to view a path file recorded with SADXPath.
  • Contains a material editor to edit the material data for models.
  • Contains SETedit to edit object layouts with SADXLVL's 3D view. Most of the information on that page applies here as well.
  • Contains a start position editor.
  • Contains an importer for autoloop paths.
  • Has support for levels in DLL files.
  • Uses customizable addresses and names in Addresses.ini

Version History

This is not complete as MainMemory didn't save a changelog anywhere except in a text file that was overwritten with each new version.


Updated 08/23/2012

  • Removed automatic updating and "Sonic Retro" splash screen.


  • Added a new error message so that people will stop bugging me about "Group with name "503C0" does not exist!" errors.


  • Added a new error message so that people will stop bugging me about "Group with name "503C0" does not exist!" errors.


  • Fixed: obj2nj reversed the order of colors (ARGB became BGRA).
  • Added: clicking on the color preview for diffuse or specular in the Material Editor displays the Microsoft color picker dialog. (Ported from SADXMDL)


  • Fixed out-of-range values for start position rotation.
  • Fixed material changes not showing up on instances.
  • Fixed material changes not saving for instanced models.
  • Fixed cam point 2 not showing up.
  • Fixed Copy button not copying all attributes of a camera.
  • Added file address display to SETedit and CAMedit, at request of Dude :P


  • Added mouse picking/moving for cameras.
  • Fixed title of CAMedit window.
  • Increased size of boxes for camera type, flags, pan speed, and priority.
  • Added "Import .nj" and "Import .obj" buttons to the Empty Models list.


  • Added more error info to landtable loading.
  • Fixed freespace finding.


  • Fixed negative rotations.
  • Added stack trace to NodeTable error message, now automatically copies message to clipboard.


  • Fixed INI parsing crash.
  • Rotation now uses the full 4 bytes.
  • Fixed NodeTable importing crash if nodetable has more entries than the current level.


Updated 12/04/2010

  • Fixed update check for non-English systems.


Updated 11/28/2010

  • Added more helpful error message to Nodetable import.
  • More correct .nj export.


Updated 09/26/2010

  • Fixed Degrees -> BAMS conversion when degrees >= 359.5.
  • Made invisible models always show up in white.
  • Added CAMedit.


Updated 09/13/2010

  • Added list of Empty Models, and an option to make any of them an instance of a selected model.
  • Forced all models to have 1,1,1 scale on saving, fixes Level clear function.
  • Added support for nodetable 1.5.
  • Fixed nodetable support.
  • Fixed flags not being reset for instances in nodetable import.


Updated 09/08/2010

  • Added diffuse transparency viewing for models with textures.
  • Fixed obj import adding every material in the mtl file to the model even if it's not used.
  • Added support for orbit cam in object editing mode.
  • Added support for loading models from files other than the exe. This will require you to copy sonic.exe.ini from the SADXLVL folder again.
  • Added models for Past objects, and some Station Square.
  • Added "Drop to ground" buttons for both objects and start points.
  • Added approximately 25% chance of Metal Sonic replacing Sonic on start points.


Updated 09/05/2010

  • Added vcolor saving to obj export.
  • Added diffuse transparency support to obj import/export.
  • Added texid saving to obj export.


Updated 09/05/2010

  • Fixed import after using Level clear function
  • Added nodetable import
  • Added diffuse material color display
  • Added texture list to material editor
  • Added vertex color support to obj import
  • Changed solid cube, sphere and cylinder objects to use models from SADX
  • Added orbit camera mode (press X)


Updated 08/25/2010

  • Doubled default SET object clip distance.
  • Added Object clip multiplier setting to the options. Increase it to see objects from farther away, at the cost of speed.
  • Fixed bug that caused crashes on some systems.


Updated 08/22/2010

  • Added mass .nj export to a folder with numbered files (0.nj, 1.nj etc).
  • Added mass .nj/.obj import from a folder with numbered files.
  • Added menu option to clear all model data from the level.
  • Fixed line drawing for SET objects.
  • Added clipping for SET objects. They will now only be drawn if they are within a specific distance from the camera, these values can be changed with SADXTweaker.
  • Added support for opening Sky Chase levels for SET editing (no level geometry). Copy from default INI to add them to the level list.
  • Added models for Sky Chase objects.
  • Added untested support for objf files to obj import.


Updated 08/13/2010

  • Fixed UVs for character start point models.
  • Improved mouse picking.
  • Added model for swinging spike ball.
  • Added rocket model to open rocket platform objects.
  • .obj export now exports only the level textures, instead of all the loaded textures.
  • Added option for .obj export to not export textures.
  • Exporting all to .obj will now also export animated models if they are visible.


Updated 08/05/2010

  • Fixed a bug with opening empty/nonexistent files in SETedit.
  • Added models for most objects in Twinkle Park, Chaos 2 and Perfect Chaos levels.
  • Added model for Froggy.
  • Fixed a bug in the default INI that made Emerald Coast 3 not load the correct textures. To fix this yourself, change the LevelID for the level to 0102.


Updated 07/28/2010

  • Loop Editor now has buttons that move the entire path.
  • Objects for Icecap and Windy Valley.
  • Start positions now save with everything else, instead of when the editor window is closed.
  • Material Editor now updates the level view immediately when something is changed.
  • Added Open From and Save As buttons to SETedit.
  • Made .nj export actually usable.
  • Added .obj import.


Updated 07/24/2010

  • Inactive editing windows will now become transparent.
  • Added much more information for Emerald Coast's objects, thanks to igorseabra4.
  • Most of Emerald Coast's objects now show models.
  • Added collision cube/sphere/cylinder viewing.
  • Removed "About" button from SETedit.
  • Added checkbox to switch SETedit from BAMS to degrees.
  • SETedit now creates new objects 20 units in front of the camera, instead of at 0,0,0.
  • Added display of debug names to SETedit.
  • Removed open/save dialogs from SETedit. Now SADXLVL tells it where the SET file is using the system path and the LevelID or SETName parameters for each level.


Updated 07/23/2010

  • More models for Emerald Coast, thanks to Dude.
  • Fixed a bug with keyboard camera control.
  • Reversed mouse camera controls.
  • Camera can be rotated by holding the middle mouse button.


Updated 07/23/2010

  • Fixed bug with loop saving.
  • Fixed bug with death area saving.
  • Fixed obj export.


Updated 07/22/2010

  • Loop editor can now import loops of any length.
  • Loop editor can now import/export rotation data as well.
  • Made selected loop use inverted color.
  • Added ability to move death areas with the mouse (press Z twice).


Updated 07/22/2010

  • Object List read from EXE file instead of INI files.
  • Some objects display using their models.
  • Now uses INI files with EXE-specific information instead of loading and saving EXEs directly (like SonED2).
  • Removed manual address entry for level geometry.
  • Automatically loads all textures for the level without prompting the user.
  • Displays character models at start points.
  • Now edits rotation for start points.
  • Loop editor added.
  • Increased rotation boxes in level editor to increment by 0x100.
  • Fixed bug with rotation boxes in level editor.
  • SETedit now displays rotation values in hex, instead of degrees.
  • Right click and drag to move models with the mouse.
  • Right click and drag with Ctrl held to rotate camera with the mouse.
  • .nj exporting added.
  • Fixed bug with importing nj files with VColors.
  • Added "Flip ZY-axis" and "Flip V coords" options for import/export.
  • Camera up/down changed to Shift+Up/Down.
  • Press Z to switch between Level and Object mouse modes.
  • Disabled Sonic Retro screen on startup.


Updated 06/25/2010

  • .nj importing fixed for instanced objects. Options to leave other instances untouched, repoint all instances or null the other instances.
  • .obj exporting now has option to not transform the vertices.
  • Redid some network/file IO stuff in the updater.
  • Fixed culling being reset to counter-clockwise when resizing.


Updated 06/23/2010

  • .nj importing no longer requires the model to be keyed to 0.
  • Added option to select a model by entering its SEG address (under File).


Updated 06/22/2010

  • Importing a .vt file no longer requires reloading the level.
  • .nj importing added, for EXE only. Uses same code and fsp file as SADXTweaker to find/create free space.
  • Run option added to File menu, allows you to play your game.
  • Show Animated option added to View menu.
  • Puyo Tools updated to 1.0.7.


Updated 06/01/2010

  • Added Texture Picker dialog
  • Added checkboxes for common flags to the level editor
  • Removed Use Position, Use Rotation checkboxes, SADXLVL will set the flags when saving
  • Added option to enable back-face culling by pressing the ; key
  • Added .vt export option
  • Added (incomplete) .obj export option, to save all visible or the selected models to an obj file for use in various 3d programs
  • Added more advanced view options: Visible, Invisible, All, Solid, Nonsolid, toggled by the dropdown menu under View or by pressing the B key
  • Added option to open new level from current file by pressing the F3 key
  • Added (non-animated) viewing of animated level objects


Updated 05/16/2010

  • P2 Path now saves properly.
  • Fixed a bug where start locations would render in wireframe if collision viewing was on.
  • Made nonexistant start locations uneditable (had no effect on saving).


Updated 05/14/2010

  • Added P2 Path editor
  • Added col flag editor


Updated 05/02/2010

  • Perfect texture coordinates.
  • Fixed loading of Adventure Fields.
  • Improved load time for Icecap 4.
  • SETedit now uses the full 12 bits for object type (supports up to 4096 different types in one level).
  • Added invalid version warning when an error occurs during loading, with an option to download the US crack version from my website.


Updated 03/27/2010

  • Added viewing of death zones.
  • Better texture coordinates.
  • Added support for Quads and Triangles.
  • Fixed Sand Hill loading.
  • 'T' key now allows you to cycle between all the starting positions in the level.
  • Added "Editors" menu.
  • Added option to hide the level editor.
  • Added strip/quad/triangle totals to Advanced Info in the editor window.
  • Increased Z-Buffer size to 24-bit.


Updated 03/25/2010

  • Fixed saving asking you to load another level.
  • Fixed start positions being highlighted when the last object in the list is highlighted.
  • Fixed saving start positions.
  • Fixed displaying of invisible models.
  • "Sonic Retro" screen will now appear in the middle of the SADXLVL window.


Updated 3/19/2010

  • Now allows you to open an EXE and a DLL file.
  • Now shows you the various starting positions for the characters.
  • New Start Position Editor (under View).
  • Now picks default DLL and PVM names based on the level you want to open.
  • Now loads the correct INI file in SETedit without needing to open a SET file first.
  • New "Help" menu.


Updated 01/30/2010

  • Objects have transparent borders, rather than blue ones.
  • Icecap 2/4 and Final Egg 2 will load now.


Updated 12/13/2009

  • Editor properly updates position fields based on the items you have selected.
  • Click-to-select fixed for items that use rotation and positioning.
  • Pressing Y with nothing selected no longer crashes.
  • Hedgehog Hammer no longer crashes.


Updated 12/11/2009

  • Fixed bug from v4.3 where clicking on empty space crashed the program.


Updated 12/11/2009

  • Hold "Ctrl" while clicking to select multiple models and move them at the same time.
  • The option to edit scaling has been removed, as it never worked right anyway.
  • Y and U can no longer be used to select models.


Updated 12/11/2009

  • readme.txt readded
  • *.dll filter option added to save dialog.
  • Path loading from SADXPath with F7 added.


Updated 12/10/2009

  • Path drawing added.


Updated 12/10/2009

  • DLL support added.


Updated 12/09/2009

  • Replaced RAR file with self-extracting installer.
  • Added Collision Sphere Calculation button.


Updated 12/08/2009

  • Automatic Updates


Download.svg Download SADXLVL
File: SADXLVL_v34.2.7z (346 kB) (info)
Current version: v34.2

Previous Versions

External Links